messaging

package
v0.0.0-...-08cdbde Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 11, 2026 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	COLLECTION_NAME_EMAIL_TEMPLATES = "email-templates"
	COLLECTION_NAME_SMS_TEMPLATES   = "sms-templates"
	COLLECTION_NAME_EMAIL_SCHEDULES = "auto-messages"
	COLLECTION_NAME_OUTGOING_EMAILS = "outgoing-emails"
	COLLECTION_NAME_SENT_EMAILS     = "sent-emails"
	COLLECTION_NAME_SENT_SMS        = "sent-sms"
)

collection names

Variables

This section is empty.

Functions

This section is empty.

Types

type MessagingDBService

type MessagingDBService struct {
	DBClient *mongo.Client

	DBNamePrefix string
	InstanceIDs  []string
	// contains filtered or unexported fields
}

func NewMessagingDBService

func NewMessagingDBService(configs db.DBConfig) (*MessagingDBService, error)

func (*MessagingDBService) AddToOutgoingEmails

func (dbService *MessagingDBService) AddToOutgoingEmails(instanceID string, email messagingTypes.OutgoingEmail) (messagingTypes.OutgoingEmail, error)

func (*MessagingDBService) AddToSentEmails

func (dbService *MessagingDBService) AddToSentEmails(instanceID string, email messagingTypes.OutgoingEmail) (messagingTypes.OutgoingEmail, error)

func (*MessagingDBService) AddToSentSMS

func (dbService *MessagingDBService) AddToSentSMS(instanceID string, sms types.SentSMS) (types.SentSMS, error)

func (*MessagingDBService) CountSentSMSForUser

func (dbService *MessagingDBService) CountSentSMSForUser(instanceID string, userID string, messageType string, sentAfter time.Time) (int64, error)

func (*MessagingDBService) CreateDefaultIndexes

func (dbService *MessagingDBService) CreateDefaultIndexes()

func (*MessagingDBService) CreateDefaultIndexesForEmailTemplatesCollection

func (messagingDBService *MessagingDBService) CreateDefaultIndexesForEmailTemplatesCollection(instanceID string)

func (*MessagingDBService) CreateDefaultIndexesForSMSTemplatesCollection

func (messagingDBService *MessagingDBService) CreateDefaultIndexesForSMSTemplatesCollection(instanceID string)

func (*MessagingDBService) CreateDefaultIndexesForSentEmailsCollection

func (dbService *MessagingDBService) CreateDefaultIndexesForSentEmailsCollection(instanceID string)

func (*MessagingDBService) CreateDefaultIndexesForSentSMSCollection

func (dbService *MessagingDBService) CreateDefaultIndexesForSentSMSCollection(instanceID string)

func (*MessagingDBService) DeleteEmailTemplate

func (messagingDBService *MessagingDBService) DeleteEmailTemplate(instanceID string, messageType string, studyKey string) error

delete an email template by message type and study key

func (*MessagingDBService) DeleteOutgoingEmail

func (dbService *MessagingDBService) DeleteOutgoingEmail(instanceID string, id string) error

func (*MessagingDBService) DeleteScheduledEmail

func (dbService *MessagingDBService) DeleteScheduledEmail(instanceID string, id string) error

delete scheduled email

func (*MessagingDBService) DropIndexForEmailSchedulesCollection

func (dbService *MessagingDBService) DropIndexForEmailSchedulesCollection(instanceID string, dropAll bool)

func (*MessagingDBService) DropIndexForEmailTemplatesCollection

func (messagingDBService *MessagingDBService) DropIndexForEmailTemplatesCollection(instanceID string, dropAll bool)

func (*MessagingDBService) DropIndexForOutgoingEmailsCollection

func (dbService *MessagingDBService) DropIndexForOutgoingEmailsCollection(instanceID string, dropAll bool)

func (*MessagingDBService) DropIndexForSMSTemplatesCollection

func (messagingDBService *MessagingDBService) DropIndexForSMSTemplatesCollection(instanceID string, dropAll bool)

func (*MessagingDBService) DropIndexForSentEmailsCollection

func (dbService *MessagingDBService) DropIndexForSentEmailsCollection(instanceID string, dropAll bool)

func (*MessagingDBService) DropIndexForSentSMSCollection

func (dbService *MessagingDBService) DropIndexForSentSMSCollection(instanceID string, dropAll bool)

