Service - User Contact Manager: Difference between revisions
Jump to navigation
Jump to search
(Created page with "= Overview = Manages the available contact methods and their handler services, records each users available contact methods. = Repository = ... = DynamoDB tables = == S...") |
No edit summary |
||
Line 1: | Line 1: | ||
= Overview = | = Overview = | ||
Manages | Manages contact methods available to users. Records each users contacts. | ||
= Repository = | = Repository = | ||
... | ... (not yet configured) | ||
= DynamoDB tables = | = DynamoDB tables = | ||
Line 13: | Line 13: | ||
=== Configuration tags === | === Configuration tags === | ||
.. | ; configKey = ''method'', configTag = {methodTag} | ||
: configValue example | |||
<syntaxhighlight lang="JavaScript"> | |||
{ | |||
// .. other method level configuration options, eg which locations the method is available in | |||
"endpoint": { | |||
"endpoint": {eg: Lambda function name} | |||
"service_type": {eg: "Lambda"} //service type tag, at the moment only "Lambda" | |||
} | |||
} | |||
</syntaxhighlight> | |||
== UserContacts == | |||
=== Fields === | |||
; userId | |||
: (partition key) | |||
; userContactId | |||
: (sort key) | |||
: comes from {methodTag}_{hash of contactName} | |||
: userContactName is set by the method handler service | |||
= Creating a new user contact = | |||
* This service presents a list of available contact methods | |||
* User choses one and and is directed to that contact method handler to create the actual entry | |||
* Once the user contact is created in the handler service a message gets sent to this service which creates it's own UserContacts record | |||
= Creating a new notification group = | |||
* This service presents a list of the users contacts | |||
* User choses one and is directed to [[Service - Notification Manager|Notification Manager]] service | |||
* Notification Manager completes the flow, creating a notification group and associated notification records | |||
= Location specific contact methods = | |||
* Could add ways of restricting the available contact methods to ones the user is likely to want | |||
* eg: by location (eg country) | |||
* but have a way that the user can choose any method | |||
= Notes = | = Notes = | ||
* If method handler changes the contactName, a message will be sent to User Contact Manager to update its record, contactName is part of the sort key, not sure if it can be updated, if not need to copy the record to a new record with the updated contactName | |||
* If method handler disables a contact, disable here and send message to [[Service - Notification Manager|Notification Manager]] service which will disable notifications and tell [[Service - Activity Switchboard|Activity Switchboard]] service to remove all associated triggers | |||
= Ideas = | = Ideas = |
Revision as of 11:28, 8 November 2020
Overview
Manages contact methods available to users. Records each users contacts.
Repository
... (not yet configured)
DynamoDB tables
Standard Config Table Per Service
Configuration tags
- configKey = method, configTag = {methodTag}
- configValue example
{
// .. other method level configuration options, eg which locations the method is available in
"endpoint": {
"endpoint": {eg: Lambda function name}
"service_type": {eg: "Lambda"} //service type tag, at the moment only "Lambda"
}
}
UserContacts
Fields
- userId
- (partition key)
- userContactId
- (sort key)
- comes from {methodTag}_{hash of contactName}
- userContactName is set by the method handler service
Creating a new user contact
- This service presents a list of available contact methods
- User choses one and and is directed to that contact method handler to create the actual entry
- Once the user contact is created in the handler service a message gets sent to this service which creates it's own UserContacts record
Creating a new notification group
- This service presents a list of the users contacts
- User choses one and is directed to Notification Manager service
- Notification Manager completes the flow, creating a notification group and associated notification records
Location specific contact methods
- Could add ways of restricting the available contact methods to ones the user is likely to want
- eg: by location (eg country)
- but have a way that the user can choose any method
Notes
- If method handler changes the contactName, a message will be sent to User Contact Manager to update its record, contactName is part of the sort key, not sure if it can be updated, if not need to copy the record to a new record with the updated contactName
- If method handler disables a contact, disable here and send message to Notification Manager service which will disable notifications and tell Activity Switchboard service to remove all associated triggers
Ideas
...