Data Stores - OfficeDev/microsoft-teams-apps-employeetraining GitHub Wiki
The app uses the following data store:
All these resources are created in your Azure subscription. None are hosted directly by Microsoft.
-
Azure Table Storage
- [EventEntity] to store event related details.
- [Categories] to store categories created by L&D team.
- [UserConfiguration] to store user's bot details for sending notifications.
- [LnDTeamConfiguration] to store details of L&D teams where bot is installed.
-
Azure Blob Storage
- Storage for images uploaded while creating event.
Storage account tables
1. EventEntity
The table has following rows:
Attribute | Comment |
---|---|
PartitionKey | Team Id of team which has created the event. |
RowKey | Unique identifier (GUID) for each event (Event Id). |
Timestamp | Date and time stamp when the entity row is modified. |
EventName | Name of event. |
Description | Description of event. |
ImageUrl | URL of image uploaded on Azure Blob. |
StartDate | Start date of event. |
StartTime | Start time of event. |
EndDate | End date of event. |
EndTime | End time of event. |
EventType | Type of event: In person, Live event or Teams meeting. |
Location | Location of event. Will be null for Teams meeting and Live event. |
MeetingLink | Link of Teams/Outlook meeting created for event. |
MaximumNumberOfParticipants | Maximum number of participants who can register for an event. |
CategoryId | Id of category assigned selected for event. |
CategoryName | Name of category assigned selected for event. |
Audience | Type of audience for event. It can be either Public or Private. |
IsAutoRegister | True if users needs to be auto registered for event. |
Status | Current status of event. It can be Draft, Active or Completed. |
MandatoryAttendees | Semicolon separated AAD user ID of mandatory users. |
OptionalAttendees | Semicolon separated AAD user ID of optional users. |
RegisteredAttendees | Semicolon separated AAD user ID of registered users. |
CreatedBy | AAD Id of user who has created event. |
CreatedOn | DateTime of event creation. |
UpdatedBy | AAD Id of user who has updated event recently. |
UpdatedOn | DateTime of recent event modification. |
2. Categories
The table has following rows:
Attribute | Comment |
---|---|
PartitionKey | Team Id of team which has created the category. |
RowKey | Unique identifier(GUID) for each category [CategoryId]. |
TimeStamp | Timestamp of actual record insertion (Done by Azure). |
CategoryId | Unique identifier(GUID) for each category. |
CategoryName | Name of the category. |
CategoryDescription | Description of the category. |
CreatedByUserId | User AAD object id who created the category. |
ModifiedByUserId | User AAD object id who modified the category. |
CreatedOn | DateTime at which category is created. |
ModifiedOn | DateTime of recent event modification. |
3. UserConfiguration
The table has following rows:
Attribute | Comment |
---|---|
PartitionKey | User’s AAD Id. |
RowKey | User’s AAD Id. |
ConversationId | Bot’s conversation Id. |
ServiceUrl | Service URL for sending notification. |
BotInstalledOn | DateTime of bot installation. |
4. LnDTeamConfiguration
The table has following rows:
Attribute | Comment |
---|---|
PartitionKey | Team Id where bot is installed. |
RowKey | Team Id where bot is installed. |
BotInstalledOn | DateTime when bot is installed in Team. |