UNPKG

ts-mailcow-api

Version:
179 lines (178 loc) 5.47 kB
/** * @module MailcowClient */ import { AxiosRequestConfig } from 'axios'; import { DomainEndpoints } from './endpoints/domain-endpoints'; import { AntiSpamEndpoints } from './endpoints/antispam-endpoints'; import { MailboxEndpoints } from './endpoints/mailbox-endpoint'; import RequestFactory from './request-factory'; import { AliasEndpoints } from './endpoints/alias-endpoints'; import { SyncjobEndpoints } from './endpoints/syncjob-endpoints'; import { ForwardingEndpoints } from './endpoints/forwarding-endpoints'; import { LogEndpoints } from './endpoints/log-endpoints'; import { AdressRewritingEndpoints } from './endpoints/address-rewriting-endpoint'; import { Fail2BanEndpoints } from './endpoints/fail2ban-endpoints'; import { StatusEndpoints } from './endpoints/status-endpoints'; import { ResourceEndpoints } from './endpoints/resource-endpoints'; import { QueueManagerEndpoints } from './endpoints/queue-manager-endpoints'; import { QuarantineEndpoints } from './endpoints/quarantine-endpoints'; import { RatelimitsEndpoints } from './endpoints/ratelimit-endpoints'; import { OAuth2Endpoints } from './endpoints/oauth2-endpoints'; import { AppPasswordEndpoints } from './endpoints/app-password-endpoints'; import { TlsPolicyMapEndpoints } from './endpoints/tls-policy-map-endpoints'; import { DkimEndpoints } from './endpoints/dkim-endpoints'; import { DomainAdminEndpoints } from './endpoints/domain-admin-endpoints'; import { RoutingEndpoints } from './endpoints/routing-endpoints'; /** * Class containing all the logic to interface with the Mailcow API in TypeScript. * @external */ declare class MailcowClient { /** * The base URL of the Mailcow API. * @internal */ readonly BASE_URL: string; /** * The API key of the Mailcow API. * @internal */ readonly API_KEY: string; /** * The request config used for every request. * @internal */ AXIOS_CONFIG: AxiosRequestConfig; /** * Creates a MailcowClient using the given URL and API key. * @param BASE_URL - The base URL of the Mailcow API. * @param API_KEY - The API key of the Mailcow API. * @param EXTRA_AXIOS_CONFIG - Allows for setting extra Axios request config such as keep alive. */ constructor(BASE_URL: string, API_KEY: string, EXTRA_AXIOS_CONFIG?: AxiosRequestConfig); /** * Factory method pattern for creating HTTP requests. * @internal */ requestFactory: RequestFactory; /** * All endpoints related to Aliases. * See {@link AliasEndpoints} */ aliases: AliasEndpoints; /** * All endpoints related to Domains. * See {@link DomainEndpoints} * @external */ domains: DomainEndpoints; /** * All endpoints related to spam policies. * See {@link AntiSpamEndpoints} * @external */ spamPolicy: AntiSpamEndpoints; /** * All endpoints related to mailboxes. * See {@link MailboxEndpoints} * @external */ mailbox: MailboxEndpoints; /** * All endpoints related to sync jobs. * See {@link SyncjobEndpoints} * @external */ syncjobs: SyncjobEndpoints; /** * All endpoints related to forwarding hosts. * See {@link ForwardingEndpoints} * @external */ forwardingHosts: ForwardingEndpoints; /** * All endpoints related to address rewriting. * See {@link AdressRewritingEndpoints} * @external */ addressRewriting: AdressRewritingEndpoints; /** * All endpoints related to logs. * See {@link LogEndpoints} * @external */ logs: LogEndpoints; /** * All endpoints related to fail2ban. * See {@link Fail2BanEndpoints} * @external */ fail2Ban: Fail2BanEndpoints; /** * All endpoints related to status. * See {@link StatusEndpoints} * @external */ status: StatusEndpoints; /** * All endpoints related to resources. * See {@link ResourceEndpoints} * @external */ resources: ResourceEndpoints; /** * All endpoints related to the mail queue. * See {@link QueueManagerEndpoints} * @external */ queueManager: QueueManagerEndpoints; /** * All endpoints related to quarantine. * See {@link QuarantineEndpoints} * @external */ quarantine: QuarantineEndpoints; /** * All endpoints related to rate limits. * See {@link RatelimitsEndpoints} * @external */ ratelimits: RatelimitsEndpoints; /** * All endpoints related to OAuth2 clients. * See {@link OAuth2Endpoints} * @external */ oauth2: OAuth2Endpoints; /** * All endpoints related to app passwords. * See {@link AppPasswordEndpoints} * @external */ appPasswords: AppPasswordEndpoints; /** * All endpoints related to TLS Policy Maps. * See {@link TlsPolicyMapEndpoints} * @external */ tlsPolicyMaps: TlsPolicyMapEndpoints; /** * All endpoints related to DKIM. * See {@link DkimEndpoints} * @external */ dkim: DkimEndpoints; /** * All endpoints related to Domain Admins. * See {@link DomainAdminEndpoints} * @external */ domainAdmins: DomainAdminEndpoints; /** * All endpoints related to Routing. * See {@link RoutingEndpoints} * @external */ routing: RoutingEndpoints; } export default MailcowClient;