Files
dcrouter/ts_interfaces/requests/workhoster.ts
T
2026-04-29 16:29:38 +00:00

94 lines
2.5 KiB
TypeScript

import * as plugins from '../plugins.js';
import type * as authInterfaces from '../data/auth.js';
import type {
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_GetWorkHosterDomains extends plugins.typedrequestInterfaces.implementsTR<
plugins.typedrequestInterfaces.ITypedRequest,
IReq_GetWorkHosterDomains
> {
method: 'getWorkHosterDomains';
request: {
identity?: authInterfaces.IIdentity;
apiToken?: string;
};
response: {
domains: IWorkHosterDomain[];
};
}
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_GetWorkAppMailIdentities extends plugins.typedrequestInterfaces.implementsTR<
plugins.typedrequestInterfaces.ITypedRequest,
IReq_GetWorkAppMailIdentities
> {
method: 'getWorkAppMailIdentities';
request: {
identity?: authInterfaces.IIdentity;
apiToken?: string;
ownership?: Partial<IWorkAppMailOwnership>;
};
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;
}