UNPKG

ts-mailcow-api

Version:
60 lines (59 loc) 2.15 kB
import { ACLEditRequest, MailboxDeleteRequest, MailboxEditRequest, MailboxPostRequest, Mailbox, MailcowResponse, PushoverEditRequest, QuarantaineEditRequest, SpamScoreEditRequest } from '../types'; import MailcowClient from '../index'; /** * Interface for all Mailbox endpoints. */ export interface MailboxEndpoints { /** * Endpoint for creating a mailbox. * @param payload - The creation payload. */ create(payload: MailboxPostRequest): Promise<MailcowResponse>; /** * Endpoint for deleting a mailbox. * @param payload - The deletion payload. */ delete(payload: MailboxDeleteRequest): Promise<MailcowResponse>; /** * Endpoint for editing a mailbox. * @param payload */ edit(payload: MailboxEditRequest): Promise<MailcowResponse>; /** * Endpoint for getting a mailbox. * @param mailbox - The mailbox to get */ get(mailbox: 'all'): Promise<Mailbox[]>; get(mailbox: string): Promise<Mailbox[]>; /** * Endpoint for editing a mailbox's pushover settings. * @param payload - The edit payload. */ editPushover(payload: PushoverEditRequest): Promise<MailcowResponse>; /** * Endpoint for editing a mailbox's quarantine settings. * @param payload - The edit payload. */ editQuarantine(payload: QuarantaineEditRequest): Promise<MailcowResponse>; /** * Endpoint for editing a mailbox's spam score settings. * @param payload - The edit payload. */ editSpamScore(payload: SpamScoreEditRequest): Promise<MailcowResponse>; /** * Endpoint for editing a mailbox's ACL settings. * @param payload - The edit payload. */ editUserACL(payload: ACLEditRequest): Promise<MailcowResponse>; /** * Endpoint fot getting a mailbox's active sieve. * @param mailbox - The mailbox to get. */ getActiveUserSieve(mailbox: string): Promise<string[]>; } /** * Binder function between the MailcowClient class and the MailboxEndpoints * @param bind - The MailcowClient to bind. * @internal */ export declare function mailboxEndpoints(bind: MailcowClient): MailboxEndpoints;