Documentation ¶
Index ¶
- type Config
- type DummyNotificationStack
- func (stack *DummyNotificationStack) AddNotification(obj UINotificationObj)
- func (stack *DummyNotificationStack) CreateUserObject(userid string, name string, email string) (UserStruct, error)
- func (stack *DummyNotificationStack) FetchUserObject(userid string, createIfNotExist bool, name string, email string) (UserStruct, error)
- func (stack *DummyNotificationStack) GetTrack(userid string) (bool, bool)
- func (stack *DummyNotificationStack) GetUINotifications(userid string) ([]UINotificationObj, error)
- func (stack *DummyNotificationStack) SendAll(topic string, templateInput map[string]interface{}, userOverride []string, ...) error
- func (stack *DummyNotificationStack) SendAllDataSource(topic string, templateInput map[string]interface{}, userOverride []string, ...) error
- func (stack *DummyNotificationStack) SendEmail(topic string, templateInput map[string]interface{}, userOverride []string, ...) error
- func (stack *DummyNotificationStack) SendGlobalEmail(content string, subject string) error
- func (stack *DummyNotificationStack) SendUI(topic string, templateInput map[string]interface{}, userOverride []string, ...) error
- func (stack *DummyNotificationStack) SendUINotification(newNotification UINotificationObj) error
- func (stack *DummyNotificationStack) SetTrack(userid string, track bool)
- func (stack *DummyNotificationStack) UpdateUserConfigFile(userid string, data UserStruct) error
- type Method
- type MongoUtils
- func (m *MongoUtils) Connect() error
- func (m *MongoUtils) CreateMongoUserObject(user UserStruct) error
- func (m *MongoUtils) DeleteUINotifications(user string) error
- func (m *MongoUtils) FetchMongoUserObject(userid string, exist bool, name string, email string) (UserStruct, error)
- func (m *MongoUtils) GetAllMongoUsers(log logger.ILogger) ([]UserStruct, error)
- func (m *MongoUtils) GetMongoSubscribersByEmailTopicID(override []string, searchtopic string, logger logger.ILogger) ([]UserStruct, error)
- func (m *MongoUtils) GetMongoSubscribersByTopic(searchtopic string, logger logger.ILogger) ([]UserStruct, error)
- func (m *MongoUtils) GetMongoSubscribersByTopicID(override []string, searchtopic string, logger logger.ILogger) ([]UserStruct, error)
- func (m *MongoUtils) GetUINotifications(user string) ([]UINotificationObj, error)
- func (m *MongoUtils) InsertUINotification(newNotification UINotificationObj) error
- func (m *MongoUtils) UpdateMongoUserConfig(userid string, data UserStruct) error
- type NotificationConfig
- type NotificationManager
- type NotificationStack
- func (stack *NotificationStack) AddNotification(obj UINotificationObj)
- func (stack *NotificationStack) CreateUserObject(userid string, name string, email string) (UserStruct, error)
- func (stack *NotificationStack) FetchUserObject(userid string, createIfNotExist bool, name string, email string) (UserStruct, error)
- func (stack *NotificationStack) GetAllUsers() ([]UserStruct, error)
- func (stack *NotificationStack) GetSubscribersByEmailTopicID(useroverride []string, topic string) ([]UserStruct, error)
- func (stack *NotificationStack) GetSubscribersByTopic(topic string) ([]UserStruct, error)
- func (stack *NotificationStack) GetSubscribersByTopicID(useroverride []string, topic string) ([]UserStruct, error)
- func (stack *NotificationStack) GetTrack(userid string) (bool, bool)
- func (stack *NotificationStack) GetUINotifications(userid string) ([]UINotificationObj, error)
- func (stack *NotificationStack) InitUser(name string, email string, userid string) UserStruct
- func (stack *NotificationStack) SendAll(topic string, templateInput map[string]interface{}, userOverride []string, ...) error
- func (stack *NotificationStack) SendAllDataSource(topic string, templateInput map[string]interface{}, userOverride []string, ...) error
- func (stack *NotificationStack) SendEmail(topic string, templateInput map[string]interface{}, userOverride []string, ...) error
- func (stack *NotificationStack) SendGlobalEmail(content string, subject string) error
- func (stack *NotificationStack) SendUI(topic string, templateInput map[string]interface{}, userOverride []string, ...) error
- func (stack *NotificationStack) SendUINotification(newNotification UINotificationObj) error
- func (stack *NotificationStack) SetTrack(userid string, track bool)
- func (stack *NotificationStack) UpdateUserConfigFile(userid string, data UserStruct) error
- type Notifications
- type TemplateContents
- type Topics
- type UINotificationObj
- type UserStruct
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { Name string `json:"name"` Email string `json:"email"` Cell string `json:"cell"` DataCollection string `json:"data_collection"` }
Config - config options for user
type DummyNotificationStack ¶
type DummyNotificationStack struct { Notifications []UINotificationObj FS fileaccess.FileAccess Bucket string Track map[string]bool AdminEmails []string Environment string Logger logger.ILogger }
func (*DummyNotificationStack) AddNotification ¶
func (stack *DummyNotificationStack) AddNotification(obj UINotificationObj)
func (*DummyNotificationStack) CreateUserObject ¶
func (stack *DummyNotificationStack) CreateUserObject(userid string, name string, email string) (UserStruct, error)
func (*DummyNotificationStack) FetchUserObject ¶
func (stack *DummyNotificationStack) FetchUserObject(userid string, createIfNotExist bool, name string, email string) (UserStruct, error)
func (*DummyNotificationStack) GetTrack ¶
func (stack *DummyNotificationStack) GetTrack(userid string) (bool, bool)
func (*DummyNotificationStack) GetUINotifications ¶
func (stack *DummyNotificationStack) GetUINotifications(userid string) ([]UINotificationObj, error)
GetUINotifications - Return Notifications for user and remove from stack
func (*DummyNotificationStack) SendAll ¶
func (stack *DummyNotificationStack) SendAll(topic string, templateInput map[string]interface{}, userOverride []string, includeadmin bool) error
SendAll - Generic function to trigger the same notification across all services to users who are signed up to receive them.
func (*DummyNotificationStack) SendAllDataSource ¶
func (stack *DummyNotificationStack) SendAllDataSource(topic string, templateInput map[string]interface{}, userOverride []string, includeadmin bool, topicoverride string) error
SendAllDataSource - Slight tweak to allow us to lookup topics for updates by the same tag and define emails instead of userids
func (*DummyNotificationStack) SendEmail ¶
func (stack *DummyNotificationStack) SendEmail(topic string, templateInput map[string]interface{}, userOverride []string, userOverrideEmails []string, topiclookupoverride string, includeadmin bool) error
SendEmail - Send an email for a topic type
func (*DummyNotificationStack) SendGlobalEmail ¶
func (stack *DummyNotificationStack) SendGlobalEmail(content string, subject string) error
SendGlobalEmail - Send an email to all users.
func (*DummyNotificationStack) SendUI ¶
func (stack *DummyNotificationStack) SendUI(topic string, templateInput map[string]interface{}, userOverride []string, topiclookupoverride string) error
SendUI Send a notification to the UI stack.
func (*DummyNotificationStack) SendUINotification ¶
func (stack *DummyNotificationStack) SendUINotification(newNotification UINotificationObj) error
SendUINotification - Dispatch notification to the stack
func (*DummyNotificationStack) SetTrack ¶
func (stack *DummyNotificationStack) SetTrack(userid string, track bool)
func (*DummyNotificationStack) UpdateUserConfigFile ¶
func (stack *DummyNotificationStack) UpdateUserConfigFile(userid string, data UserStruct) error
type MongoUtils ¶
type MongoUtils struct { SecretsCache *secretcache.Cache ConnectionSecret string MongoUsername string MongoPassword string MongoEndpoint string Log logger.ILogger // contains filtered or unexported fields }
func (*MongoUtils) Connect ¶
func (m *MongoUtils) Connect() error
func (*MongoUtils) CreateMongoUserObject ¶
func (m *MongoUtils) CreateMongoUserObject(user UserStruct) error
func (*MongoUtils) DeleteUINotifications ¶
func (m *MongoUtils) DeleteUINotifications(user string) error
func (*MongoUtils) FetchMongoUserObject ¶
func (m *MongoUtils) FetchMongoUserObject(userid string, exist bool, name string, email string) (UserStruct, error)
func (*MongoUtils) GetAllMongoUsers ¶
func (m *MongoUtils) GetAllMongoUsers(log logger.ILogger) ([]UserStruct, error)
func (*MongoUtils) GetMongoSubscribersByEmailTopicID ¶
func (m *MongoUtils) GetMongoSubscribersByEmailTopicID(override []string, searchtopic string, logger logger.ILogger) ([]UserStruct, error)
func (*MongoUtils) GetMongoSubscribersByTopic ¶
func (m *MongoUtils) GetMongoSubscribersByTopic(searchtopic string, logger logger.ILogger) ([]UserStruct, error)
func (*MongoUtils) GetMongoSubscribersByTopicID ¶
func (m *MongoUtils) GetMongoSubscribersByTopicID(override []string, searchtopic string, logger logger.ILogger) ([]UserStruct, error)
func (*MongoUtils) GetUINotifications ¶
func (m *MongoUtils) GetUINotifications(user string) ([]UINotificationObj, error)
func (*MongoUtils) InsertUINotification ¶
func (m *MongoUtils) InsertUINotification(newNotification UINotificationObj) error
func (*MongoUtils) UpdateMongoUserConfig ¶
func (m *MongoUtils) UpdateMongoUserConfig(userid string, data UserStruct) error
type NotificationConfig ¶
type NotificationConfig struct {
Method `json:"method"`
}
NotificationConfig - Config specifically for notifications
type NotificationManager ¶
type NotificationManager interface { FetchUserObject(userid string, createIfNotExist bool, name string, email string) (UserStruct, error) CreateUserObject(userid string, name string, email string) (UserStruct, error) UpdateUserConfigFile(userid string, data UserStruct) error SendEmail(topic string, templateInput map[string]interface{}, userOverride []string, userOverrideEmails []string, topiclookupoverride string, includeadmin bool) error SendUI(topic string, templateInput map[string]interface{}, userOverride []string, topiclookupoverride string) error SendAll(topic string, templateInput map[string]interface{}, userOverride []string, includeadmin bool) error SendAllDataSource(topic string, templateInput map[string]interface{}, userOverride []string, includeadmin bool, topicoverride string) error SendUINotification(newNotification UINotificationObj) error GetUINotifications(userid string) ([]UINotificationObj, error) GetTrack(userid string) (bool, bool) SetTrack(userid string, track bool) AddNotification(UINotificationObj) SendGlobalEmail(content string, subject string) error }
type NotificationStack ¶
type NotificationStack struct { Notifications []UINotificationObj FS fileaccess.FileAccess Bucket string Track cmap.ConcurrentMap //map[string]bool AdminEmails []string Environment string Logger logger.ILogger MongoUtils *MongoUtils }
NotificationStack - Controller for UI Notifications
func (*NotificationStack) AddNotification ¶
func (stack *NotificationStack) AddNotification(obj UINotificationObj)
func (*NotificationStack) CreateUserObject ¶
func (stack *NotificationStack) CreateUserObject(userid string, name string, email string) (UserStruct, error)
func (*NotificationStack) FetchUserObject ¶
func (stack *NotificationStack) FetchUserObject(userid string, createIfNotExist bool, name string, email string) (UserStruct, error)
func (*NotificationStack) GetAllUsers ¶
func (stack *NotificationStack) GetAllUsers() ([]UserStruct, error)
func (*NotificationStack) GetSubscribersByEmailTopicID ¶
func (stack *NotificationStack) GetSubscribersByEmailTopicID(useroverride []string, topic string) ([]UserStruct, error)
func (*NotificationStack) GetSubscribersByTopic ¶
func (stack *NotificationStack) GetSubscribersByTopic(topic string) ([]UserStruct, error)
func (*NotificationStack) GetSubscribersByTopicID ¶
func (stack *NotificationStack) GetSubscribersByTopicID(useroverride []string, topic string) ([]UserStruct, error)
func (*NotificationStack) GetTrack ¶
func (stack *NotificationStack) GetTrack(userid string) (bool, bool)
func (*NotificationStack) GetUINotifications ¶
func (stack *NotificationStack) GetUINotifications(userid string) ([]UINotificationObj, error)
GetUINotifications - Return Notifications for user and remove from stack
func (*NotificationStack) InitUser ¶
func (stack *NotificationStack) InitUser(name string, email string, userid string) UserStruct
func (*NotificationStack) SendAll ¶
func (stack *NotificationStack) SendAll(topic string, templateInput map[string]interface{}, userOverride []string, includeadmin bool) error
SendAll - Generic function to trigger the same notification across all services to users who are signed up to receive them.
func (*NotificationStack) SendAllDataSource ¶
func (stack *NotificationStack) SendAllDataSource(topic string, templateInput map[string]interface{}, userOverride []string, includeadmin bool, topicoverride string) error
SendAllDataSource - Slight tweak to allow us to lookup topics for updates by the same tag and define emails instead of userids
func (*NotificationStack) SendEmail ¶
func (stack *NotificationStack) SendEmail(topic string, templateInput map[string]interface{}, userOverride []string, userOverrideEmails []string, topiclookupoverride string, includeadmin bool) error
SendEmail - Send an email for a topic type
func (*NotificationStack) SendGlobalEmail ¶
func (stack *NotificationStack) SendGlobalEmail(content string, subject string) error
SendGlobalEmail - Send an email to all users.
func (*NotificationStack) SendUI ¶
func (stack *NotificationStack) SendUI(topic string, templateInput map[string]interface{}, userOverride []string, topiclookupoverride string) error
SendUI Send a notification to the UI stack.
func (*NotificationStack) SendUINotification ¶
func (stack *NotificationStack) SendUINotification(newNotification UINotificationObj) error
SendUINotification - Dispatch notification to the stack
func (*NotificationStack) SetTrack ¶
func (stack *NotificationStack) SetTrack(userid string, track bool)
func (*NotificationStack) UpdateUserConfigFile ¶
func (stack *NotificationStack) UpdateUserConfigFile(userid string, data UserStruct) error
type Notifications ¶
type Notifications struct { Topics []Topics `json:"topics"` Hints []string `json:"hints"` UINotifications []UINotificationObj `json:"uinotifications"` }
Notifications - Object for notification settings
type TemplateContents ¶
type TemplateContents struct { ContentMap UserStruct TemplateMap map[string]interface{} }
TemplateContents - Structure for template injection
type Topics ¶
type Topics struct { Name string `json:"name"` Config NotificationConfig `json:"config"` }
Topics - Notification Topics'
type UINotificationObj ¶
type UINotificationObj struct { Topic string `json:"topic"` Message string `json:"message"` Timestamp time.Time `json:"timestamp"` UserID string `json:"userid"` }
UINotificationObj - UI Notification Object
type UserStruct ¶
type UserStruct struct { Userid string `json:"userid"` Notifications `json:"notifications"` Config `json:"userconfig"` }
UserStruct - Structure for user configuration