@botonic/core 0.26.0-beta.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 +44 -40
  9. package/lib/cjs/models/legacy-types.js +16 -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 +44 -40
  25. package/lib/esm/models/legacy-types.js +15 -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 +77 -75
  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',
@@ -47,20 +71,7 @@ export enum INPUT {
47
71
  RAW = 'raw',
48
72
  CHAT_EVENT = 'chatevent',
49
73
  WHATSAPP_BUTTON_LIST = 'whatsapp-button-list',
50
- }
51
-
52
- export enum CASE_STATUS {
53
- WAITING = 'status_waiting',
54
- ATTENDING = 'status_attending',
55
- IDLE = 'status_idle',
56
- RESOLVED = 'status_resolved',
57
- }
58
-
59
- export enum CASE_RESOLUTION {
60
- OK = 'result_ok',
61
- NOK = 'result_nok',
62
- NOT_SOLVED = 'result_not_solved',
63
- BANNED = 'result_banned',
74
+ WHATSAPP_CTA_URL_BUTTON = 'whatsapp-cta-url-button',
64
75
  }
65
76
 
66
77
  export interface Locales {
@@ -85,21 +96,22 @@ export interface ResolvedPlugin extends Plugin {
85
96
  export type ResolvedPlugins = Record<string, ResolvedPlugin>
86
97
 
87
98
  export type InputType =
88
- | typeof INPUT.AUDIO
89
- | typeof INPUT.BUTTON_MESSAGE
90
- | typeof INPUT.CAROUSEL
91
- | typeof INPUT.CONTACT
92
- | typeof INPUT.CUSTOM
93
- | typeof INPUT.DOCUMENT
94
- | typeof INPUT.IMAGE
95
- | typeof INPUT.LOCATION
96
- | typeof INPUT.POSTBACK
97
- | typeof INPUT.TEXT
98
- | typeof INPUT.VIDEO
99
- | typeof INPUT.WEBCHAT_SETTINGS
100
- | typeof INPUT.WHATSAPP_TEMPLATE
101
- | typeof INPUT.CHAT_EVENT
102
- | typeof INPUT.WHATSAPP_BUTTON_LIST
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
103
115
 
104
116
  export interface IntentResult {
105
117
  intent: string
@@ -130,21 +142,22 @@ export interface Input extends Partial<NluResult> {
130
142
  data?: string
131
143
  path?: string
132
144
  payload?: string
145
+ referral?: string
133
146
  type: InputType
147
+ context?: {
148
+ campaign?: Campaign
149
+ }
134
150
  }
135
151
 
136
- export type ProviderType =
137
- | typeof PROVIDER.DEV
138
- | typeof PROVIDER.FACEBOOK
139
- | typeof PROVIDER.GENERIC
140
- | typeof PROVIDER.INSTAGRAM
141
- | typeof PROVIDER.INTERCOM
142
- | typeof PROVIDER.SMOOCH
143
- | typeof PROVIDER.TELEGRAM
144
- | typeof PROVIDER.TWITTER
145
- | typeof PROVIDER.WEBCHAT
146
- | typeof PROVIDER.WECHAT
147
- | 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
+ }
148
161
 
149
162
  export interface SessionUser {
150
163
  id: string
@@ -159,8 +172,12 @@ export interface SessionUser {
159
172
  imp_id?: string
160
173
  provider_id?: string
161
174
  }
175
+ export interface HubtypeCaseContactReason {
176
+ id: string
177
+ name: string
178
+ project_id: string
179
+ }
162
180
 
163
- // eslint-disable @typescript-eslint/naming-convention
164
181
  export interface Session {
165
182
  bot: {
166
183
  id: string
@@ -168,18 +185,23 @@ export interface Session {
168
185
  }
169
186
  __locale?: string
170
187
  __retries: number
188
+ _access_token: string
189
+ _hubtype_api: string
171
190
  is_first_interaction: boolean
172
191
  last_session?: any
173
- organization: string
174
192
  organization_id: string
193
+ organization: string
175
194
  user: SessionUser
176
195
  // after handoff
196
+ _botonic_action?: string
177
197
  _hubtype_case_status?: CaseStatusType
198
+ _hubtype_case_id?: string
178
199
  _hubtype_case_typification?: string
200
+ _hubtype_case_contact_reasons?: HubtypeCaseContactReason[]
179
201
  _shadowing?: boolean
180
- _access_token?: string
202
+ external?: any
203
+ zendesk_ticket_id?: string
181
204
  }
182
- // eslint-enable @typescript-eslint/naming-convention
183
205
 
184
206
  export type InputMatcher = (input: Input) => boolean
185
207
  export type ParamsMatcher =
@@ -223,7 +245,6 @@ export interface BotRequest {
223
245
  input: Input
224
246
  lastRoutePath: RoutePath
225
247
  session: Session
226
- dataProvider?: DataProvider
227
248
  }
228
249
 
229
250
  /** The response of the bot for the triggered actions, which can be
@@ -232,7 +253,6 @@ export interface BotRequest {
232
253
  * */
233
254
  export interface BotResponse extends BotRequest {
234
255
  response: any
235
- messageEvents: Partial<BotonicEvent>[] | null
236
256
  }
237
257
 
238
258
  export interface PluginPreRequest extends BotRequest {
@@ -251,24 +271,6 @@ export interface Params {
251
271
  [key: string]: any
252
272
  }
253
273
 
254
- export const Providers = Object.freeze({
255
- Messaging: {
256
- APPLE: 'apple',
257
- FACEBOOK: 'facebook',
258
- GENERIC: 'generic',
259
- IMBEE: 'imbee',
260
- INSTAGRAM: 'instagram',
261
- INTERCOM: 'intercom',
262
- SMOOCH_WEB: 'smooch_web',
263
- SMOOCH: 'smooch',
264
- TELEGRAM: 'telegram',
265
- TWITTER: 'twitter',
266
- WEBCHAT: 'webchat',
267
- WECHAT: 'wechat',
268
- WHATSAPP: 'whatsapp',
269
- },
270
- })
271
-
272
274
  export type Nullable<T> = T | null
273
275
 
274
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"}