2020-11-20 05:27:38 +00:00
|
|
|
const mixin = require("mixin-deep")
|
|
|
|
|
2021-02-27 02:48:35 +00:00
|
|
|
// Configuration is in the following block.
|
|
|
|
|
2020-11-20 05:27:38 +00:00
|
|
|
let constants = {
|
2021-02-27 02:48:35 +00:00
|
|
|
// The default user settings. Should be self-explanatory.
|
2020-08-31 13:22:16 +00:00
|
|
|
user_settings: {
|
|
|
|
instance: {
|
|
|
|
type: "string",
|
2020-09-23 11:45:02 +00:00
|
|
|
default: "https://second.cadence.moe"
|
2020-08-31 13:22:16 +00:00
|
|
|
},
|
|
|
|
save_history: {
|
|
|
|
type: "boolean",
|
|
|
|
default: false
|
2020-10-26 07:29:05 +00:00
|
|
|
},
|
|
|
|
local: {
|
|
|
|
type: "boolean",
|
|
|
|
default: false
|
2021-04-04 04:51:39 +00:00
|
|
|
},
|
|
|
|
quality: {
|
|
|
|
type: "integer",
|
|
|
|
default: 0
|
2020-08-31 13:22:16 +00:00
|
|
|
}
|
|
|
|
},
|
|
|
|
|
2021-02-27 02:48:35 +00:00
|
|
|
// Settings for the server to use internally.
|
2021-01-21 00:33:46 +00:00
|
|
|
server_setup: {
|
2021-02-27 02:48:35 +00:00
|
|
|
// The URL of the local NewLeaf instance, which is always used for subscription updates.
|
2021-01-21 00:33:46 +00:00
|
|
|
local_instance_origin: "http://localhost:3000"
|
|
|
|
},
|
|
|
|
|
2021-02-27 02:48:35 +00:00
|
|
|
// *** ***
|
|
|
|
// *** You shouldn't change anything below this point. ***
|
|
|
|
// *** ***
|
|
|
|
|
|
|
|
// Various caching timers.
|
2020-08-30 13:54:59 +00:00
|
|
|
caching: {
|
2020-09-23 11:45:02 +00:00
|
|
|
csrf_time: 4*60*60*1000,
|
|
|
|
seen_token_subscriptions_eligible: 40*60*60*1000,
|
|
|
|
subscriptions_refresh_loop_min: 5*60*1000,
|
2020-08-30 13:54:59 +00:00
|
|
|
},
|
|
|
|
|
2021-02-27 02:48:35 +00:00
|
|
|
// Pattern matching.
|
2020-08-30 13:54:59 +00:00
|
|
|
regex: {
|
|
|
|
ucid: "[A-Za-z0-9-_]+",
|
2021-02-03 07:49:21 +00:00
|
|
|
video_id: "[A-Za-z0-9-_]{11,}"
|
2020-10-02 12:32:22 +00:00
|
|
|
},
|
|
|
|
|
2021-02-27 02:48:35 +00:00
|
|
|
// State symbols.
|
2020-10-02 12:32:22 +00:00
|
|
|
symbols: {
|
|
|
|
refresher: {
|
|
|
|
ACTIVE: Symbol("ACTIVE"),
|
|
|
|
WAITING: Symbol("WAITING"),
|
|
|
|
EMPTY: Symbol("EMPTY")
|
|
|
|
}
|
2020-08-30 13:54:59 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-11-20 05:27:38 +00:00
|
|
|
try {
|
|
|
|
const overrides = require("../config/config.js")
|
|
|
|
constants = mixin(constants, overrides)
|
|
|
|
} catch (e) {
|
2021-04-04 04:51:39 +00:00
|
|
|
console.error("Missing config file /config/config.js\nDocumentation: https://git.sr.ht/~cadence/tube-docs/tree/main/item/docs")
|
|
|
|
process.exit(1)
|
2020-11-20 05:27:38 +00:00
|
|
|
}
|
|
|
|
|
2020-08-30 13:54:59 +00:00
|
|
|
module.exports = constants
|