import { MyGlobal as app } from './globals'; import { FlclError, FlclLogger } from "fc-logger"; import axiosMiddleware from './axios'; import { DelhiveryAuthToken, DelhiveryOptions } from './types'; import { clientName, wareHouseId } from './constants'; export const setRequiredGlobals = (options?: DelhiveryOptions) => { try { const isDocker = options?.mode === 'docker'; const baseURL = isDocker ? "api-stage-starfleet.delhivery.com" : "api-starfleet.delhivery.com"; app.logger = options?.logger || new FlclLogger({ rootRequestId: options?.rootRequestId || '', requestId: options?.requestId || '' }); app.axios = axiosMiddleware; app.userName = options?.userName; app.password = options?.password; app.clientName = options?.clientName || clientName; app.wareHouseId = options?.wareHouseId || wareHouseId app.clientId = options?.clientId; app.clientSecrect = options?.clientSecrect; app.mode = options?.mode; app.isDocker = isDocker; app.config = options?.config; app.auth_url = `https://${baseURL}/auth/token`; app.create_package_url = `https://${baseURL}/package/batchGeneratePackages`; app.package_status_url = `https://${baseURL}/package/batchGeneratePackages/#PCK_ID#`; app.label_url = `https://${baseURL}/package/#WAYBILL_NO#/shipping-label`; app.invoice_url = `https://${baseURL}/package/#WAYBILL_NO#/invoice`; app.auth_letter_url = `https://${baseURL}/sf-generate-auth-letter/#WAYBILL_NO#`; app.tracking_url = `https://${baseURL}/package/auth-track/#WAYBILL_NO#`; } catch (e) { throw FlclError.create({ methodName: 'setRequiredGlobals', message: 'Somthing went wrong while setting globals' }) } } export const setAuthToken = ({ bearerToken, tokenExpiry, idToken }: DelhiveryAuthToken) => { app.idToken = idToken; app.bearerToken = bearerToken; }