rsocials-online/api/src/types.ts

58 lines
1.0 KiB
TypeScript

export interface SpaceConfig {
slug: string;
displayName: string;
primaryDomain: string;
fallbackDomain: string;
emailFrom: string;
infisicalSlug?: string;
postiz?: {
disableRegistration?: boolean;
emailFromName?: string;
};
}
export interface Instance {
id: string;
slug: string;
displayName: string;
primaryDomain: string;
fallbackDomain: string;
owner: string;
status: InstanceStatus;
composePath: string | null;
createdAt: string;
updatedAt: string;
}
export type InstanceStatus =
| "provisioning"
| "active"
| "suspended"
| "failed"
| "teardown"
| "destroyed";
export interface ProvisionRequest {
slug: string;
displayName: string;
primaryDomain?: string;
emailFrom?: string;
disableRegistration?: boolean;
}
export interface ProvisionLog {
id: number;
instanceId: string;
action: string;
detail: string | null;
createdAt: string;
}
export interface ResourceCheck {
totalMemMB: number;
availMemMB: number;
instanceCount: number;
canProvision: boolean;
reason?: string;
}