Documentation
¶
Index ¶
- func MigrateDB(dbConfig *config.MailstackDatabaseConfig, mailstackDB *gorm.DB) error
- func NewEmailAttachmentRepository(db *gorm.DB, storageService interfaces.StorageService) interfaces.EmailAttachmentRepository
- func NewEmailRepository(db *gorm.DB) interfaces.EmailRepository
- func NewEmailThreadRepository(db *gorm.DB) interfaces.EmailThreadRepository
- func NewMailboxRepository(db *gorm.DB) interfaces.MailboxRepository
- func NewMailboxSyncRepository(db *gorm.DB) interfaces.MailboxSyncRepository
- func NewOrphanEmailRepository(db *gorm.DB) interfaces.OrphanEmailRepository
- type DomainRepository
- type Repositories
- type TenantSettingsMailboxRepository
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func MigrateDB ¶
func MigrateDB(dbConfig *config.MailstackDatabaseConfig, mailstackDB *gorm.DB) error
func NewEmailAttachmentRepository ¶
func NewEmailAttachmentRepository(db *gorm.DB, storageService interfaces.StorageService) interfaces.EmailAttachmentRepository
func NewEmailRepository ¶
func NewEmailRepository(db *gorm.DB) interfaces.EmailRepository
func NewEmailThreadRepository ¶ added in v0.0.3
func NewEmailThreadRepository(db *gorm.DB) interfaces.EmailThreadRepository
NewEmailThreadRepository creates a new email thread repository
func NewMailboxRepository ¶
func NewMailboxRepository(db *gorm.DB) interfaces.MailboxRepository
func NewMailboxSyncRepository ¶
func NewMailboxSyncRepository(db *gorm.DB) interfaces.MailboxSyncRepository
func NewOrphanEmailRepository ¶ added in v0.0.3
func NewOrphanEmailRepository(db *gorm.DB) interfaces.OrphanEmailRepository
NewOrphanEmailRepository creates a new orphan email repository
Types ¶
type DomainRepository ¶ added in v0.0.3
type DomainRepository interface {
RegisterDomain(ctx context.Context, tenant, domain string) (*models.MailStackDomain, error)
CheckDomainOwnership(ctx context.Context, tenant, domain string) (bool, error)
GetDomain(ctx context.Context, tenant, domain string) (*models.MailStackDomain, error)
GetActiveDomains(ctx context.Context, tenant string) ([]models.MailStackDomain, error)
MarkConfigured(ctx context.Context, tenant, domain string) error
SetDkimKeys(ctx context.Context, tenant, domain, dkimPublic, dkimPrivate string) error
CreateDMARCReport(ctx context.Context, tenant string, report *models.DMARCMonitoring) error
CreateMailstackReputationScore(ctx context.Context, tenant string, score *models.MailstackReputation) error
GetDomainCrossTenant(ctx context.Context, domain string) (*models.MailStackDomain, error)
GetAllActiveDomainsCrossTenant(ctx context.Context) ([]models.MailStackDomain, error)
}
func NewDomainRepository ¶ added in v0.0.3
func NewDomainRepository(db *gorm.DB) DomainRepository
type Repositories ¶
type Repositories struct {
DomainRepository DomainRepository
EmailRepository interfaces.EmailRepository
EmailAttachmentRepository interfaces.EmailAttachmentRepository
EmailThreadRepository interfaces.EmailThreadRepository
MailboxRepository interfaces.MailboxRepository
MailboxSyncRepository interfaces.MailboxSyncRepository
OrphanEmailRepository interfaces.OrphanEmailRepository
TenantSettingsMailboxRepository TenantSettingsMailboxRepository
}
func InitRepositories ¶
func InitRepositories(mailstackDB *gorm.DB, openlineDB *gorm.DB, r2Config *config.R2StorageConfig) *Repositories
type TenantSettingsMailboxRepository ¶ added in v0.0.3
type TenantSettingsMailboxRepository interface {
GetAll(ctx context.Context) ([]*models.TenantSettingsMailbox, error)
GetForRampUp(ctx context.Context) ([]*models.TenantSettingsMailbox, error)
GetById(ctx context.Context, id string) (*models.TenantSettingsMailbox, error)
GetByMailbox(ctx context.Context, mailbox string) (*models.TenantSettingsMailbox, error)
GetAllByDomain(ctx context.Context, domain string) ([]*models.TenantSettingsMailbox, error)
GetAllByUserId(ctx context.Context, userId string) ([]*models.TenantSettingsMailbox, error)
Merge(ctx context.Context, tx *gorm.DB, mailbox *models.TenantSettingsMailbox) error
}
func NewTenantSettingsMailboxRepository ¶ added in v0.0.3
func NewTenantSettingsMailboxRepository(db *gorm.DB) TenantSettingsMailboxRepository
Click to show internal directories.
Click to hide internal directories.