func (*MessagingDBService) DropIndexes

func (dbService *MessagingDBService) DropIndexes(dropAll bool)

func (*MessagingDBService) GetActiveScheduledEmails

func (dbService *MessagingDBService) GetActiveScheduledEmails(instanceID string) (messages []messagingTypes.ScheduledEmail, err error)

func (*MessagingDBService) GetAllScheduledEmails

func (dbService *MessagingDBService) GetAllScheduledEmails(instanceID string) ([]messagingTypes.ScheduledEmail, error)

get all scheduled emails

func (*MessagingDBService) GetAllSentSMSForUser

func (dbService *MessagingDBService) GetAllSentSMSForUser(instanceID string, userID string, sentAfter time.Time) ([]types.SentSMS, error)

func (*MessagingDBService) GetEmailTemplateByID

func (messagingDBService *MessagingDBService) GetEmailTemplateByID(instanceID string, id string) (*messagingTypes.EmailTemplate, error)

find one email template by id

func (*MessagingDBService) GetEmailTemplatesForAllStudies

func (messagingDBService *MessagingDBService) GetEmailTemplatesForAllStudies(instanceID string) ([]messagingTypes.EmailTemplate, error)

find all email templates with study key non-empty

func (*MessagingDBService) GetGlobalEmailTemplateByMessageType

func (messagingDBService *MessagingDBService) GetGlobalEmailTemplateByMessageType(instanceID string, messageType string) (*messagingTypes.EmailTemplate, error)

find one email template by message type and study key empty

func (*MessagingDBService) GetGlobalEmailTemplates

func (messagingDBService *MessagingDBService) GetGlobalEmailTemplates(instanceID string) ([]messagingTypes.EmailTemplate, error)

find all email templates with study key empty

func (*MessagingDBService) GetIndexes

func (dbService *MessagingDBService) GetIndexes() (map[string]map[string][]bson.M, error)

func (*MessagingDBService) GetOutgoingEmailsForSending

func (dbService *MessagingDBService) GetOutgoingEmailsForSending(
	instanceID string,
	lastSendAttemptOlderThan int64,
	onlyHighPrio bool,
	amount int,
) (emails []messagingTypes.OutgoingEmail, err error)

func (*MessagingDBService) GetSMSTemplateByType

func (messagingDBService *MessagingDBService) GetSMSTemplateByType(instanceID string, messageType string) (*messagingTypes.SMSTemplate, error)

func (*MessagingDBService) GetScheduledEmailByID

func (dbService *MessagingDBService) GetScheduledEmailByID(instanceID string, id string) (*messagingTypes.ScheduledEmail, error)

get scheduled email by id

func (*MessagingDBService) GetSentEmailsForUser

func (dbService *MessagingDBService) GetSentEmailsForUser(instanceID string, userID string) (emails []messagingTypes.OutgoingEmail, err error)

func (*MessagingDBService) GetStudyEmailTemplateByMessageType

func (messagingDBService *MessagingDBService) GetStudyEmailTemplateByMessageType(instanceID string, studyKey string, messageType string) (*messagingTypes.EmailTemplate, error)

find one email template by message type and study key

func (*MessagingDBService) GetStudyEmailTemplates

func (messagingDBService *MessagingDBService) GetStudyEmailTemplates(instanceID string, studyKey string) ([]messagingTypes.EmailTemplate, error)

find all email templates by study key

func (*MessagingDBService) ResetLastSendAttemptForOutgoing

func (dbService *MessagingDBService) ResetLastSendAttemptForOutgoing(instanceID string, emailID string) error

func (*MessagingDBService) SaveEmailTemplate

func (messagingDBService *MessagingDBService) SaveEmailTemplate(instanceID string, emailTemplate messagingTypes.EmailTemplate) (messagingTypes.EmailTemplate, error)

save email template (if id is empty, insert, else update)

func (*MessagingDBService) SaveSMSTemplate

func (messagingDBService *MessagingDBService) SaveSMSTemplate(instanceID string, smsTemplate messagingTypes.SMSTemplate) (messagingTypes.SMSTemplate, error)

save email template (if id is empty, insert, else update)

func (*MessagingDBService) SaveScheduledEmail

func (dbService *MessagingDBService) SaveScheduledEmail(instanceID string, scheduledEmail messagingTypes.ScheduledEmail) (messagingTypes.ScheduledEmail, error)

save scheduled email

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL