refactor: constants and helpers

This commit is contained in:
Ben Allfree 2023-10-18 23:35:40 -07:00
parent a6ad194827
commit 1b749a621b
2 changed files with 29 additions and 16 deletions

View File

@ -10,11 +10,12 @@ dotenv.config({ path: `../../.env` })
*/
export const PUBLIC_HTTP_PROTOCOL = env('PUBLIC_HTTP_PROTOCOL', 'https')
export const PUBLIC_APP_DOMAIN = env('PUBLIC_APP_DOMAIN', `app.pockethost.io`)
export const PUBLIC_BLOG_DOMAIN = env('PUBLIC_BLOG_DOMAIN', `pockethost.io`)
export const PUBLIC_APP_SUBDOMAIN = env('PUBLIC_APP_SUBDOMAIN', `app`)
export const PUBLIC_BLOG_SUBDOMAIN = env('PUBLIC_BLOG_DOMAIN', ``)
export const PUBLIC_APEX_DOMAIN = env('PUBLIC_APEX_DOMAIN', `pockethost.lvh.me`)
export const PUBLIC_EDGE_APEX_DOMAIN = env(
'PUBLIC_EDGE_APEX_DOMAIN',
`pockethost.io`,
`pockethost.lvh.me`,
)
export const PUBLIC_MOTHERSHIP_NAME = env(
'PUBLIC_MOTHERSHIP_NAME',
@ -22,6 +23,18 @@ export const PUBLIC_MOTHERSHIP_NAME = env(
)
export const PUBLIC_DEBUG = envb('PUBLIC_DEBUG', false)
export const mkFqDomain = (subdomain: string) =>
`${subdomain ? `${subdomain}.` : ''}${PUBLIC_APEX_DOMAIN}`
export const mkUrl = (subdomain: string, path = '') =>
`${PUBLIC_HTTP_PROTOCOL}://${mkFqDomain(subdomain)}${path}`
export const mkAppUrl = (path = '') => mkUrl(PUBLIC_APP_SUBDOMAIN, path)
export const mkBlogUrl = (path = '') => mkUrl(PUBLIC_BLOG_SUBDOMAIN, path)
export const mkDocUrl = (path = '') => mkBlogUrl(join('docs', path))
export const mkEdgeSubdomain = (subdomain: string) =>
mkFqDomain(`${subdomain}.${PUBLIC_EDGE_APEX_DOMAIN}`)
export const mkEdgeUrl = (subdomain: string, path = '') =>
mkUrl(mkEdgeSubdomain(subdomain), path)
// Derived
export const MOTHERSHIP_URL = `${PUBLIC_HTTP_PROTOCOL}://${PUBLIC_MOTHERSHIP_NAME}.${PUBLIC_EDGE_APEX_DOMAIN}`
@ -73,9 +86,9 @@ export const DOCKER_ARCH = env('DOCKER_ARCH', 'arm64')
console.log({
PUBLIC_HTTP_PROTOCOL,
PUBLIC_APP_DOMAIN,
PUBLIC_APP_SUBDOMAIN,
PUBLIC_MOTHERSHIP_NAME,
PUBLIC_BLOG_DOMAIN,
PUBLIC_BLOG_SUBDOMAIN,
PUBLIC_DEBUG,
PUBLIC_EDGE_APEX_DOMAIN,
DAEMON_PB_USERNAME,

View File

@ -1,24 +1,24 @@
import {
DAEMON_PB_IDLE_TTL,
PUBLIC_APP_DOMAIN,
PUBLIC_HTTP_PROTOCOL,
mkAppUrl,
mkDocUrl,
PUBLIC_MOTHERSHIP_NAME,
} from '$constants'
import { clientService, proxyService } from '$services'
import { mkInternalUrl, now } from '$util'
import {
assertTruthy,
CLEANUP_PRIORITY_LAST,
createCleanupManager,
createTimerManager,
InstanceFields,
InstanceId,
InstanceStatus,
SingletonBaseConfig,
StreamNames,
assertTruthy,
createCleanupManager,
createTimerManager,
mkSingleton,
safeCatch,
serialAsyncExecutionGuard,
SingletonBaseConfig,
StreamNames,
} from '@pockethost/common'
import { map, values } from '@s-libs/micro-dash'
import Bottleneck from 'bottleneck'
@ -468,7 +468,9 @@ export const instanceService = mkSingleton(
dbg(`Checking for maintenance mode`)
if (instance.maintenance) {
throw new Error(
`This instance is in Maintenance Mode. See https://pockethost.io/docs/usage/maintenance for more information.`,
`This instance is in Maintenance Mode. See ${mkDocUrl(
`/usage/maintenance`,
)} for more information.`,
)
}
@ -477,9 +479,7 @@ export const instanceService = mkSingleton(
*/
dbg(`Checking for verified account`)
if (!owner?.verified) {
throw new Error(
`Log in at ${PUBLIC_HTTP_PROTOCOL}://${PUBLIC_APP_DOMAIN} to verify your account.`,
)
throw new Error(`Log in at ${mkAppUrl()}} to verify your account.`)
}
const api = await getInstanceApi(instance)