@botonic/core 0.26.0 → 0.26.1-alpha.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 (102) hide show
  1. package/lib/cjs/core-bot.d.ts +1 -3
  2. package/lib/cjs/core-bot.js +3 -33
  3. package/lib/cjs/core-bot.js.map +1 -1
  4. package/lib/cjs/handoff.d.ts +1 -1
  5. package/lib/cjs/index.d.ts +0 -1
  6. package/lib/cjs/index.js +0 -3
  7. package/lib/cjs/index.js.map +1 -1
  8. package/lib/cjs/models/legacy-types.d.ts +42 -39
  9. package/lib/cjs/models/legacy-types.js +15 -32
  10. package/lib/cjs/models/legacy-types.js.map +1 -1
  11. package/lib/cjs/plugins.d.ts +2 -3
  12. package/lib/cjs/plugins.js +2 -4
  13. package/lib/cjs/plugins.js.map +1 -1
  14. package/lib/cjs/utils.d.ts +8 -0
  15. package/lib/cjs/utils.js +32 -1
  16. package/lib/cjs/utils.js.map +1 -1
  17. package/lib/esm/core-bot.d.ts +1 -3
  18. package/lib/esm/core-bot.js +4 -34
  19. package/lib/esm/core-bot.js.map +1 -1
  20. package/lib/esm/handoff.d.ts +1 -1
  21. package/lib/esm/index.d.ts +0 -1
  22. package/lib/esm/index.js +0 -3
  23. package/lib/esm/index.js.map +1 -1
  24. package/lib/esm/models/legacy-types.d.ts +42 -39
  25. package/lib/esm/models/legacy-types.js +14 -31
  26. package/lib/esm/models/legacy-types.js.map +1 -1
  27. package/lib/esm/plugins.d.ts +2 -3
  28. package/lib/esm/plugins.js +2 -4
  29. package/lib/esm/plugins.js.map +1 -1
  30. package/lib/esm/utils.d.ts +8 -0
  31. package/lib/esm/utils.js +24 -0
  32. package/lib/esm/utils.js.map +1 -1
  33. package/package.json +1 -6
  34. package/src/core-bot.ts +2 -56
  35. package/src/handoff.ts +1 -1
  36. package/src/index.ts +0 -3
  37. package/src/models/legacy-types.ts +76 -76
  38. package/src/plugins.ts +2 -8
  39. package/src/utils.ts +32 -0
  40. package/lib/cjs/data-provider/dynamodb-data-provider.d.ts +0 -26
  41. package/lib/cjs/data-provider/dynamodb-data-provider.js +0 -107
  42. package/lib/cjs/data-provider/dynamodb-data-provider.js.map +0 -1
  43. package/lib/cjs/data-provider/dynamodb-utils.d.ts +0 -11
  44. package/lib/cjs/data-provider/dynamodb-utils.js +0 -121
  45. package/lib/cjs/data-provider/dynamodb-utils.js.map +0 -1
  46. package/lib/cjs/data-provider/factory.d.ts +0 -25
  47. package/lib/cjs/data-provider/factory.js +0 -31
  48. package/lib/cjs/data-provider/factory.js.map +0 -1
  49. package/lib/cjs/data-provider/index.d.ts +0 -4
  50. package/lib/cjs/data-provider/index.js +0 -8
  51. package/lib/cjs/data-provider/index.js.map +0 -1
  52. package/lib/cjs/data-provider/local-data-provider.d.ts +0 -26
  53. package/lib/cjs/data-provider/local-data-provider.js +0 -137
  54. package/lib/cjs/data-provider/local-data-provider.js.map +0 -1
  55. package/lib/cjs/output-parser/botonic-output-parser.d.ts +0 -16
  56. package/lib/cjs/output-parser/botonic-output-parser.js +0 -37
  57. package/lib/cjs/output-parser/botonic-output-parser.js.map +0 -1
  58. package/lib/cjs/output-parser/factory.d.ts +0 -4
  59. package/lib/cjs/output-parser/factory.js +0 -36
  60. package/lib/cjs/output-parser/factory.js.map +0 -1
  61. package/lib/cjs/output-parser/index.d.ts +0 -3
  62. package/lib/cjs/output-parser/index.js +0 -7
  63. package/lib/cjs/output-parser/index.js.map +0 -1
  64. package/lib/cjs/output-parser/parsers.d.ts +0 -26
  65. package/lib/cjs/output-parser/parsers.js +0 -171
  66. package/lib/cjs/output-parser/parsers.js.map +0 -1
  67. package/lib/esm/data-provider/dynamodb-data-provider.d.ts +0 -26
  68. package/lib/esm/data-provider/dynamodb-data-provider.js +0 -103
  69. package/lib/esm/data-provider/dynamodb-data-provider.js.map +0 -1
  70. package/lib/esm/data-provider/dynamodb-utils.d.ts +0 -11
  71. package/lib/esm/data-provider/dynamodb-utils.js +0 -113
  72. package/lib/esm/data-provider/dynamodb-utils.js.map +0 -1
  73. package/lib/esm/data-provider/factory.d.ts +0 -25
  74. package/lib/esm/data-provider/factory.js +0 -27
  75. package/lib/esm/data-provider/factory.js.map +0 -1
  76. package/lib/esm/data-provider/index.d.ts +0 -4
  77. package/lib/esm/data-provider/index.js +0 -5
  78. package/lib/esm/data-provider/index.js.map +0 -1
  79. package/lib/esm/data-provider/local-data-provider.d.ts +0 -26
  80. package/lib/esm/data-provider/local-data-provider.js +0 -133
  81. package/lib/esm/data-provider/local-data-provider.js.map +0 -1
  82. package/lib/esm/output-parser/botonic-output-parser.d.ts +0 -16
  83. package/lib/esm/output-parser/botonic-output-parser.js +0 -33
  84. package/lib/esm/output-parser/botonic-output-parser.js.map +0 -1
  85. package/lib/esm/output-parser/factory.d.ts +0 -4
  86. package/lib/esm/output-parser/factory.js +0 -32
  87. package/lib/esm/output-parser/factory.js.map +0 -1
  88. package/lib/esm/output-parser/index.d.ts +0 -3
  89. package/lib/esm/output-parser/index.js +0 -4
  90. package/lib/esm/output-parser/index.js.map +0 -1
  91. package/lib/esm/output-parser/parsers.d.ts +0 -26
  92. package/lib/esm/output-parser/parsers.js +0 -151
  93. package/lib/esm/output-parser/parsers.js.map +0 -1
  94. package/src/data-provider/dynamodb-data-provider.ts +0 -105
  95. package/src/data-provider/dynamodb-utils.ts +0 -149
  96. package/src/data-provider/factory.ts +0 -60
  97. package/src/data-provider/index.ts +0 -4
  98. package/src/data-provider/local-data-provider.ts +0 -154
  99. package/src/output-parser/botonic-output-parser.ts +0 -38
  100. package/src/output-parser/factory.ts +0 -45
  101. package/src/output-parser/index.ts +0 -3
  102. package/src/output-parser/parsers.ts +0 -237
