ts-mailcow-api
Version:
TypeScript wrapper for the mailcow API.
43 lines (42 loc) • 1.96 kB
TypeScript
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;