added backup and email client

This commit is contained in:
2026-02-01 00:02:35 +01:00
parent ff857be01a
commit e4fdfbc95f
210 changed files with 24211 additions and 742 deletions
@@ -1,4 +1,4 @@
import { EmailExistsResult, EmailOperationResult } from './types.js';
import { EmailExistsResult, EmailOperationResult, MailEncryption } from './types.js';
export declare function getAllProviderConfigs(): Promise<{
id: number;
isActive: boolean;
@@ -13,6 +13,13 @@ export declare function getAllProviderConfigs(): Promise<{
passwordEncrypted: string | null;
domain: string;
defaultForwardEmail: string | null;
imapServer: string | null;
imapPort: number | null;
smtpServer: string | null;
smtpPort: number | null;
imapEncryption: import(".prisma/client").$Enums.MailEncryption;
smtpEncryption: import(".prisma/client").$Enums.MailEncryption;
allowSelfSignedCerts: boolean;
}[]>;
export declare function getProviderConfigById(id: number): Promise<{
id: number;
@@ -28,6 +35,13 @@ export declare function getProviderConfigById(id: number): Promise<{
passwordEncrypted: string | null;
domain: string;
defaultForwardEmail: string | null;
imapServer: string | null;
imapPort: number | null;
smtpServer: string | null;
smtpPort: number | null;
imapEncryption: import(".prisma/client").$Enums.MailEncryption;
smtpEncryption: import(".prisma/client").$Enums.MailEncryption;
allowSelfSignedCerts: boolean;
} | null>;
export declare function getDefaultProviderConfig(): Promise<{
id: number;
@@ -43,6 +57,13 @@ export declare function getDefaultProviderConfig(): Promise<{
passwordEncrypted: string | null;
domain: string;
defaultForwardEmail: string | null;
imapServer: string | null;
imapPort: number | null;
smtpServer: string | null;
smtpPort: number | null;
imapEncryption: import(".prisma/client").$Enums.MailEncryption;
smtpEncryption: import(".prisma/client").$Enums.MailEncryption;
allowSelfSignedCerts: boolean;
} | null>;
export declare function getActiveProviderConfig(): Promise<{
id: number;
@@ -58,6 +79,13 @@ export declare function getActiveProviderConfig(): Promise<{
passwordEncrypted: string | null;
domain: string;
defaultForwardEmail: string | null;
imapServer: string | null;
imapPort: number | null;
smtpServer: string | null;
smtpPort: number | null;
imapEncryption: import(".prisma/client").$Enums.MailEncryption;
smtpEncryption: import(".prisma/client").$Enums.MailEncryption;
allowSelfSignedCerts: boolean;
} | null>;
export interface CreateProviderConfigData {
name: string;
@@ -68,6 +96,9 @@ export interface CreateProviderConfigData {
password?: string;
domain: string;
defaultForwardEmail?: string;
imapEncryption?: MailEncryption;
smtpEncryption?: MailEncryption;
allowSelfSignedCerts?: boolean;
isActive?: boolean;
isDefault?: boolean;
}
@@ -85,6 +116,13 @@ export declare function createProviderConfig(data: CreateProviderConfigData): Pr
passwordEncrypted: string | null;
domain: string;
defaultForwardEmail: string | null;
imapServer: string | null;
imapPort: number | null;
smtpServer: string | null;
smtpPort: number | null;
imapEncryption: import(".prisma/client").$Enums.MailEncryption;
smtpEncryption: import(".prisma/client").$Enums.MailEncryption;
allowSelfSignedCerts: boolean;
}>;
export declare function updateProviderConfig(id: number, data: Partial<CreateProviderConfigData>): Promise<{
id: number;
@@ -100,6 +138,13 @@ export declare function updateProviderConfig(id: number, data: Partial<CreatePro
passwordEncrypted: string | null;
domain: string;
defaultForwardEmail: string | null;
imapServer: string | null;
imapPort: number | null;
smtpServer: string | null;
smtpPort: number | null;
imapEncryption: import(".prisma/client").$Enums.MailEncryption;
smtpEncryption: import(".prisma/client").$Enums.MailEncryption;
allowSelfSignedCerts: boolean;
}>;
export declare function deleteProviderConfig(id: number): Promise<{
id: number;
@@ -115,9 +160,32 @@ export declare function deleteProviderConfig(id: number): Promise<{
passwordEncrypted: string | null;
domain: string;
defaultForwardEmail: string | null;
imapServer: string | null;
imapPort: number | null;
smtpServer: string | null;
smtpPort: number | null;
imapEncryption: import(".prisma/client").$Enums.MailEncryption;
smtpEncryption: import(".prisma/client").$Enums.MailEncryption;
allowSelfSignedCerts: boolean;
}>;
export declare function checkEmailExists(localPart: string): Promise<EmailExistsResult>;
export declare function provisionEmail(localPart: string, customerEmail: string): Promise<EmailOperationResult>;
export declare function provisionEmailWithMailbox(localPart: string, customerEmail: string, password: string): Promise<EmailOperationResult & {
email?: string;
}>;
export declare function enableMailboxForExistingEmail(localPart: string, password: string): Promise<EmailOperationResult>;
export declare function updateMailboxPassword(localPart: string, password: string): Promise<EmailOperationResult>;
export interface ImapSmtpSettings {
imapServer: string;
imapPort: number;
imapEncryption: MailEncryption;
smtpServer: string;
smtpPort: number;
smtpEncryption: MailEncryption;
allowSelfSignedCerts: boolean;
domain: string;
}
export declare function getImapSmtpSettings(): Promise<ImapSmtpSettings | null>;
export declare function deprovisionEmail(localPart: string): Promise<EmailOperationResult>;
export declare function renameProvisionedEmail(oldLocalPart: string, newLocalPart: string): Promise<EmailOperationResult>;
export declare function getProviderDomain(): Promise<string | null>;