@affinidi-tdk/common
Version:
Affinidi TDK Common library with shared utils
68 lines (58 loc) • 1.94 kB
text/typescript
export enum Environment {
LOCAL = 'local',
DEVELOPMENT = 'dev',
PRODUCTION = 'prod',
}
const DEFAULT_REGION = 'ap-southeast-1'
const envToApiGwUrl = {
[]: 'https://apse1.dev.api.affinidi.io',
[]: 'https://apse1.dev.api.affinidi.io',
[]: 'https://apse1.api.affinidi.io',
}
const envToElementsAuthTokenUrl = {
[]:
'https://apse1.dev.auth.developer.affinidi.io/auth/oauth2/token',
[]:
'https://apse1.dev.auth.developer.affinidi.io/auth/oauth2/token',
[]:
'https://apse1.auth.developer.affinidi.io/auth/oauth2/token',
}
const envToIotUrl = {
[]: 'a3sq1vuw0cw9an-ats.iot.ap-southeast-1.amazonaws.com',
[]:
'a3sq1vuw0cw9an-ats.iot.ap-southeast-1.amazonaws.com',
[]:
'a13pfgsvt8xhx-ats.iot.ap-southeast-1.amazonaws.com',
}
export class EnvironmentUtils {
static fetchEnvironment(): Environment {
try {
if (typeof process !== 'undefined' && process.env) {
const backendEnv = process.env.AFFINIDI_TDK_ENVIRONMENT
if (backendEnv) {
return backendEnv as Environment
}
const nextPublicEnv = process.env.NEXT_PUBLIC_AFFINIDI_TDK_ENVIRONMENT
if (nextPublicEnv) {
return nextPublicEnv as Environment
}
}
} catch (error) {}
return Environment.PRODUCTION
}
static fetchApiGwUrl(env?: Environment): string {
env ??= this.fetchEnvironment()
return `${envToApiGwUrl[env]}`
}
static fetchElementsAuthTokenUrl(env?: Environment): string {
env ??= this.fetchEnvironment()
return `${envToElementsAuthTokenUrl[env]}`
}
static fetchRegion(): string {
return DEFAULT_REGION
}
static fetchIotUrl(env?: Environment): string {
env ??= this.fetchEnvironment()
return `${envToIotUrl[env]}`
}
}