Postgres Comms Database
Introduction
In this database, we utilize PostgreSQL to store all the pertinent information related to our chatbot. This includes details such as the adapter we are using, the type of transformer employed, and the number of users to whom we will send notifications or SMS messages. In essence, this database exclusively contains information about the chatbot.
1. Table Schema
Table Name - adapter
id
UUID
Unique identifier for the record.
createdAt
Timestamp
Timestamp indicating when the record was created.
updatedAt
Timestamp
Timestamp indicating when the record was last updated.
channel
Text
This field identifies the communication channel utilized, such as SMS, WhatsApp, or web-based platforms, among others.
provider
Text
Name of the service provider, such as Netcore, Gupshup, Firebase, etc., responsible for delivering messages or services.
config
Jsonb
JSON data structure storing configuration information related to service providers. This field may include vault key credentials and other provider-specific settings.
name
Text
This field store name of adapter
---
2. Table Schema
Table Name - Service
id
UUID
Unique identifier for the service record.
createdAt
Timestamp
Timestamp indicating when the service record was created.
updatedAt
Timestamp
Timestamp indicating when the service record was last updated.
type
Text
Type of the service like odk, gql, get. use for user segment.
config
JsonB
JSON data structure storing configuration information related to the service like user segment url, cadence, total records etc.
name
Text
Name or title of the service.
---
3. Table Schema
Table Name - Transformer
id
UUID
Unique identifier for the transformer record.
createdAt
Timestamp
Timestamp indicating when the transformer record was created.
updatedAt
Timestamp
Timestamp indicating when the transformer record was last updated.
name
Text
Name or title associated with the transformer.
tags
Text
Tags or labels associated with the transformer like Odk, Generic, Broadcast.
config
Jsonb
JSON data structure storing configuration information related to the transformer.
serviceId
UUID
Foreign key referencing the service to which the transformer is related.
---
4. Table Schema
Table Name - TransformerConfig
id
UUID
Unique identifier for the transformer configuration record.
createdAt
Timestamp
Timestamp indicating when the configuration record was created.
updatedAt
Timestamp
Timestamp indicating when the configuration record was last updated.
transformerId
UUID
Foreign key referencing the associated transformer.
meta
Jsonb
JSON data structure storing additional metadata related to the configuration like title, body, hiddenFields, formID, form, serviceClass, templateType etc.
conversationLogic
UUID
Foreign key referencing the conversation logic associated with the configuration.
---
5. Table Schema
Table Name - ConversationLogic
id
UUID
Unique identifier for the conversation logic record.
createdAt
Timestamp
Timestamp indicating when the conversation logic record was created.
updatedAt
Timestamp
Timestamp indicating when the conversation logic record was last updated.
description
Text
Description providing details about the conversation logic.
adapterid
UUID
Foreign key referencing the associated adapter.
name
Text
Name or title associated with the conversation logic.
---
6. Table Schema
Table Name - bot
id
UUID
Unique identifier for the bot record.
createdAt
Timestamp
Timestamp indicating when the bot record was created.
updatedAt
Timestamp
Timestamp indicating when the bot record was last updated.
name
Text
The name of the bot.
startingMessage
Text
The initial message or greeting used by the bot when interacting with users.
ownerID
Text
Identifier of the owner or creator of the bot.
ownerOrgID
Text
Identifier of the organization to which the bot owner belongs.
purpose
Text
A brief description of the purpose or function of the bot.
description
Text
A detailed description of the bot, including its capabilities and use cases.
startDate
Date
The date when the bot became active or started operating.
endDate
Date
The date when the bot's operation is scheduled to end or expire.
status
BotStatus
The current status of the bot, indicating whether it is enabled or disabled. (ENABLED, DISABLED)
tags
Text
Tags or labels associated with the bot for categorization or organization.
botImage
Text
Bot image icon.
---
7. Table Schema
Table Name - UserSegment
id
UUID
Unique identifier for the user segment record.
createdAt
Timestamp
Timestamp indicating when the user segment record was created.
updatedAt
Timestamp
Timestamp indicating when the user segment record was last updated.
name
Text
Name or title associated with the user segment.
description
Text
Description providing details about the user segment.
count
Int
Count or number of users in the segment.
category
Text
Category or type of the user segment.
allServiceID
UUID
Unique identifier referencing the associated service for all users in the segment.
byPhoneServiceID
UUID
Unique identifier referencing the associated service for users in the segment by phone.
byIDServiceID
UUID
Unique identifier referencing the associated service for users in the segment by ID.
botId
UUID
Unique identifier referencing the associated bot for the user segment.
---
Last updated