@itleanchatbot/shared-models-js-postgres 1.5.91 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. package/README.md +28 -3
  2. package/package.json +8 -2
  3. package/src/migrations/2021050204551-create-extension-uuid-ossp.js +12 -0
  4. package/src/migrations/20210503140511-create-channel-types.js +56 -0
  5. package/src/migrations/20210503141113-create-channel-configurations.js +56 -0
  6. package/src/migrations/20210503141528-create-enterprises.js +47 -0
  7. package/src/migrations/20210503142049-create-permissions.js.js +44 -0
  8. package/src/migrations/20210503142205-create-profiles.js.js +33 -0
  9. package/src/migrations/20210503142259-create-profiles-permissions.js +45 -0
  10. package/src/migrations/20210503142433-create-system-users.js +61 -0
  11. package/src/migrations/20210503142528-create-system-users-profiles.js +45 -0
  12. package/src/migrations/20210503142645-create-departments.js +49 -0
  13. package/src/migrations/20210503142739-create-clients.js +44 -0
  14. package/src/migrations/20210503142857-create-intelligences.js +48 -0
  15. package/src/migrations/20210503142959-create-ibm-providers.js +71 -0
  16. package/src/migrations/20210503151909-create-itlean-providers.js +53 -0
  17. package/src/migrations/20210503154612-create-skills.js +114 -0
  18. package/src/migrations/20210503161006-create-files.js +53 -0
  19. package/src/migrations/20210503161236-create-channels.js +66 -0
  20. package/src/migrations/20210503161308-create-sessions.js +67 -0
  21. package/src/migrations/20210503161503-create-subdepartments.js +49 -0
  22. package/src/migrations/20210503161543-create-branches.js +53 -0
  23. package/src/migrations/20210503161909-create-lines.js +55 -0
  24. package/src/migrations/20210503161947-create-entities.js +56 -0
  25. package/src/migrations/20210503162126-create-intentions.js +56 -0
  26. package/src/migrations/20210503162213-create-intentions-values.js +51 -0
  27. package/src/migrations/20210503162618-create-entities-values.js +67 -0
  28. package/src/migrations/20210503162752-create-synonyms.js +71 -0
  29. package/src/migrations/20210503163331-create-responses.js +58 -0
  30. package/src/migrations/20210503163437-create-responses-boxes.js +66 -0
  31. package/src/migrations/20210503163702-create-languages.js +42 -0
  32. package/src/migrations/20210503184109-create-groups.js +53 -0
  33. package/src/migrations/20210503185846-create-contacts.js +55 -0
  34. package/src/migrations/20210503190220-create-groups-contacts.js +47 -0
  35. package/src/migrations/20210503190338-create-fields.js +40 -0
  36. package/src/migrations/20210503190515-create-apis.js +65 -0
  37. package/src/migrations/20210503191041-create-apis-resources-body.js +46 -0
  38. package/src/migrations/20210503191107-create-apis-resources.js +74 -0
  39. package/src/migrations/20210503191253-create-apis-resources-headers.js +53 -0
  40. package/src/migrations/20210503193228-create-apis-resources-query-string-params.js +61 -0
  41. package/src/migrations/20210503193425-create-apis-resources-path-params.js +52 -0
  42. package/src/migrations/20210503193511-create-dialog-nodes.js +121 -0
  43. package/src/migrations/20210503193629-create-response-dialog-nodes.js +46 -0
  44. package/src/migrations/20210503193905-create-system-users-lines.js +45 -0
  45. package/src/migrations/20210503194004-create-attendances.js +80 -0
  46. package/src/migrations/20210503194036-create-tranship-conversations.js +65 -0
  47. package/src/migrations/20210503194204-create-line-configurations.js +75 -0
  48. package/src/migrations/20210504133611-create-templates.js +68 -0
  49. package/src/migrations/20210504133647-create-socket-clients.js +73 -0
  50. package/src/migrations/20210504143703-create-dialog-nodes-multiple-responses.js +47 -0
  51. package/src/migrations/20210504144332-create-messages-hsm.js +72 -0
  52. package/src/migrations/20210504144657-create-dialog-nodes-api-resources.js +54 -0
  53. package/src/migrations/20210504144730-create-send-hsm.js +62 -0
  54. package/src/migrations/20210504144859-create-messages-hsm-channels.js +48 -0
  55. package/src/migrations/20210504144931-create-open-faqs.js +55 -0
  56. package/src/migrations/20210504145032-create-return-hsm.js +50 -0
  57. package/src/migrations/20210504160623-create-group-send-hsm.js +52 -0
  58. package/src/migrations/20210504164445-create-extension-unaccent.js +11 -0
  59. package/src/migrations/20210504164516-create-extension-fuzzy.js +11 -0
  60. package/src/migrations/20210504164553-create-attendance-scale.js +48 -0
  61. package/src/migrations/20210504164613-create-attendance-scale-off.js +58 -0
  62. package/src/migrations/20210504165351-create-comments.js +42 -0
  63. package/src/migrations/20210504165421-create-quick-messages.js +49 -0
  64. package/src/migrations/20210504165514-create-bot-iterables.js +60 -0
  65. package/src/migrations/20210504165900-create-tranship-triggers.js +114 -0
  66. package/src/migrations/20210505025504-create-send-hsm-return-hsm.js +34 -0
  67. package/src/migrations/20210507012938-create-faq-triggers.js +68 -0
  68. package/src/migrations/20210518122431-alter-responses.js +17 -0
  69. package/src/migrations/20210524150418-create-faq-questions.js +51 -0
  70. package/src/migrations/20210524173157-alter-table-open-faq.js +17 -0
  71. package/src/migrations/20210526115430-alter-attendances.js +14 -0
  72. package/src/migrations/20210528101030-alter-attendances.js +82 -0
  73. package/src/migrations/20210609103918-create-table-postbakGupshup.js +46 -0
  74. package/src/migrations/20210614194609-alter-channels.js +14 -0
  75. package/src/migrations/20210618101840-alter-table-MessagesHsms.js +14 -0
  76. package/src/migrations/20210622132643-alter-table-postbackGupshup.js +11 -0
  77. package/src/migrations/20210623110159-alter-table-botinterable.js +176 -0
  78. package/src/migrations/20210623180356-alter-dialog-nodes-api-resources.js +15 -0
  79. package/src/migrations/20210625165930-alter-dialog-nodes-api-resources.js +15 -0
  80. package/src/migrations/20210708142712-alter-table-entity-values.js +17 -0
  81. package/src/migrations/20210708145259-alter-table-synonyms.js +25 -0
  82. package/src/migrations/20210719161230-alter-attendances.js +14 -0
  83. package/src/migrations/20210727095921-alter-name-size.js +39 -0
  84. package/src/migrations/20210727110430-create-endSessionTriggers.js +71 -0
  85. package/src/migrations/20210728140327-create-table-online-editing.js +42 -0
  86. package/src/migrations/20210810152747-alter-botIterables.js +26 -0
  87. package/src/migrations/20210812110330-create-indexes.js +101 -0
  88. package/src/migrations/20210816124430-create-inactivityTriggers.js +60 -0
  89. package/src/migrations/20210819155330-create-function.js +123 -0
  90. package/src/migrations/20210823145424-remove-names-botiterables.js +74 -0
  91. package/src/migrations/20210902145430-create-apiKeys.js +40 -0
  92. package/src/migrations/20210906092430-create-customPostback.js +44 -0
  93. package/src/migrations/20210906144034-alter-api-body-migration.js +74 -0
  94. package/src/migrations/20210910081430-create-transhipInactivityTriggers.js +48 -0
  95. package/src/migrations/20210923131530-alter-attendances.js +14 -0
  96. package/src/migrations/20210923140130-create-function.js +85 -0
  97. package/src/migrations/20210927141630-alter-attendances.js +32 -0
  98. package/src/migrations/20211020130541-alter-table-session-hasTranship.js +14 -0
  99. package/src/migrations/20211025155825-create-stopwords.js +52 -0
  100. package/src/{apiKeys.js → models/apiKeys.js} +1 -1
  101. package/src/{apiResourceBodies.js → models/apiResourceBodies.js} +1 -1
  102. package/src/{apiResourceHeaders.js → models/apiResourceHeaders.js} +1 -1
  103. package/src/{apiResourcePathParams.js → models/apiResourcePathParams.js} +1 -1
  104. package/src/{apiResourceQueryStringParams.js → models/apiResourceQueryStringParams.js} +1 -1
  105. package/src/{apiResources.js → models/apiResources.js} +1 -1
  106. package/src/{apis.js → models/apis.js} +1 -1
  107. package/src/{attendanceScale.js → models/attendanceScale.js} +1 -1
  108. package/src/{attendanceScaleOff.js → models/attendanceScaleOff.js} +1 -1
  109. package/src/{attendances.js → models/attendances.js} +1 -1
  110. package/src/{botIterable.js → models/botIterable.js} +1 -5
  111. package/src/{branches.js → models/branches.js} +1 -1
  112. package/src/{channelConfigurations.js → models/channelConfigurations.js} +1 -1
  113. package/src/{channelTypes.js → models/channelTypes.js} +15 -1
  114. package/src/{channels.js → models/channels.js} +1 -1
  115. package/src/{client.js → models/client.js} +1 -1
  116. package/src/{comments.js → models/comments.js} +1 -1
  117. package/src/models/contacts.js +41 -0
  118. package/src/{customPostbacks.js → models/customPostbacks.js} +1 -1
  119. package/src/{departments.js → models/departments.js} +1 -1
  120. package/src/{dialogNodes.js → models/dialogNodes.js} +1 -1
  121. package/src/{dialogNodes_MultipleResponses.js → models/dialogNodes_MultipleResponses.js} +1 -1
  122. package/src/{dialogNodes_apiResources.js → models/dialogNodes_apiResources.js} +1 -1
  123. package/src/{endSessionTriggers.js → models/endSessionTriggers.js} +1 -1
  124. package/src/{enterprises.js → models/enterprises.js} +1 -1
  125. package/src/{entity.js → models/entity.js} +1 -1
  126. package/src/{entityValues.js → models/entityValues.js} +1 -1
  127. package/src/{faqQuestions.js → models/faqQuestions.js} +1 -1
  128. package/src/{faqTriggers.js → models/faqTriggers.js} +1 -1
  129. package/src/models/fields.js +28 -0
  130. package/src/{files.js → models/files.js} +1 -1
  131. package/src/models/groups.js +45 -0
  132. package/src/models/groupsContracts.js +13 -0
  133. package/src/models/groupsSendHsms.js +13 -0
  134. package/src/{ibmProvider.js → models/ibmProvider.js} +1 -1
  135. package/src/{inactivityTriggers.js → models/inactivityTriggers.js} +1 -1
  136. package/src/models/index.js +45 -0
  137. package/src/{intelligence.js → models/intelligence.js} +1 -1
  138. package/src/{intention.js → models/intention.js} +1 -1
  139. package/src/{intentionValue.js → models/intentionValue.js} +1 -1
  140. package/src/{itleanProvider.js → models/itleanProvider.js} +1 -1
  141. package/src/models/language.js +21 -0
  142. package/src/{lineConfigurations.js → models/lineConfigurations.js} +1 -1
  143. package/src/{lines.js → models/lines.js} +1 -1
  144. package/src/{messagesHsm.js → models/messagesHsm.js} +6 -2
  145. package/src/models/onlineEditions.js +27 -0
  146. package/src/{openFaqs.js → models/openFaqs.js} +1 -1
  147. package/src/{permissions.js → models/permissions.js} +1 -1
  148. package/src/{postbackGupshup.js → models/postbackGupshup.js} +1 -1
  149. package/src/{profile.js → models/profile.js} +1 -1
  150. package/src/{profiles_permission.js → models/profiles_permission.js} +1 -1
  151. package/src/{quickMessages.js → models/quickMessages.js} +1 -1
  152. package/src/models/responseChannels.js +39 -0
  153. package/src/{response_DialogNodes.js → models/response_DialogNodes.js} +1 -1
  154. package/src/{responses.js → models/responses.js} +1 -1
  155. package/src/{responsesBoxes.js → models/responsesBoxes.js} +1 -1
  156. package/src/{returnHsm.js → models/returnHsm.js} +1 -1
  157. package/src/models/sendHsm.js +51 -0
  158. package/src/models/sendHsmReturnHsm.js +13 -0
  159. package/src/{sessions.js → models/sessions.js} +1 -1
  160. package/src/{skill.js → models/skill.js} +1 -1
  161. package/src/{socketClients.js → models/socketClients.js} +1 -1
  162. package/src/{stopwords.js → models/stopwords.js} +1 -1
  163. package/src/{subDepartments.js → models/subDepartments.js} +1 -1
  164. package/src/{synonyms.js → models/synonyms.js} +1 -1
  165. package/src/{systemUsers.js → models/systemUsers.js} +1 -1
  166. package/src/{systemUsers_Lines.js → models/systemUsers_Lines.js} +1 -1
  167. package/src/{systemUsers_profiles.js → models/systemUsers_profiles.js} +1 -1
  168. package/src/{templates.js → models/templates.js} +1 -1
  169. package/src/{transhipConversations.js → models/transhipConversations.js} +1 -1
  170. package/src/{transhipInactivityTriggers.js → models/transhipInactivityTriggers.js} +1 -1
  171. package/src/{transhipTriggers.js → models/transhipTriggers.js} +1 -1
  172. package/src/presenters/database/migrationHelpers.js +62 -0
  173. package/src/presenters/encryptation.js +14 -0
  174. package/src/seeders/20210414180447-change-ChannelTypes.js +47 -0
  175. package/src/seeders/20210505130137-insert-channel-types.js +65 -0
  176. package/src/seeders/20210505132612-insert-intelligence.js +27 -0
  177. package/src/seeders/20210505134121-insert-enterprise.js +15 -0
  178. package/src/seeders/20210505134345-insert-permissions.js +125 -0
  179. package/src/seeders/20210505134549-insert-profiles.js +39 -0
  180. package/src/seeders/20210505134700-insert-profiles-permissions.js +80 -0
  181. package/src/seeders/20210505135931-insert-system-users.js +52 -0
  182. package/src/seeders/20210505140025-insert-system-users-profiles.js +26 -0
  183. package/src/seeders/20210505140049-insert-language.js +21 -0
  184. package/src/seeders/20210505140259-insert-itlean-provider.js +34 -0
  185. package/src/seeders/20210505140343-insert-templates.js +228 -0
  186. package/src/seeders/20210505140658-insert-channel-configurations.js +146 -0
  187. package/src/seeders/20210618132740-add-new-channel-configutations.js +45 -0
  188. package/src/seeders/20210817081230-insert-profiles-permissions.js +105 -0
  189. package/src/seeders/20210830131930-insert-profiles-permissions.js +71 -0
  190. package/src/seeders/20210902160430-insert-apiKey.js +30 -0
  191. package/src/seeders/20211005135921-edit-gupshup-reponseTypes.js +47 -0
  192. package/index.js +0 -125
@@ -1,4 +1,4 @@
1
- exports.AttendancesModel = (sequelize, DataTypes) => {
1
+ exports.model = (sequelize, DataTypes) => {
2
2
  const Attendances = sequelize.define('Attendances', {
3
3
  SessionId: {
4
4
  type: DataTypes.UUID,
@@ -1,4 +1,4 @@
1
- exports.BotIterablesModel = (sequelize, DataType) => {
1
+ exports.model = (sequelize, DataType) => {
2
2
  const BotIterables = sequelize.define('BotIterables', {
3
3
  context: {
4
4
  type: DataType.JSON,
@@ -8,10 +8,6 @@ exports.BotIterablesModel = (sequelize, DataType) => {
8
8
  type: DataType.STRING(100),
9
9
  allowNull: true,
10
10
  },
11
- context: {
12
- type: DataType.JSON,
13
- defaultValue: [],
14
- },
15
11
  action:{
16
12
  type: DataType.ENUM({
17
13
  values: ['bot', 'client'],
@@ -1,4 +1,4 @@
1
- exports.BranchesModel = (sequelize, DataTypes) => {
1
+ exports.model = (sequelize, DataTypes) => {
2
2
  const Branches = sequelize.define('Branches', {
3
3
  EnterpriseId: {
4
4
  type: DataTypes.UUID,
@@ -1,4 +1,4 @@
1
- exports.ChannelConfigurationsModel = (sequelize, DataTypes) => {
1
+ exports.model = (sequelize, DataTypes) => {
2
2
  const ChannelConfigurations = sequelize.define('ChannelConfigurations', {
3
3
  ChannelTypeId: {
4
4
  type: DataTypes.UUID,
@@ -1,4 +1,13 @@
1
- exports.ChannelTypesModel = (sequelize, DataTypes) => {
1
+ const CHANNEL_TYPES = {
2
+ WEB_CHAT: 'webchat',
3
+ WHATS_APP: 'whatsapp',
4
+ DEFAULT: 'default',
5
+ FACEBOOK: 'facebook',
6
+ WHATSAPP_INTERAXA: 'whatsapp_interaxa',
7
+ WHATSAPP_GUPSHUP: 'whatsapp_gupshup',
8
+ }
9
+
10
+ const ChannelTypesModel = (sequelize, DataTypes) => {
2
11
  const ChannelTypes = sequelize.define('ChannelTypes', {
3
12
  channelName: {
4
13
  allowNull: false,
@@ -50,3 +59,8 @@ exports.ChannelTypesModel = (sequelize, DataTypes) => {
50
59
 
51
60
  return ChannelTypes
52
61
  }
62
+
63
+ module.exports = {
64
+ model: ChannelTypesModel,
65
+ CHANNEL_TYPES,
66
+ }
@@ -1,4 +1,4 @@
1
- exports.ChannelsModel = (sequelize, DataTypes) => {
1
+ exports.model = (sequelize, DataTypes) => {
2
2
  const Channels = sequelize.define('Channels', {
3
3
  SkillId: {
4
4
  type: DataTypes.UUID,
@@ -1,4 +1,4 @@
1
- exports.ClientModel = (sequelize, DataType) => {
1
+ exports.model = (sequelize, DataType) => {
2
2
  const Client = sequelize.define('Client', {
3
3
  clientId: {
4
4
  type: DataType.STRING,
@@ -1,4 +1,4 @@
1
- exports.CommentsModel = (sequelize, DataTypes) => {
1
+ exports.model = (sequelize, DataTypes) => {
2
2
  const Comments = sequelize.define('Comments', {
3
3
  AttendanceId: {
4
4
  type: DataTypes.UUID,
@@ -0,0 +1,41 @@
1
+ exports.model = (sequelize, DataTypes) => {
2
+ const Contacts = sequelize.define('Contacts', {
3
+ EnterpriseId: {
4
+ type: DataTypes.UUID,
5
+ allowNull: false,
6
+ references: {
7
+ model: 'Enterprises',
8
+ key: 'id',
9
+ },
10
+ onDelete: 'RESTRICT',
11
+ onUpdate: 'CASCADE',
12
+ },
13
+ content: {
14
+ allowNull: false,
15
+ type: DataTypes.JSONB,
16
+ validate: {
17
+ notEmpty: true,
18
+ },
19
+ },
20
+ allSelected: {
21
+ type: DataTypes.BOOLEAN,
22
+ allowNull: true,
23
+ defaultValue: false,
24
+ },
25
+ headers: {
26
+ allowNull: true,
27
+ type: DataTypes.JSONB,
28
+ },
29
+ })
30
+
31
+ Contacts.associate = (models) => {
32
+ Contacts.belongsTo(models.Enterprises)
33
+ Contacts.belongsToMany(models.Groups, {
34
+ through: 'GroupsContacts',
35
+ as: 'Groups',
36
+ })
37
+ }
38
+
39
+ return Contacts
40
+ }
41
+
@@ -1,4 +1,4 @@
1
- exports.CustomPostbacksModel = (sequelize, DataTypes) => {
1
+ exports.model = (sequelize, DataTypes) => {
2
2
 
3
3
  const CustomPostbacks = sequelize.define('CustomPostbacks', {
4
4
  EnterpriseId: {
@@ -1,4 +1,4 @@
1
- exports.DepartmentsModel = (sequelize, DataTypes) => {
1
+ exports.model = (sequelize, DataTypes) => {
2
2
  const Departments = sequelize.define('Departments', {
3
3
  EnterpriseId: {
4
4
  type: DataTypes.UUID,
@@ -152,5 +152,5 @@ const DialogNodesModel = (sequelize, Sequelize) => {
152
152
  module.exports = {
153
153
  DIALOG_NODE_TYPE,
154
154
  DIALOG_NODE_TYPES,
155
- DialogNodesModel
155
+ model: DialogNodesModel
156
156
  }
@@ -1,4 +1,4 @@
1
- exports.DialogNodes_MultipleResponsesModel = (sequelize, Sequelize) => {
1
+ exports.model = (sequelize, Sequelize) => {
2
2
  const DialogNodes_MultipleResponses = sequelize.define(
3
3
  'DialogNodes_MultipleResponses',
4
4
  {
@@ -1,4 +1,4 @@
1
- exports.DialogNodes_ApiResourcesModel = (sequelize, Sequelize) => {
1
+ exports.model = (sequelize, Sequelize) => {
2
2
  const DialogNodes_ApiResources = sequelize.define(
3
3
  'DialogNodes_ApiResources',
4
4
  {
@@ -1,4 +1,4 @@
1
- exports.EndSessionTriggersModel = (sequelize, DataTypes) => {
1
+ exports.model = (sequelize, DataTypes) => {
2
2
  const EndSessionTriggers = sequelize.define('EndSessionTriggers', {
3
3
  DialogNodeId: {
4
4
  type: DataTypes.UUID,
@@ -1,4 +1,4 @@
1
- exports.EnterprisesModel = (sequelize, DataTypes) => {
1
+ exports.model = (sequelize, DataTypes) => {
2
2
  const Enterprises = sequelize.define('Enterprises', {
3
3
  cnpj: {
4
4
  type: DataTypes.STRING(18),
@@ -1,4 +1,4 @@
1
- exports.EntityModel = (sequelize, types) => {
1
+ exports.model = (sequelize, types) => {
2
2
  const Entity = sequelize.define('Entity', {
3
3
  SkillId: {
4
4
  type: types.UUID,
@@ -57,7 +57,7 @@ const EntityValuesModel = (sequelize, types) => {
57
57
  }
58
58
 
59
59
  module.exports = {
60
- EntityValuesModel,
60
+ model: EntityValuesModel,
61
61
  ENTITY_VALUES_TYPE,
62
62
  ENTITY_VALUES_TYPES,
63
63
  }
@@ -1,4 +1,4 @@
1
- exports.FaqQuestionsModel = (sequelize, Sequelize) => {
1
+ exports.model = (sequelize, Sequelize) => {
2
2
  const OpenFAQs = sequelize.define('FaqQuestions', {
3
3
  name: {
4
4
  type: Sequelize.STRING(255),
@@ -1,4 +1,4 @@
1
- exports.FaqTriggersModel = (sequelize, DataTypes) => {
1
+ exports.model = (sequelize, DataTypes) => {
2
2
  const FaqTriggers = sequelize.define('FaqTriggers', {
3
3
  DialogNodeId: {
4
4
  type: DataTypes.UUID,
@@ -0,0 +1,28 @@
1
+ exports.model = (sequelize, DataTypes) => {
2
+ const Fields = sequelize.define('Fields', {
3
+ EnterpriseId: {
4
+ type: DataTypes.UUID,
5
+ allowNull: false,
6
+ references: {
7
+ model: 'Enterprises',
8
+ key: 'id',
9
+ },
10
+ onDelete: 'RESTRICT',
11
+ onUpdate: 'CASCADE',
12
+ },
13
+ fields: {
14
+ allowNull: false,
15
+ type: DataTypes.JSONB,
16
+ validate: {
17
+ notEmpty: true,
18
+ },
19
+ },
20
+ })
21
+
22
+ Fields.associate = (models) => {
23
+ Fields.belongsTo(models.Enterprises)
24
+ }
25
+
26
+ return Fields
27
+ }
28
+
@@ -1,4 +1,4 @@
1
- exports.FilesModel = (sequelize, DataTypes) => {
1
+ exports.model = (sequelize, DataTypes) => {
2
2
  const Files = sequelize.define('Files', {
3
3
  EnterpriseId: {
4
4
  type: DataTypes.UUID,
@@ -0,0 +1,45 @@
1
+ exports.model = (sequelize, DataTypes) => {
2
+ const Groups = sequelize.define('Groups', {
3
+ EnterpriseId: {
4
+ type: DataTypes.UUID,
5
+ allowNull: false,
6
+ references: {
7
+ model: 'Enterprises',
8
+ key: 'id',
9
+ },
10
+ onDelete: 'RESTRICT',
11
+ onUpdate: 'CASCADE',
12
+ },
13
+ name: {
14
+ allowNull: false,
15
+ type: DataTypes.STRING,
16
+ validate: {
17
+ notEmpty: true,
18
+ },
19
+ },
20
+ allSelected: {
21
+ type: DataTypes.BOOLEAN,
22
+ allowNull: true,
23
+ defaultValue: false,
24
+ },
25
+ description: {
26
+ allowNull: true,
27
+ type: DataTypes.STRING,
28
+ },
29
+ })
30
+
31
+ Groups.associate = (models) => {
32
+ Groups.belongsTo(models.Enterprises)
33
+ Groups.belongsToMany(models.Contacts, {
34
+ through: 'GroupsContacts',
35
+ as: 'Contacts',
36
+ })
37
+ Groups.belongsToMany(models.SendHsms, {
38
+ through: 'GroupsSendHsms',
39
+ as: 'SendHsms',
40
+ })
41
+ }
42
+
43
+ return Groups
44
+ }
45
+
@@ -0,0 +1,13 @@
1
+ exports.model = (sequelize, DataTypes) => {
2
+ const GroupsContacts = sequelize.define('GroupsContacts', {
3
+ GroupId: {
4
+ type: DataTypes.UUID,
5
+ },
6
+ ContactId: {
7
+ type: DataTypes.UUID,
8
+ },
9
+ })
10
+
11
+ return GroupsContacts
12
+ }
13
+
@@ -0,0 +1,13 @@
1
+ exports.model = (sequelize, DataTypes) => {
2
+ const GroupsSendHsms = sequelize.define('GroupsSendHsms', {
3
+ GroupId: {
4
+ type: DataTypes.UUID,
5
+ },
6
+ SendHsmId: {
7
+ type: DataTypes.UUID,
8
+ },
9
+ })
10
+
11
+ return GroupsSendHsms
12
+ }
13
+
@@ -1,4 +1,4 @@
1
- exports.IbmProviderModel = (sequelize, types) => {
1
+ exports.model = (sequelize, types) => {
2
2
  const IbmProvider = sequelize.define('IbmProvider', {
3
3
  url: {
4
4
  type: types.STRING,
@@ -1,4 +1,4 @@
1
- exports.InactivityTriggersModel = (sequelize, DataTypes) => {
1
+ exports.model = (sequelize, DataTypes) => {
2
2
  const InactivityTriggers = sequelize.define('InactivityTriggers', {
3
3
  SkillId: {
4
4
  allowNull: false,
@@ -0,0 +1,45 @@
1
+ const fs = require('fs')
2
+ const path = require('path')
3
+ const Sequelize = require('sequelize')
4
+ const basename = path.basename(__filename)
5
+
6
+ module.exports = (config) => {
7
+ const db = {}
8
+ let sequelize
9
+
10
+ if (config.use_env_variable) {
11
+ sequelize = new Sequelize(process.env[config.use_env_variable], config)
12
+ } else {
13
+ sequelize = new Sequelize(
14
+ config.database,
15
+ config.username,
16
+ config.password,
17
+ config
18
+ )
19
+ }
20
+
21
+ fs.readdirSync(__dirname)
22
+ .filter((file) => {
23
+ return (
24
+ file.indexOf('.') !== 0 && file !== basename && file.slice(-3) === '.js'
25
+ )
26
+ })
27
+ .forEach((file) => {
28
+ const model = require(path.join(__dirname, file)).model(
29
+ sequelize,
30
+ Sequelize.DataTypes
31
+ )
32
+ db[model.name] = model
33
+ })
34
+
35
+ Object.keys(db).forEach((modelName) => {
36
+ if (db[modelName].associate) {
37
+ db[modelName].associate(db)
38
+ }
39
+ })
40
+
41
+ db.sequelize = sequelize
42
+ db.Sequelize = Sequelize
43
+
44
+ return db
45
+ }
@@ -39,7 +39,7 @@ const IntelligenceModel = (sequelize, types) => {
39
39
  }
40
40
 
41
41
  module.exports = {
42
- IntelligenceModel,
42
+ model: IntelligenceModel,
43
43
  PROVIDER_TYPE,
44
44
  PROVIDER_TYPES,
45
45
  }
@@ -1,4 +1,4 @@
1
- exports.IntentionModel = (sequelize, types) => {
1
+ exports.model = (sequelize, types) => {
2
2
  const Intention = sequelize.define('Intention', {
3
3
  SkillId: {
4
4
  type: types.UUID,
@@ -1,4 +1,4 @@
1
- exports.IntentionValueModel = (sequelize, types) => {
1
+ exports.model = (sequelize, types) => {
2
2
  const IntentionValue = sequelize.define('IntentionValue', {
3
3
  IntentionId: {
4
4
  type: types.UUID,
@@ -1,4 +1,4 @@
1
- exports.ItleanProviderModel = (sequelize, types) => {
1
+ exports.model = (sequelize, types) => {
2
2
  const ItleanProvider = sequelize.define('ItleanProvider', {
3
3
  active: {
4
4
  type: types.BOOLEAN,
@@ -0,0 +1,21 @@
1
+ exports.model = (sequelize, types) => {
2
+ const Languages = sequelize.define('Language', {
3
+ label: {
4
+ type: types.STRING,
5
+ allowNull: false,
6
+ validate: {
7
+ notEmpty: true,
8
+ },
9
+ },
10
+
11
+ value: {
12
+ type: types.STRING,
13
+ allowNull: false,
14
+ validate: {
15
+ notEmpty: true,
16
+ },
17
+ },
18
+ })
19
+ return Languages
20
+ }
21
+
@@ -1,4 +1,4 @@
1
- exports.LineConfigurationsModel = (sequelize, DataTypes) => {
1
+ exports.model = (sequelize, DataTypes) => {
2
2
  const LineConfigurations = sequelize.define('LineConfigurations', {
3
3
  LineId: {
4
4
  type: DataTypes.UUID,
@@ -1,4 +1,4 @@
1
- exports.LinesModel = (sequelize, DataTypes) => {
1
+ exports.model = (sequelize, DataTypes) => {
2
2
  const Lines = sequelize.define('Lines', {
3
3
  BranchId: {
4
4
  type: DataTypes.UUID,
@@ -5,7 +5,7 @@ const STATUS_MESSAGES = {
5
5
  4: 'Recusado',
6
6
  }
7
7
 
8
- exports.MessagesHsmsModel = (sequelize, DataTypes) => {
8
+ const MessagesHsms = (sequelize, DataTypes) => {
9
9
  const MessagesHsms = sequelize.define('MessagesHsms', {
10
10
  EnterpriseId: {
11
11
  type: DataTypes.UUID,
@@ -68,4 +68,8 @@ const STATUS_MESSAGES = {
68
68
 
69
69
  return MessagesHsms
70
70
  }
71
-
71
+
72
+ module.exports = {
73
+ model: MessagesHsms,
74
+ STATUS_MESSAGES
75
+ }
@@ -0,0 +1,27 @@
1
+ exports.model = (sequelize, DataTypes) => {
2
+ const OnlineEditions = sequelize.define('OnlineEditions', {
3
+ SystemUserId: {
4
+ type: DataTypes.UUID,
5
+ allowNull: false,
6
+ },
7
+ socketId: {
8
+ type: DataTypes.STRING,
9
+ allowNull: false,
10
+ },
11
+ payload: {
12
+ type: DataTypes.JSON,
13
+ allowNull: false,
14
+ },
15
+ moduleName: {
16
+ type: DataTypes.STRING(50),
17
+ allowNull: false,
18
+ },
19
+ })
20
+
21
+ OnlineEditions.associate = (models) => {
22
+ OnlineEditions.belongsTo(models.SystemUsers)
23
+ }
24
+
25
+ return OnlineEditions
26
+ }
27
+
@@ -1,4 +1,4 @@
1
- exports.OpenFAQsModel = (sequelize, Sequelize) => {
1
+ exports.model = (sequelize, Sequelize) => {
2
2
  const OpenFAQs = sequelize.define('OpenFAQs', {
3
3
  name: {
4
4
  allowNull: false,
@@ -1,4 +1,4 @@
1
- exports.PermissionsModel = (sequelize, DataTypes) => {
1
+ exports.model = (sequelize, DataTypes) => {
2
2
  const Permissions = sequelize.define('Permissions', {
3
3
  permissionCode: {
4
4
  type: DataTypes.STRING(50),
@@ -1,4 +1,4 @@
1
- exports.PostbackGupshupModel = (sequelize, DataTypes) => {
1
+ exports.model = (sequelize, DataTypes) => {
2
2
  const PostbackGupshupModel = sequelize.define('PostbackGupshups', {
3
3
  app: {
4
4
  allowNull: true,
@@ -1,4 +1,4 @@
1
- exports.ProfilesModel = (sequelize, DataTypes) => {
1
+ exports.model = (sequelize, DataTypes) => {
2
2
  const Profiles = sequelize.define('Profiles', {
3
3
  name: {
4
4
  allowNull: false,
@@ -1,4 +1,4 @@
1
- exports.Profiles_PermissionsModel = (sequelize, DataTypes) => {
1
+ exports.model = (sequelize, DataTypes) => {
2
2
  const Profiles_Permissions = sequelize.define('Profiles_Permissions', {
3
3
  ProfileId: {
4
4
  type: DataTypes.UUID,
@@ -1,4 +1,4 @@
1
- exports.QuickMessagesModel = (sequelize, DataTypes) => {
1
+ exports.model = (sequelize, DataTypes) => {
2
2
  const QuickMessages = sequelize.define('QuickMessages', {
3
3
  LineId: {
4
4
  type: DataTypes.UUID,
@@ -0,0 +1,39 @@
1
+ const ResponseChannelsModel = (sequelize, types) => {
2
+ const ResponseChannels = sequelize.define('ResponseChannels', {
3
+ name: {
4
+ allowNull: false,
5
+ type: types.STRING,
6
+ },
7
+ payload: {
8
+ allowNull: false,
9
+ type: types.JSON,
10
+ },
11
+ active: {
12
+ allowNull: false,
13
+ type: types.BOOLEAN,
14
+ defaultValue: true,
15
+ },
16
+ version: {
17
+ allowNull: false,
18
+ type: types.STRING,
19
+ defaultValue: '1.0',
20
+ },
21
+ ChannelTypeId: {
22
+ type: types.UUID,
23
+ allowNull: true,
24
+ references: {
25
+ model: 'ChannelTypes',
26
+ key: 'id',
27
+ },
28
+ onDelete: 'RESTRICT',
29
+ onUpdate: 'CASCADE',
30
+ },
31
+ })
32
+
33
+ return ResponseChannels
34
+ }
35
+
36
+
37
+ module.exports = {
38
+ model: ResponseChannelsModel,
39
+ }
@@ -1,4 +1,4 @@
1
- exports.Response_DialogNodesModel = (sequelize, Sequelize) => {
1
+ exports.model = (sequelize, Sequelize) => {
2
2
  const Response_DialogNodes = sequelize.define('Response_DialogNodes', {
3
3
  DialogNodeId: {
4
4
  type: Sequelize.UUID,
@@ -51,5 +51,5 @@
51
51
  module.exports = {
52
52
  RESPONSE_BOXES_TYPE,
53
53
  RESPONSE_BOXES_TYPES,
54
- ResponsesModel
54
+ model: ResponsesModel
55
55
  }
@@ -62,5 +62,5 @@ const ResponsesBoxesModel = (sequelize, types) => {
62
62
  module.exports = {
63
63
  RESPONSE_BOXES_TYPE,
64
64
  RESPONSE_BOXES_TYPES,
65
- ResponsesBoxesModel
65
+ model: ResponsesBoxesModel
66
66
  }
@@ -1,4 +1,4 @@
1
- exports.ReturnHsmModel = (sequelize, DataTypes) => {
1
+ exports.model = (sequelize, DataTypes) => {
2
2
  const ReturnHsmsModel = sequelize.define('ReturnHsms', {
3
3
  body: {
4
4
  allowNull: true,