@calljmp/cli
Version:
101 lines • 3.58 kB
TypeScript
export interface ProjectSettings {
user: {
session?: {
durationSecs?: number;
refreshThresholdSecs?: number;
};
auth?: {
email?: {
disableSafety?: boolean;
};
password?: {
enabled?: boolean;
minLength?: number;
maxLength?: number;
noRequireSymbols?: boolean;
noRequireNumbers?: boolean;
noRequireLetters?: boolean;
allowSequentialChars?: boolean;
allowRepeatedChars?: boolean;
};
apple?: {
enabled?: boolean;
};
google?: {
enabled?: boolean;
clientIds?: string[];
};
};
};
}
export interface ProjectWebSettings {
origins?: string[];
}
export interface Project {
id: number;
name: string;
description: string | null;
ownerId: number;
organizationId: number | null;
appleIosTeamId: string | null;
appleIosBundleId: string | null;
appleIosConnected: boolean;
googleAndroidPlayIntegrityResponsePubkey: string | null;
googleAndroidPlayIntegrityResponsePrivkey: string | null;
googleAndroidPlayIntegrityResponseKeys: string | null;
googleAndroidPlayIntegrityHasResponseKeys: boolean;
googleAndroidPackageName: string | null;
googleAndroidConnected: boolean;
webProjectId: string | null;
webSettings: ProjectWebSettings | null;
webConnected: boolean;
devApiToken: string | null;
devApiTokenExpiresAt: Date | null;
serviceUuid: string | null;
settings: ProjectSettings | null;
emailsVersion: number;
createdAt: Date;
updatedAt: Date;
deletedAt: Date | null;
datasetPartitionIndex: number | null;
}
export declare function jsonToProject(json: Record<string, any>): Project;
export declare function projectToJson(project: Project): {
id: number;
name: string;
description: string | null;
ownerId: number;
organizationId: number | null;
appleIosTeamId: string | null;
appleIosBundleId: string | null;
appleIosConnected: boolean;
googleAndroidPlayIntegrityResponsePubkey: string | null;
googleAndroidPlayIntegrityResponsePrivkey: string | null;
googleAndroidPlayIntegrityResponseKeys: string | null;
googleAndroidPlayIntegrityHasResponseKeys: boolean;
googleAndroidPackageName: string | null;
googleAndroidConnected: boolean;
webProjectId: string | null;
webSettings: {
origins: string[] | undefined;
} | null;
webConnected: boolean;
devApiToken: string | null;
devApiTokenExpiresAt: string | null;
serviceUuid: string | null;
emailsVersion: number;
settings: ProjectSettings | null;
createdAt: string;
updatedAt: string;
deletedAt: string | null;
datasetPartitionIndex: number | null;
};
export declare function sanitizeProjectName(name: string): string;
export declare function projectSettingsToJson(settings: ProjectSettings): ProjectSettings;
export declare function projectWebSettingsToJson(settings: ProjectWebSettings): {
origins: string[] | undefined;
};
export declare function jsonToProjectWebSettings(json: Record<string, any>): ProjectWebSettings;
export declare function jsonToProjectSettings(json: Record<string, any>): ProjectSettings;
export declare function mergeSettings<T extends Record<string, any>>(current: T | null, updates: Partial<T> | null): T | null;
//# sourceMappingURL=projects.d.ts.map