import * as plugins from '../plugins.js'; import type * as authInterfaces from '../data/auth.js'; import type { IGatewayClientDnsRecord, IGatewayClientContext, IGatewayClient, IGatewayClientDomain, IGatewayClientOwnership, IGatewayClientRouteSyncResult, IGatewayCapabilities, IWorkAppMailIdentity, IWorkAppMailIdentitySyncResult, IWorkAppMailInboundRoute, IWorkAppMailOwnership, IWorkAppRouteOwnership, IWorkAppRouteSyncResult, IWorkHosterDomain, } from '../data/workhoster.js'; import type { IDcRouterRouteConfig } from '../data/remoteingress.js'; export interface IReq_GetGatewayCapabilities extends plugins.typedrequestInterfaces.implementsTR< plugins.typedrequestInterfaces.ITypedRequest, IReq_GetGatewayCapabilities > { method: 'getGatewayCapabilities'; request: { identity?: authInterfaces.IIdentity; apiToken?: string; }; response: { capabilities: IGatewayCapabilities; }; } export interface IReq_GetGatewayClientContext extends plugins.typedrequestInterfaces.implementsTR< plugins.typedrequestInterfaces.ITypedRequest, IReq_GetGatewayClientContext > { method: 'getGatewayClientContext'; request: { identity?: authInterfaces.IIdentity; apiToken?: string; }; response: { context: IGatewayClientContext; capabilities: IGatewayCapabilities; }; } export interface IReq_ListGatewayClients extends plugins.typedrequestInterfaces.implementsTR< plugins.typedrequestInterfaces.ITypedRequest, IReq_ListGatewayClients > { method: 'listGatewayClients'; request: { identity: authInterfaces.IIdentity; }; response: { gatewayClients: IGatewayClient[]; }; } export interface IReq_CreateGatewayClient extends plugins.typedrequestInterfaces.implementsTR< plugins.typedrequestInterfaces.ITypedRequest, IReq_CreateGatewayClient > { method: 'createGatewayClient'; request: { identity: authInterfaces.IIdentity; id?: string; type: IGatewayClient['type']; name: string; description?: string; hostnamePatterns?: string[]; allowedRouteTargets?: IGatewayClient['allowedRouteTargets']; capabilities?: IGatewayClient['capabilities']; }; response: { success: boolean; gatewayClient?: IGatewayClient; message?: string; }; } export interface IReq_UpdateGatewayClient extends plugins.typedrequestInterfaces.implementsTR< plugins.typedrequestInterfaces.ITypedRequest, IReq_UpdateGatewayClient > { method: 'updateGatewayClient'; request: { identity: authInterfaces.IIdentity; id: string; name?: string; description?: string; hostnamePatterns?: string[]; allowedRouteTargets?: IGatewayClient['allowedRouteTargets']; capabilities?: IGatewayClient['capabilities']; enabled?: boolean; }; response: { success: boolean; gatewayClient?: IGatewayClient; message?: string; }; } export interface IReq_DeleteGatewayClient extends plugins.typedrequestInterfaces.implementsTR< plugins.typedrequestInterfaces.ITypedRequest, IReq_DeleteGatewayClient > { method: 'deleteGatewayClient'; request: { identity: authInterfaces.IIdentity; id: string; }; response: { success: boolean; message?: string; }; } export interface IReq_CreateGatewayClientToken extends plugins.typedrequestInterfaces.implementsTR< plugins.typedrequestInterfaces.ITypedRequest, IReq_CreateGatewayClientToken > { method: 'createGatewayClientToken'; request: { identity: authInterfaces.IIdentity; gatewayClientId: string; name?: string; expiresInDays?: number | null; }; response: { success: boolean; tokenId?: string; tokenValue?: string; message?: string; }; } export interface IReq_GetWorkHosterDomains extends plugins.typedrequestInterfaces.implementsTR< plugins.typedrequestInterfaces.ITypedRequest, IReq_GetWorkHosterDomains > { method: 'getWorkHosterDomains'; request: { identity?: authInterfaces.IIdentity; apiToken?: string; }; response: { domains: IWorkHosterDomain[]; }; } export interface IReq_GetGatewayClientDomains extends plugins.typedrequestInterfaces.implementsTR< plugins.typedrequestInterfaces.ITypedRequest, IReq_GetGatewayClientDomains > { method: 'getGatewayClientDomains'; request: { identity?: authInterfaces.IIdentity; apiToken?: string; gatewayClientId?: string; }; response: { domains: IGatewayClientDomain[]; }; } export interface IReq_GetGatewayClientDnsRecords extends plugins.typedrequestInterfaces.implementsTR< plugins.typedrequestInterfaces.ITypedRequest, IReq_GetGatewayClientDnsRecords > { method: 'getGatewayClientDnsRecords'; request: { identity?: authInterfaces.IIdentity; apiToken?: string; gatewayClientId?: string; }; response: { records: IGatewayClientDnsRecord[]; }; } export interface IReq_SyncWorkAppRoute extends plugins.typedrequestInterfaces.implementsTR< plugins.typedrequestInterfaces.ITypedRequest, IReq_SyncWorkAppRoute > { method: 'syncWorkAppRoute'; request: { identity?: authInterfaces.IIdentity; apiToken?: string; ownership: IWorkAppRouteOwnership; route?: IDcRouterRouteConfig; enabled?: boolean; delete?: boolean; }; response: IWorkAppRouteSyncResult; } export interface IReq_SyncGatewayClientRoute extends plugins.typedrequestInterfaces.implementsTR< plugins.typedrequestInterfaces.ITypedRequest, IReq_SyncGatewayClientRoute > { method: 'syncGatewayClientRoute'; request: { identity?: authInterfaces.IIdentity; apiToken?: string; ownership: IGatewayClientOwnership; route?: IDcRouterRouteConfig; enabled?: boolean; delete?: boolean; }; response: IGatewayClientRouteSyncResult; } export interface IReq_GetWorkAppMailIdentities extends plugins.typedrequestInterfaces.implementsTR< plugins.typedrequestInterfaces.ITypedRequest, IReq_GetWorkAppMailIdentities > { method: 'getWorkAppMailIdentities'; request: { identity?: authInterfaces.IIdentity; apiToken?: string; ownership?: Partial; }; response: { identities: IWorkAppMailIdentity[]; }; } export interface IReq_SyncWorkAppMailIdentity extends plugins.typedrequestInterfaces.implementsTR< plugins.typedrequestInterfaces.ITypedRequest, IReq_SyncWorkAppMailIdentity > { method: 'syncWorkAppMailIdentity'; request: { identity?: authInterfaces.IIdentity; apiToken?: string; ownership: IWorkAppMailOwnership; localPart: string; domain: string; displayName?: string; inbound?: IWorkAppMailInboundRoute; enabled?: boolean; smtpEnabled?: boolean; resetSmtpPassword?: boolean; delete?: boolean; }; response: IWorkAppMailIdentitySyncResult; }