@@ -1,19 +1,30 @@
1
1
  // TODO: This file contains all the legacy types we had in index.ts. After some refactors, we should be able to get rid of many of them.
2
2
 
3
- import { DataProvider } from '../data-provider'
4
- import { BotonicEvent } from './events'
3
+ export enum CASE_STATUS {
4
+ WAITING = 'status_waiting',
5
+ ATTENDING = 'status_attending',
6
+ IDLE = 'status_idle',
7
+ RESOLVED = 'status_resolved',
8
+ }
5
9
 
6
10
  export type CaseStatusType =
7
- | typeof CASE_STATUS.ATTENDING
8
- | typeof CASE_STATUS.IDLE
9
- | typeof CASE_STATUS.RESOLVED
10
- | typeof CASE_STATUS.WAITING
11
+ | CASE_STATUS.ATTENDING
12
+ | CASE_STATUS.IDLE
13
+ | CASE_STATUS.RESOLVED
14
+ | CASE_STATUS.WAITING
15
+
16
+ export enum CASE_RESOLUTION {
17
+ OK = 'result_ok',
18
+ NOK = 'result_nok',
19
+ NOT_SOLVED = 'result_not_solved',
20
+ BANNED = 'result_banned',
21
+ }
11
22
 
12
23
  export type CaseResolution =
13
- | typeof CASE_RESOLUTION.BANNED
14
- | typeof CASE_RESOLUTION.NOK
15
- | typeof CASE_RESOLUTION.NOT_SOLVED
16
- | typeof CASE_RESOLUTION.OK
24
+ | CASE_RESOLUTION.BANNED
25
+ | CASE_RESOLUTION.NOK
26
+ | CASE_RESOLUTION.NOT_SOLVED
27
+ | CASE_RESOLUTION.OK
17
28
 
