Kinvey/js-sdk

View on GitHub
packages/js-sdk/src/kinvey.ts

Summary

Maintainability
A
0 mins
Test Coverage
import { isNumber } from 'lodash-es';
import { getConfig, ConfigKey } from './config';

export interface KinveyConfig {
  appKey: string;
  appSecret: string;
  masterSecret?: string;
  appVersion?: string;
  instanceId?: string;
  defaultTimeout?: number;
  encryptionKey?: string;
  apiVersion?: number;
}

export function getAppKey() {
  const config = getConfig<KinveyConfig>(ConfigKey.KinveyConfig);
  return config.appKey;
}

export function getAppSecret() {
  const config = getConfig<KinveyConfig>(ConfigKey.KinveyConfig);
  return config.appSecret;
}

export function getMasterSecret() {
  const config = getConfig<KinveyConfig>(ConfigKey.KinveyConfig);
  return config.masterSecret;
}

export function getInstanceId() {
  const config = getConfig<KinveyConfig>(ConfigKey.KinveyConfig);
  return config.instanceId;
}

export function getBaasProtocol() {
  return 'https:';
}

export function getBaasHost() {
  const instanceId = getInstanceId();

  if (instanceId) {
    return `${instanceId}-baas.kinvey.com`;
  }

  return 'baas.kinvey.com';
}

export function getAuthProtocol() {
  return 'https:';
}

export function getAuthHost() {
  const instanceId = getInstanceId();

  if (instanceId) {
    return `${instanceId}-auth.kinvey.com`;
  }

  return 'auth.kinvey.com';
}

export function getDefaultTimeout() {
  const config = getConfig<KinveyConfig>(ConfigKey.KinveyConfig);
  if (isNumber(config.defaultTimeout)) {
    return config.defaultTimeout;
  }
  return 60000; // 1 minute
}

export function getEncryptionKey() {
  const config = getConfig<KinveyConfig>(ConfigKey.KinveyConfig);
  return config.encryptionKey;
}

export function getApiVersion(): number {
  const config = getConfig<KinveyConfig>(ConfigKey.KinveyConfig);
  if (isNumber(config.apiVersion) && config.apiVersion >= 3) {
    return config.apiVersion;
  }
  return 6;
}