Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | 5x 15x 55x 15x 121x 5x 5x 5x 17x 17x 5x 5x 5x 24x 24x 5x 5x 5x 14x 37x 37x 37x 37x 37x 37x | import { getConfigStore, getSecretStore } from './utils/getStore'
export type IntegrationEnv = {
AGENT_SCRIPT_DOWNLOAD_PATH: string | null
GET_RESULT_PATH: string | null
PROXY_SECRET: string | null
}
const Defaults: IntegrationEnv = {
AGENT_SCRIPT_DOWNLOAD_PATH: 'agent',
GET_RESULT_PATH: 'result',
PROXY_SECRET: null,
}
function getVarOrDefault(
variable: keyof IntegrationEnv,
defaults: IntegrationEnv
): (env: IntegrationEnv) => string | null {
return function (env: IntegrationEnv): string | null {
return env[variable] ?? defaults[variable]
}
}
function isVarSet(variable: keyof IntegrationEnv): (env: IntegrationEnv) => boolean {
return function (env: IntegrationEnv): boolean {
return Boolean(env[variable]?.trim())
}
}
export const agentScriptDownloadPathVarName = 'AGENT_SCRIPT_DOWNLOAD_PATH'
const getAgentPathVar = getVarOrDefault(agentScriptDownloadPathVarName, Defaults)
export const isScriptDownloadPathSet = isVarSet(agentScriptDownloadPathVarName)
export function getScriptDownloadPath(env: IntegrationEnv): string {
const agentPathVar = getAgentPathVar(env)
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions -- Value is guaranteed non-null
return `/${agentPathVar}`
}
export const getResultPathVarName = 'GET_RESULT_PATH'
const getGetResultPathVar = getVarOrDefault(getResultPathVarName, Defaults)
export const isGetResultPathSet = isVarSet(getResultPathVarName)
export function getGetResultPath(env: IntegrationEnv): string {
const getResultPathVar = getGetResultPathVar(env)
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions -- Value is guaranteed non-null
return `/${getResultPathVar}(/.*)?`
}
export const proxySecretVarName = 'PROXY_SECRET'
const getProxySecretVar = getVarOrDefault(proxySecretVarName, Defaults)
export const isProxySecretSet = isVarSet(proxySecretVarName)
export function getProxySecret(env: IntegrationEnv): string | null {
return getProxySecretVar(env)
}
export function getStatusPagePath(): string {
return `/status`
}
export async function getEnvObject(): Promise<IntegrationEnv> {
let configStore
try {
configStore = getConfigStore()
} catch (e) {
console.error(e)
}
let secretStore
try {
secretStore = getSecretStore()
} catch (e) {
console.error(e)
}
return {
AGENT_SCRIPT_DOWNLOAD_PATH: configStore?.get(agentScriptDownloadPathVarName) ?? null,
GET_RESULT_PATH: configStore?.get(getResultPathVarName) ?? null,
PROXY_SECRET: (await secretStore?.get(proxySecretVarName))?.plaintext() ?? null,
}
}
|