18
29
  export enum PROVIDER {
19
30
  APPLE = 'apple',
@@ -30,6 +41,19 @@ export enum PROVIDER {
30
41
  WHATSAPP = 'whatsapp',
31
42
  }
32
43
 
44
+ export type ProviderType =
45
+ | PROVIDER.DEV
46
+ | PROVIDER.FACEBOOK
47
+ | PROVIDER.GENERIC
48
+ | PROVIDER.INSTAGRAM
49
+ | PROVIDER.INTERCOM
50
+ | PROVIDER.SMOOCH
51
+ | PROVIDER.TELEGRAM
52
+ | PROVIDER.TWITTER
53
+ | PROVIDER.WEBCHAT
54
+ | PROVIDER.WECHAT
55
+ | PROVIDER.WHATSAPP
56
+
33
57
  export enum INPUT {
34
58
  TEXT = 'text',
35
59
  POSTBACK = 'postback',
@@ -50,20 +74,6 @@ export enum INPUT {
50
74
  WHATSAPP_CTA_URL_BUTTON = 'whatsapp-cta-url-button',
51
75
  }
52
76
 
53
- export enum CASE_STATUS {
54
- WAITING = 'status_waiting',
55
- ATTENDING = 'status_attending',
56
- IDLE = 'status_idle',
57
- RESOLVED = 'status_resolved',
58
- }
59
-
60
- export enum CASE_RESOLUTION {
61
- OK = 'result_ok',
62
- NOK = 'result_nok',
63
- NOT_SOLVED = 'result_not_solved',
64
- BANNED = 'result_banned',
65
- }
66
-
67
77
  export interface Locales {
68
78
  [id: string]: string | string[] | Locales
69
79
  }
@@ -86,22 +96,22 @@ export interface ResolvedPlugin extends Plugin {
86
96
  export type ResolvedPlugins = Record<string, ResolvedPlugin>
87
97
 
88
98
  export type InputType =
89
- | typeof INPUT.AUDIO
90
- | typeof INPUT.BUTTON_MESSAGE
91
- | typeof INPUT.CAROUSEL
92
- | typeof INPUT.CONTACT
93
- | typeof INPUT.CUSTOM
94
- | typeof INPUT.DOCUMENT
95
- | typeof INPUT.IMAGE
96
- | typeof INPUT.LOCATION
97
- | typeof INPUT.POSTBACK
98
- | typeof INPUT.TEXT
99
- | typeof INPUT.VIDEO
100
- | typeof INPUT.WEBCHAT_SETTINGS
101
- | typeof INPUT.WHATSAPP_TEMPLATE
102
- | typeof INPUT.CHAT_EVENT
103
- | typeof INPUT.WHATSAPP_BUTTON_LIST
104
- | typeof INPUT.WHATSAPP_CTA_URL_BUTTON
99
+ | INPUT.AUDIO
100
+ | INPUT.BUTTON_MESSAGE
101
+ | INPUT.CAROUSEL
102
+ | INPUT.CONTACT
103
+ | INPUT.CUSTOM
104
+ | INPUT.DOCUMENT
105
+ | INPUT.IMAGE
106
+ | INPUT.LOCATION
107
+ | INPUT.POSTBACK
108
+ | INPUT.TEXT
109
+ | INPUT.VIDEO
110
+ | INPUT.WEBCHAT_SETTINGS
111
+ | INPUT.WHATSAPP_TEMPLATE
112
+ | INPUT.CHAT_EVENT
113
+ | INPUT.WHATSAPP_BUTTON_LIST
114
+ | INPUT.WHATSAPP_CTA_URL_BUTTON
105
115
 
106
116
  export interface IntentResult {
107
117
  intent: string
@@ -132,21 +142,22 @@ export interface Input extends Partial<NluResult> {
132
142
  data?: string
133
143
  path?: string
134
144
  payload?: string
145
+ referral?: string
135
146
  type: InputType
147
+ context?: {
148
+ campaign?: Campaign
149
+ }
136
150
  }
137
151
 
138
- export type ProviderType =
139
- | typeof PROVIDER.DEV
140
- | typeof PROVIDER.FACEBOOK
141
- | typeof PROVIDER.GENERIC
142
- | typeof PROVIDER.INSTAGRAM
143
- | typeof PROVIDER.INTERCOM
144
- | typeof PROVIDER.SMOOCH
145
- | typeof PROVIDER.TELEGRAM
146
- | typeof PROVIDER.TWITTER
147
- | typeof PROVIDER.WEBCHAT
148
- | typeof PROVIDER.WECHAT
149
- | typeof PROVIDER.WHATSAPP
152
+ export interface Campaign {
153
+ id: string
154
+ name: string
155
+ status: string
156
+ start_date: string
157
+ end_date: string
158
+ bot_path: string
159
+ template_name: string
160
+ }
150
161
 
151
162
  export interface SessionUser {
152
163
  id: string
@@ -161,8 +172,12 @@ export interface SessionUser {
161
172
  imp_id?: string
162
173
  provider_id?: string
163
174
  }
175
+ export interface HubtypeCaseContactReason {
176
+ id: string
177
+ name: string
178
+ project_id: string
179
+ }
164
180
 
165
- // eslint-disable @typescript-eslint/naming-convention
166
181
  export interface Session {
167
182
  bot: {
168
183
  id: string
@@ -170,18 +185,23 @@ export interface Session {
170
185
  }
171
186
  __locale?: string
172
187
  __retries: number
188
+ _access_token: string
189
+ _hubtype_api: string
173
190
  is_first_interaction: boolean
174
191
  last_session?: any
175
- organization: string
176
192
  organization_id: string
193
+ organization: string
177
194
  user: SessionUser
178
195
  // after handoff
196
+ _botonic_action?: string
179
197
  _hubtype_case_status?: CaseStatusType
198
+ _hubtype_case_id?: string
180
199
  _hubtype_case_typification?: string
200
+ _hubtype_case_contact_reasons?: HubtypeCaseContactReason[]
181
201
  _shadowing?: boolean
182
- _access_token?: string
202
+ external?: any
203
+ zendesk_ticket_id?: string
183
204
  }
184
- // eslint-enable @typescript-eslint/naming-convention
185
205
 
186
206
  export type InputMatcher = (input: Input) => boolean
187
207
  export type ParamsMatcher =
@@ -225,7 +245,6 @@ export interface BotRequest {
225
245
  input: Input
226
246
  lastRoutePath: RoutePath
227
247
  session: Session
228
- dataProvider?: DataProvider
229
248
  }
230
249
 
231
250
  /** The response of the bot for the triggered actions, which can be
@@ -234,7 +253,6 @@ export interface BotRequest {
234
253
  * */
235
254
  export interface BotResponse extends BotRequest {
236
255
  response: any
237
- messageEvents: Partial<BotonicEvent>[] | null
238
256
  }
239
257
 
240
258
  export interface PluginPreRequest extends BotRequest {
@@ -253,24 +271,6 @@ export interface Params {
253
271
  [key: string]: any
254
272
  }
255
273
 
256
- export const Providers = Object.freeze({
257
- Messaging: {
258
- APPLE: 'apple',
259
- FACEBOOK: 'facebook',
260
- GENERIC: 'generic',
261
- IMBEE: 'imbee',
262
- INSTAGRAM: 'instagram',
263
- INTERCOM: 'intercom',
264
- SMOOCH_WEB: 'smooch_web',
265
- SMOOCH: 'smooch',
266
- TELEGRAM: 'telegram',
267
- TWITTER: 'twitter',
268
- WEBCHAT: 'webchat',
269
- WECHAT: 'wechat',
270
- WHATSAPP: 'whatsapp',
271
- },
272
- })
273
-
274
274
  export type Nullable<T> = T | null
275
275
 
276
276
  export type Action = Nullable<() => any>
package/src/plugins.ts CHANGED
@@ -1,6 +1,4 @@
1
- import { DataProvider } from './data-provider'
2
1
  import {
3
- BotonicEvent,
4
2
  Input,
5
3
  PluginConfig,
6
4
  ResolvedPlugins,
@@ -34,15 +32,13 @@ export async function runPlugins(
34
32
  input: Input,
35
33
  session: Session,
36
34
  lastRoutePath: RoutePath,
37
- response: string | null = null,
38
- messageEvents: Partial<BotonicEvent>[] | null = null,
39
- dataProvider?: DataProvider
35
+ response: string | null = null
40
36
  ): Promise<void> {
41
37
  for (const key in plugins) {
42
38
  const p = await plugins[key]
43
39
  try {
44
40
  if (mode === 'pre' && p.pre) {
45
- await p.pre({ input, session, lastRoutePath, dataProvider, plugins })
41
+ await p.pre({ input, session, lastRoutePath, plugins })
46
42
  }
47
43
  if (mode === 'post' && p.post) {
48
44
  await p.post({
@@ -50,8 +46,6 @@ export async function runPlugins(
50
46
  session,
51
47
  lastRoutePath,
52
48
  response,
53
- messageEvents,
54
- dataProvider,
55
49
  plugins,
56
50
  })
57
51
  }
package/src/utils.ts CHANGED
@@ -1,3 +1,5 @@
1
+ import { PROVIDER, Session } from './models/legacy-types'
2
+
1
3
  export const isNode = (): boolean => {
2
4
  // @ts-ignore
3
5
  return typeof IS_NODE !== 'undefined'
@@ -76,3 +78,33 @@ export const join = (...segments: string[]): string => {
76
78
  // A simple function to get the dirname of a path
77
79
  // Trailing slashes are ignored. Leading slash is preserved.
78
80
  export const dirname = (path: string): string => join(path, '..')
81
+
82
+ // To check Provider in session
83
+ export function isDev(session: Session) {
84
+ return session.user.provider === PROVIDER.DEV
85
+ }
86
+
87
+ export function isWebchat(session: Session) {
88
+ // When the provider is DEV should we return true because it is a webchat?
89
+ return session.user.provider === PROVIDER.WEBCHAT
90
+ }
91
+
92
+ export function isWhatsapp(session: Session) {
93
+ return session.user.provider === PROVIDER.WHATSAPP
94
+ }
95
+
96
+ export function isTelegram(session: Session) {
97
+ return session.user.provider === PROVIDER.TELEGRAM
98
+ }
99
+
100
+ export function isFacebook(session: Session) {
101
+ return session.user.provider === PROVIDER.FACEBOOK
102
+ }
103
+
104
+ export function isInstagram(session: Session) {
105
+ return session.user.provider === PROVIDER.INSTAGRAM
106
+ }
107
+
108
+ export function isTwitter(session: Session) {
109
+ return session.user.provider === PROVIDER.TWITTER
110
+ }
@@ -1,26 +0,0 @@
1
- import { Entity, Table } from 'dynamodb-toolbox';
2
- import { BotonicEvent, User } from '../models';
3
- import { DataProvider } from './factory';
4
- export declare class DynamoDBDataProvider implements DataProvider {
5
- region: string;
6
- tableName: string;
7
- userEventsTable: Table;
8
- userEntity: Entity<any>;
9
- eventEntity: Entity<any>;
10
- messageEventEntities: Record<string, Entity<any>>;
11
- textMessageEventEntity: Entity<any>;
12
- connectionEventEntity: Entity<any>;
13
- constructor(url: string);
14
- getUsers(limit?: number, offset?: number): Promise<User[]>;
15
- getUser(id: string): Promise<User | undefined>;
16
- getUserByWebsocketId(websocketId: string): Promise<User | undefined>;
17
- getUserByField(field: string, value: any): Promise<User | undefined>;
18
- saveUser(user: User): Promise<User>;
19
- updateUser(user: User): Promise<User>;
20
- deleteUser(id: string): Promise<User | undefined>;
21
- getEvents(limit?: number, offset?: number): Promise<BotonicEvent[]>;
22
- getEvent(id: string): Promise<BotonicEvent | undefined>;
23
- saveEvent(event: BotonicEvent): Promise<BotonicEvent>;
24
- updateEvent(event: BotonicEvent): Promise<BotonicEvent>;
25
- deleteEvent(id: string): Promise<BotonicEvent | undefined>;
26
- }
@@ -1,107 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DynamoDBDataProvider = void 0;
4
- const tslib_1 = require("tslib");
5
- const models_1 = require("../models");
6
- const dynamodb_utils_1 = require("./dynamodb-utils");
7
- class DynamoDBDataProvider {
8
- constructor(url) {
9
- try {
10
- const urlParts = url.split('://')[1].split('.');
11
- this.tableName = urlParts[0];
12
- this.region = urlParts[1];
13
- this.userEventsTable = (0, dynamodb_utils_1.getUserEventsTable)(this.tableName, this.region);
14
- this.userEntity = (0, dynamodb_utils_1.getUserEntity)(this.userEventsTable);
15
- this.connectionEventEntity = (0, dynamodb_utils_1.getConnectionEventEntity)(this.userEventsTable);
16
- this.messageEventEntities = (0, dynamodb_utils_1.getMessageEventEntities)(this.userEventsTable);
17
- }
18
- catch (e) {
19
- console.log({ e });
20
- }
21
- }
22
- // @ts-ignore
23
- getUsers(limit = 10, offset = 0) {
24
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
25
- // TODO: finish to implement with offset
26
- const result = yield this.userEventsTable.scan({
27
- filters: { attr: dynamodb_utils_1.SORT_KEY_NAME, beginsWith: dynamodb_utils_1.USER_PREFIX },
28
- limit,
29
- });
30
- return result.Items;
31
- });
32
- }
33
- getUser(id) {
34
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
35
- const userById = {
36
- id: id,
37
- SK: id,
38
- };
39
- const result = yield this.userEntity.get(userById);
40
- if (Object.keys(result).length === 0)
41
- return undefined;
42
- return result.Item;
43
- });
44
- }
45
- getUserByWebsocketId(websocketId) {
46
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
47
- const result = yield this.userEventsTable.query(websocketId, {
48
- index: dynamodb_utils_1.GLOBAL_SECONDARY_INDEX_NAME,
49
- });
50
- if (result.Count === 0)
51
- return undefined;
52
- return result.Items[0];
53
- });
54
- }
55
- // @ts-ignore
56
- getUserByField(field, value) {
57
- return tslib_1.__awaiter(this, void 0, void 0, function* () { });
58
- } //TODO: Implement
59
- saveUser(user) {
60
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
61
- const putUser = Object.assign(Object.assign({}, user), { id: user.id, userId: user.id });
62
- yield this.userEntity.put(putUser);
63
- return user;
64
- });
65
- }
66
- updateUser(user) {
67
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
68
- const updateUser = Object.assign(Object.assign({}, user), { id: user.id, userId: user.id });
69
- const res = yield this.userEntity.update(updateUser);
70
- return user;
71
- });
72
- }
73
- // @ts-ignore
74
- deleteUser(id) {
75
- return tslib_1.__awaiter(this, void 0, void 0, function* () { });
76
- } // TODO: Implement
77
- // @ts-ignore
78
- getEvents(limit = 10, offset = 0) {
79
- return tslib_1.__awaiter(this, void 0, void 0, function* () { });
80
- } // TODO: Implement
81
- // @ts-ignore
82
- getEvent(id) {
83
- return tslib_1.__awaiter(this, void 0, void 0, function* () { });
84
- } // TODO: Implement
85
- saveEvent(event) {
86
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
87
- if (event.eventType === models_1.EventTypes.CONNECTION) {
88
- yield this.connectionEventEntity.put(event);
89
- }
90
- if (event.eventType === models_1.EventTypes.MESSAGE) {
91
- yield this.messageEventEntities[event.type].put(event);
92
- }
93
- // TODO: Implementation of other event types
94
- return event;
95
- });
96
- }
97
- // @ts-ignore
98
- updateEvent(event) {
99
- return tslib_1.__awaiter(this, void 0, void 0, function* () { });
100
- } // TODO: Implement
101
- // @ts-ignore
102
- deleteEvent(id) {
103
- return tslib_1.__awaiter(this, void 0, void 0, function* () { });
104
- } // TODO: Implement
105
- }
106
- exports.DynamoDBDataProvider = DynamoDBDataProvider;
107
- //# sourceMappingURL=dynamodb-data-provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dynamodb-data-provider.js","sourceRoot":"","sources":["../../../src/data-provider/dynamodb-data-provider.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import { Entity, Table } from 'dynamodb-toolbox';
2
- export declare const GLOBAL_SECONDARY_INDEX_NAME = "GSI1";
3
- export declare const GLOBAL_SECONDARY_INDEX_ATTR = "websocketId";
4
- export declare const PARTITION_KEY_NAME = "PK";
5
- export declare const SORT_KEY_NAME = "SK";
6
- export declare const USER_PREFIX = "USR#";
7
- export declare const EVENT_PREFIX = "EVT#";
8
- export declare function getUserEventsTable(tableName: string, region: string): Table;
9
- export declare function getUserEntity(table: Table): Entity<any>;
10
- export declare function getConnectionEventEntity(table: Table): Entity<any>;
11
- export declare function getMessageEventEntities(table: Table): Record<string, Entity<any>>;
@@ -1,121 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getMessageEventEntities = exports.getConnectionEventEntity = exports.getUserEntity = exports.getUserEventsTable = exports.EVENT_PREFIX = exports.USER_PREFIX = exports.SORT_KEY_NAME = exports.PARTITION_KEY_NAME = exports.GLOBAL_SECONDARY_INDEX_ATTR = exports.GLOBAL_SECONDARY_INDEX_NAME = void 0;
4
- const tslib_1 = require("tslib");
5
- const dynamodb_1 = tslib_1.__importDefault(require("aws-sdk/clients/dynamodb"));
6
- const dynamodb_toolbox_1 = require("dynamodb-toolbox");
7
- const models_1 = require("../models");
8
- // Table Definitions
9
- exports.GLOBAL_SECONDARY_INDEX_NAME = 'GSI1';
10
- exports.GLOBAL_SECONDARY_INDEX_ATTR = 'websocketId';
11
- exports.PARTITION_KEY_NAME = 'PK';
12
- exports.SORT_KEY_NAME = 'SK';
13
- // Entities Definitions
14
- exports.USER_PREFIX = 'USR#';
15
- exports.EVENT_PREFIX = 'EVT#';
16
- function capitalize(string) {
17
- return string.charAt(0).toUpperCase() + string.slice(1);
18
- }
19
- function getUserEventsTable(tableName, region) {
20
- const documentClient = new dynamodb_1.default.DocumentClient({
21
- apiVersion: '2012-08-10',
22
- region: region,
23
- });
24
- return new dynamodb_toolbox_1.Table({
25
- name: tableName,
26
- partitionKey: exports.PARTITION_KEY_NAME,
27
- sortKey: exports.SORT_KEY_NAME,
28
- entityField: true,
29
- indexes: {
30
- GSI1: {
31
- partitionKey: exports.GLOBAL_SECONDARY_INDEX_ATTR,
32
- },
33
- },
34
- DocumentClient: documentClient,
35
- });
36
- }
37
- exports.getUserEventsTable = getUserEventsTable;
38
- function getUserEntity(table) {
39
- return new dynamodb_toolbox_1.Entity({
40
- name: 'User',
41
- attributes: {
42
- id: { partitionKey: true, prefix: exports.USER_PREFIX },
43
- [`${exports.SORT_KEY_NAME}`]: {
44
- hidden: true,
45
- sortKey: true,
46
- prefix: exports.USER_PREFIX,
47
- },
48
- userId: [exports.SORT_KEY_NAME, 0],
49
- websocketId: 'string',
50
- isOnline: 'boolean',
51
- route: 'string',
52
- session: 'string',
53
- },
54
- table,
55
- });
56
- }
57
- exports.getUserEntity = getUserEntity;
58
- function getConnectionEventEntity(table) {
59
- return new dynamodb_toolbox_1.Entity({
60
- name: 'Connection Event',
61
- attributes: {
62
- userId: { partitionKey: true, prefix: exports.USER_PREFIX },
63
- [`${exports.SORT_KEY_NAME}`]: {
64
- hidden: true,
65
- sortKey: true,
66
- prefix: exports.EVENT_PREFIX,
67
- },
68
- eventId: [exports.SORT_KEY_NAME, 0],
69
- eventType: 'string',
70
- createdAt: 'string',
71
- modifiedAt: 'string',
72
- status: 'string',
73
- },
74
- table,
75
- });
76
- }
77
- exports.getConnectionEventEntity = getConnectionEventEntity;
78
- function getMessageEventEntities(table) {
79
- const textAttributes = {
80
- text: 'string',
81
- markdown: 'boolean',
82
- buttons: 'list',
83
- replies: 'list',
84
- };
85
- const mediaAttributes = {
86
- src: 'string',
87
- buttons: 'list',
88
- };
89
- const locationAttributes = {
90
- lat: 'number',
91
- long: 'number',
92
- };
93
- const carouselAttributes = {
94
- elements: 'list',
95
- };
96
- const customAttributes = {
97
- json: 'map',
98
- replies: 'list',
99
- };
100
- const entityWithAttributes = (type, attributes) => new dynamodb_toolbox_1.Entity({
101
- name: `${capitalize(type)} Message Event`,
102
- attributes: Object.assign({ userId: { partitionKey: true, prefix: exports.USER_PREFIX }, [`${exports.SORT_KEY_NAME}`]: {
103
- hidden: true,
104
- sortKey: true,
105
- prefix: exports.EVENT_PREFIX,
106
- }, eventId: [exports.SORT_KEY_NAME, 0], eventType: 'string', createdAt: 'string', modifiedAt: 'string', from: 'string', ack: 'string', typing: 'number', delay: 'number', type: 'string' }, attributes),
107
- table,
108
- });
109
- return {
110
- text: entityWithAttributes(models_1.MessageEventTypes.TEXT, textAttributes),
111
- audio: entityWithAttributes(models_1.MessageEventTypes.AUDIO, mediaAttributes),
112
- image: entityWithAttributes(models_1.MessageEventTypes.IMAGE, mediaAttributes),
113
- document: entityWithAttributes(models_1.MessageEventTypes.DOCUMENT, mediaAttributes),
114
- video: entityWithAttributes(models_1.MessageEventTypes.VIDEO, mediaAttributes),
115
- location: entityWithAttributes(models_1.MessageEventTypes.LOCATION, locationAttributes),
116
- carousel: entityWithAttributes(models_1.MessageEventTypes.CAROUSEL, carouselAttributes),
117
- custom: entityWithAttributes(models_1.MessageEventTypes.CUSTOM, customAttributes),
118
- };
119
- }
120
- exports.getMessageEventEntities = getMessageEventEntities;
121
- //# sourceMappingURL=dynamodb-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dynamodb-utils.js","sourceRoot":"","sources":["../../../src/data-provider/dynamodb-utils.ts"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- import { BotonicEvent, User } from '../models';
2
- export declare const dataProviderProtocols: {
3
- DYNAMO_DB: string;
4
- FILE: string;
5
- };
6
- export interface DataProvider {
7
- getUsers(limit?: number, offset?: number): User[] | Promise<User[]>;
8
- getUser(id: string): User | Promise<User | undefined> | undefined;
9
- getUserByWebsocketId(websocketId: string): User | Promise<User | undefined> | undefined;
10
- getUserByField(field: string, value: any): User | Promise<User | undefined> | undefined;
11
- saveUser(user: User): User | Promise<User>;
12
- updateUser(user: User): User | Promise<User>;
13
- deleteUser(id: string): User | Promise<User | undefined> | undefined;
14
- getEvents(limit?: number, offset?: number): BotonicEvent[] | Promise<BotonicEvent[]>;
15
- getEvent(id: string): BotonicEvent | Promise<BotonicEvent | undefined> | undefined;
16
- saveEvent(event: BotonicEvent): BotonicEvent | Promise<BotonicEvent>;
17
- updateEvent(event: BotonicEvent): BotonicEvent | Promise<BotonicEvent>;
18
- deleteEvent(id: string): BotonicEvent | Promise<BotonicEvent | undefined> | undefined;
19
- }
20
- /** URL examples:
21
- * dynamodb://my-table.my-region.aws.com
22
- * postgresql://my-database.my-db-provider.com
23
- * file://path/to/local/db.json
24
- */
25
- export declare function dataProviderFactory(url?: string): DataProvider;
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.dataProviderFactory = exports.dataProviderProtocols = void 0;
4
- const dynamodb_data_provider_1 = require("./dynamodb-data-provider");
5
- const local_data_provider_1 = require("./local-data-provider");
6
- exports.dataProviderProtocols = {
7
- DYNAMO_DB: 'dynamodb',
8
- FILE: 'file',
9
- };
10
- /** URL examples:
11
- * dynamodb://my-table.my-region.aws.com
12
- * postgresql://my-database.my-db-provider.com
13
- * file://path/to/local/db.json
14
- */
15
- function dataProviderFactory(url) {
16
- if (!url) {
17
- return new local_data_provider_1.LocalDevDataProvider();
18
- }
19
- const protocol = url.split('://')[0];
20
- switch (protocol) {
21
- case exports.dataProviderProtocols.DYNAMO_DB:
22
- return new dynamodb_data_provider_1.DynamoDBDataProvider(url);
23
- case exports.dataProviderProtocols.FILE:
24
- return new local_data_provider_1.LocalDevDataProvider(url);
25
- default:
26
- console.error(`Protocol ${protocol} not implemented, using local DB instead.`);
27
- return new local_data_provider_1.LocalDevDataProvider();
28
- }
29
- }
30
- exports.dataProviderFactory = dataProviderFactory;
31
- //# sourceMappingURL=factory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/data-provider/factory.ts"],"names":[],"mappings":";;;AACA,qEAA+D;AAC/D,+DAA4D;AAE/C,QAAA,qBAAqB,GAAG;IACnC,SAAS,EAAE,UAAU;IACrB,IAAI,EAAE,MAAM;CACb,CAAA;AA8BD;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,GAAY;IAC9C,IAAI,CAAC,GAAG,EAAE;QACR,OAAO,IAAI,0CAAoB,EAAE,CAAA;KAClC;IAED,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACpC,QAAQ,QAAQ,EAAE;QAChB,KAAK,6BAAqB,CAAC,SAAS;YAClC,OAAO,IAAI,6CAAoB,CAAC,GAAG,CAAC,CAAA;QACtC,KAAK,6BAAqB,CAAC,IAAI;YAC7B,OAAO,IAAI,0CAAoB,CAAC,GAAG,CAAC,CAAA;QACtC;YACE,OAAO,CAAC,KAAK,CACX,YAAY,QAAQ,2CAA2C,CAChE,CAAA;YACD,OAAO,IAAI,0CAAoB,EAAE,CAAA;KACpC;AACH,CAAC;AAjBD,kDAiBC"}
@@ -1,4 +0,0 @@
1
- export * from './dynamodb-data-provider';
2
- export * from './dynamodb-utils';
3
- export * from './factory';
4
- export * from './local-data-provider';
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./dynamodb-data-provider"), exports);
5
- tslib_1.__exportStar(require("./dynamodb-utils"), exports);
6
- tslib_1.__exportStar(require("./factory"), exports);
7
- tslib_1.__exportStar(require("./local-data-provider"), exports);
8
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/data-provider/index.ts"],"names":[],"mappings":";;;AAAA,mEAAwC;AACxC,2DAAgC;AAChC,oDAAyB;AACzB,gEAAqC"}