@vertikalx/vtx-backend-client
Version:
GraphQL API generated client for VTX
42 lines (28 loc) • 1.32 kB
text/typescript
import pjson from "../../package.json";
import { APICallHeaders, DEFAULT_APP_KEY_HEADER, DEFAULT_HEADERS, DEFAULT_SYSTEM_KEY_NAME_HEADER, DEFAULT_SYSTEM_KEY_VALUE_HEADER, DEFAULT_SYSTEM_USER_TOKEN_HEADER } from "./api-call-headers";
import { VTXBaseAPI } from "./vtx-base-api";
export class VTXWebServerAPI extends VTXBaseAPI{
constructor(systemKeyName:string, systemKeyValue:string, backendUrl?:string){
super(VTXWebServerAPI.getDefaultHeaders(systemKeyName, systemKeyValue), backendUrl);
if (VTXBaseAPI.isBrowser()){
throw new Error('VTXWebServerAPI should NOT be used in Browser');
}
}
public setUserToken(userToken:string|null){
if (userToken){
this.headers = {
[DEFAULT_SYSTEM_USER_TOKEN_HEADER]: userToken,
...this.headers
}
}else{
delete this.headers[DEFAULT_SYSTEM_USER_TOKEN_HEADER];
}
}
public static getDefaultHeaders(systemKeyName:string, systemKeyValue:string):APICallHeaders{
return {
[DEFAULT_SYSTEM_KEY_NAME_HEADER]: systemKeyName,
[DEFAULT_SYSTEM_KEY_VALUE_HEADER]: systemKeyValue,
...DEFAULT_HEADERS
}
}
}