UNPKG

@explorins/pers-sdk

Version:

Platform-agnostic SDK for PERS (Phygital Experience Rewards System)

39 lines (31 loc) 1.07 kB
/** * PERS SDK Configuration interfaces */ import { AuthProvider } from './auth/auth-provider.interface'; export type PersEnvironment = 'development' | 'staging' | 'production'; export type PersApiVersion = 'v1' | 'v1.8' | 'v1.9' | 'v2'; export interface PersConfig { environment: PersEnvironment; apiProjectKey: string; apiVersion?: PersApiVersion; timeout?: number; retries?: number; authProvider?: AuthProvider; // Internal - constructed automatically readonly apiRoot?: string; } export interface PersAuthConfig { type: 'firebase' | 'jwt' | 'none'; tokenProvider?: () => Promise<string | null>; } /** * Internal function to construct API root from environment */ export function buildApiRoot(environment: PersEnvironment, version: PersApiVersion = 'v2'): string { const baseUrls = { development: 'https://explorins-loyalty.ngrok.io', staging: `https://dev.api.pers.ninja/${version}`, production: `https://dev.api.pers.ninja/${version}` }; return `${baseUrls[environment]}`; }