Project

General

Profile

Feature #10306 » tenant.types.ts

Thirupathirao Uppu, 08/10/2026 11:35 AM

 
/**
* White-label tenant configuration types.
* Source of truth lives in tenants/<id>/config.json and is validated by scripts/switch-tenant.js.
*/

export type TenantBrandColors = {
primary: string;
primaryLight: string;
primaryDark: string;
secondary: string;
accent: string;
accentLight: string;
onSecondary: string;
tabActive: string;
};

export type TenantApiConfig = {
baseUrl: string;
socketUrl: string;
timeoutMs: number;
};

export type TenantFeatures = {
liveChat: boolean;
fieldStaffNav: boolean;
networkLogger: boolean;
multiLanguage: boolean;
};

export type TenantNotifications = {
androidChannelId: string;
androidChannelName: string;
defaultTitle: string;
};

export type TenantPermissionsCopy = {
locationAlways: string;
locationWhenInUse: string;
camera: string;
photoLibrary: string;
photoLibraryAdd: string;
};

export type TenantConfig = {
tenantId: string;
appName: string;
displayName: string;
bundleId: {
ios: string;
android: string;
};
slug: string;
companyLegalName: string;
supportEmail: string;
supportPhone: string;
api: TenantApiConfig;
brand: TenantBrandColors;
features: TenantFeatures;
notifications: TenantNotifications;
assets: {
logo: string;
logoAlt: string;
};
native: {
androidGoogleServices: string;
iosGoogleServices: string;
};
permissionsCopy: TenantPermissionsCopy;
};

export type GeneratedTenantModule = {
/** ISO timestamp when switch-tenant last ran */
generatedAt: string;
/** Active tenant folder name */
activeTenantId: string;
config: TenantConfig;
};
(5-5/5)