UNPKG

ts-mailcow-api

Version:
43 lines (42 loc) 1.96 kB
import { CreateDomainAdminRequest, DeleteDomainAdminRequest, DomainAdmin, EditDomainAdminRequest, IssueDomainAdminSsoTokenRequest, MailcowResponse } from '../types'; import MailcowClient from '../index'; /** * Interface for all Domain Admin endpoints related to Mailcow. */ export interface DomainAdminEndpoints { /** * Creates a new Domain Admin user. * @param payload - Object containing details to create a new Domain Admin. * @returns A promise that resolves to a response indicating success or failure. */ create(payload: CreateDomainAdminRequest): Promise<MailcowResponse>; /** * Issues a Single Sign-On token for a Domain Admin user. * @param payload - Object containing the username for which to issue the SSO token. * @returns A promise that resolves to a response containing the issued SSO token. */ issueSsoToken(payload: IssueDomainAdminSsoTokenRequest): Promise<MailcowResponse>; /** * Edits an existing Domain Admin user. * @param payload - Object containing the username and attributes to edit. * @returns A promise that resolves to a response indicating success or failure. */ edit(payload: EditDomainAdminRequest): Promise<MailcowResponse>; /** * Deletes specified Domain Admin users. * @param payload - Object containing list of usernames to delete. * @returns A promise that resolves to a response indicating success or failure. */ delete(payload: DeleteDomainAdminRequest): Promise<MailcowResponse>; /** * Retrieves all Domain Admin users. * @returns A promise that resolves to an array of `DomainAdmin` objects. */ get(id: 'all'): Promise<DomainAdmin[]>; } /** * Binder function between the MailcowClient class and the DomainAdminEndpoints. * @param bind - The MailcowClient instance to bind. * @internal */ export declare function domainAdminEndpoints(bind: MailcowClient): DomainAdminEndpoints;