57 lines
1.1 KiB
TypeScript
57 lines
1.1 KiB
TypeScript
import type { IDomain } from './domain.js';
|
|
|
|
export interface IGatewayCapabilities {
|
|
routes: {
|
|
read: boolean;
|
|
write: boolean;
|
|
idempotentSync: boolean;
|
|
};
|
|
domains: {
|
|
read: boolean;
|
|
write: boolean;
|
|
};
|
|
certificates: {
|
|
read: boolean;
|
|
export: boolean;
|
|
forceRenew: boolean;
|
|
};
|
|
email: {
|
|
domains: boolean;
|
|
inbound: boolean;
|
|
outbound: boolean;
|
|
};
|
|
remoteIngress: {
|
|
enabled: boolean;
|
|
};
|
|
dns: {
|
|
authoritative: boolean;
|
|
providerManaged: boolean;
|
|
};
|
|
http3: {
|
|
enabled: boolean;
|
|
};
|
|
}
|
|
|
|
export interface IWorkHosterDomain extends IDomain {
|
|
capabilities: {
|
|
canCreateSubdomains: boolean;
|
|
canManageDnsRecords: boolean;
|
|
canIssueCertificates: boolean;
|
|
canHostEmail: boolean;
|
|
};
|
|
}
|
|
|
|
export interface IWorkAppRouteOwnership {
|
|
workHosterType: 'onebox' | 'cloudly' | 'custom';
|
|
workHosterId: string;
|
|
workAppId: string;
|
|
hostname: string;
|
|
}
|
|
|
|
export interface IWorkAppRouteSyncResult {
|
|
success: boolean;
|
|
action?: 'created' | 'updated' | 'deleted' | 'unchanged';
|
|
routeId?: string;
|
|
message?: string;
|
|
}
|