@or-sdk/hitl 0.34.68 → 0.34.69-beta.3622.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 (123) hide show
  1. package/dist/cjs/api/Agents.js +71 -49
  2. package/dist/cjs/api/Agents.js.map +1 -1
  3. package/dist/cjs/api/CannedMessages.js +34 -24
  4. package/dist/cjs/api/CannedMessages.js.map +1 -1
  5. package/dist/cjs/api/Commands.js +18 -9
  6. package/dist/cjs/api/Commands.js.map +1 -1
  7. package/dist/cjs/api/Conferences.js +33 -20
  8. package/dist/cjs/api/Conferences.js.map +1 -1
  9. package/dist/cjs/api/ContactRuleGroups.js +36 -18
  10. package/dist/cjs/api/ContactRuleGroups.js.map +1 -1
  11. package/dist/cjs/api/ContactsMeta.js +4 -2
  12. package/dist/cjs/api/ContactsMeta.js.map +1 -1
  13. package/dist/cjs/api/EventTemplates.js +30 -19
  14. package/dist/cjs/api/EventTemplates.js.map +1 -1
  15. package/dist/cjs/api/Filters.js +46 -18
  16. package/dist/cjs/api/Filters.js.map +1 -1
  17. package/dist/cjs/api/HITLBase.js +3 -7
  18. package/dist/cjs/api/HITLBase.js.map +1 -1
  19. package/dist/cjs/api/Listeners.js +35 -23
  20. package/dist/cjs/api/Listeners.js.map +1 -1
  21. package/dist/cjs/api/Migrations.js +33 -23
  22. package/dist/cjs/api/Migrations.js.map +1 -1
  23. package/dist/cjs/api/RuleGroups.js +36 -18
  24. package/dist/cjs/api/RuleGroups.js.map +1 -1
  25. package/dist/cjs/api/SessionEvents.js +38 -26
  26. package/dist/cjs/api/SessionEvents.js.map +1 -1
  27. package/dist/cjs/api/SessionRelations.js +12 -7
  28. package/dist/cjs/api/SessionRelations.js.map +1 -1
  29. package/dist/cjs/api/Sessions.js +90 -72
  30. package/dist/cjs/api/Sessions.js.map +1 -1
  31. package/dist/cjs/api/Settings.js +37 -18
  32. package/dist/cjs/api/Settings.js.map +1 -1
  33. package/dist/cjs/api/Tasks.js +15 -9
  34. package/dist/cjs/api/Tasks.js.map +1 -1
  35. package/dist/cjs/constants.js.map +1 -1
  36. package/dist/esm/api/Agents.js +39 -33
  37. package/dist/esm/api/Agents.js.map +1 -1
  38. package/dist/esm/api/CannedMessages.js +23 -13
  39. package/dist/esm/api/CannedMessages.js.map +1 -1
  40. package/dist/esm/api/Commands.js +17 -7
  41. package/dist/esm/api/Commands.js.map +1 -1
  42. package/dist/esm/api/Conferences.js +34 -21
  43. package/dist/esm/api/Conferences.js.map +1 -1
  44. package/dist/esm/api/ContactRuleGroups.js +32 -18
  45. package/dist/esm/api/ContactRuleGroups.js.map +1 -1
  46. package/dist/esm/api/ContactsMeta.js +1 -2
  47. package/dist/esm/api/ContactsMeta.js.map +1 -1
  48. package/dist/esm/api/EventTemplates.js +19 -14
  49. package/dist/esm/api/EventTemplates.js.map +1 -1
  50. package/dist/esm/api/Filters.js +35 -21
  51. package/dist/esm/api/Filters.js.map +1 -1
  52. package/dist/esm/api/HITLBase.js +2 -3
  53. package/dist/esm/api/HITLBase.js.map +1 -1
  54. package/dist/esm/api/Listeners.js +24 -13
  55. package/dist/esm/api/Listeners.js.map +1 -1
  56. package/dist/esm/api/Migrations.js +20 -12
  57. package/dist/esm/api/Migrations.js.map +1 -1
  58. package/dist/esm/api/RuleGroups.js +32 -18
  59. package/dist/esm/api/RuleGroups.js.map +1 -1
  60. package/dist/esm/api/SessionEvents.js +24 -21
  61. package/dist/esm/api/SessionEvents.js.map +1 -1
  62. package/dist/esm/api/SessionRelations.js +3 -4
  63. package/dist/esm/api/SessionRelations.js.map +1 -1
  64. package/dist/esm/api/Sessions.js +60 -57
  65. package/dist/esm/api/Sessions.js.map +1 -1
  66. package/dist/esm/api/Settings.js +23 -14
  67. package/dist/esm/api/Settings.js.map +1 -1
  68. package/dist/esm/api/Tasks.js +14 -7
  69. package/dist/esm/api/Tasks.js.map +1 -1
  70. package/dist/esm/constants.js.map +1 -1
  71. package/dist/types/api/Agents.d.ts +7 -5
  72. package/dist/types/api/Agents.d.ts.map +1 -1
  73. package/dist/types/api/CannedMessages.d.ts +2 -2
  74. package/dist/types/api/CannedMessages.d.ts.map +1 -1
  75. package/dist/types/api/Commands.d.ts +1 -1
  76. package/dist/types/api/Commands.d.ts.map +1 -1
  77. package/dist/types/api/Conferences.d.ts +3 -3
  78. package/dist/types/api/Conferences.d.ts.map +1 -1
  79. package/dist/types/api/ContactRuleGroups.d.ts +4 -4
  80. package/dist/types/api/ContactRuleGroups.d.ts.map +1 -1
  81. package/dist/types/api/ContactsMeta.d.ts.map +1 -1
  82. package/dist/types/api/EventTemplates.d.ts +2 -2
  83. package/dist/types/api/EventTemplates.d.ts.map +1 -1
  84. package/dist/types/api/Filters.d.ts +1 -1
  85. package/dist/types/api/Filters.d.ts.map +1 -1
  86. package/dist/types/api/HITLBase.d.ts +3 -1
  87. package/dist/types/api/HITLBase.d.ts.map +1 -1
  88. package/dist/types/api/Listeners.d.ts +3 -3
  89. package/dist/types/api/Listeners.d.ts.map +1 -1
  90. package/dist/types/api/Migrations.d.ts +2 -2
  91. package/dist/types/api/Migrations.d.ts.map +1 -1
  92. package/dist/types/api/RuleGroups.d.ts +4 -4
  93. package/dist/types/api/RuleGroups.d.ts.map +1 -1
  94. package/dist/types/api/SessionEvents.d.ts +7 -3
  95. package/dist/types/api/SessionEvents.d.ts.map +1 -1
  96. package/dist/types/api/SessionRelations.d.ts.map +1 -1
  97. package/dist/types/api/Sessions.d.ts +20 -20
  98. package/dist/types/api/Sessions.d.ts.map +1 -1
  99. package/dist/types/api/Settings.d.ts +2 -2
  100. package/dist/types/api/Settings.d.ts.map +1 -1
  101. package/dist/types/api/Tasks.d.ts +1 -1
  102. package/dist/types/api/Tasks.d.ts.map +1 -1
  103. package/dist/types/constants.d.ts +3 -3
  104. package/dist/types/constants.d.ts.map +1 -1
  105. package/package.json +5 -7
  106. package/src/api/Agents.ts +38 -28
  107. package/src/api/CannedMessages.ts +16 -11
  108. package/src/api/Commands.ts +6 -7
  109. package/src/api/Conferences.ts +29 -19
  110. package/src/api/ContactRuleGroups.ts +19 -15
  111. package/src/api/ContactsMeta.ts +4 -3
  112. package/src/api/EventTemplates.ts +10 -13
  113. package/src/api/Filters.ts +34 -27
  114. package/src/api/HITLBase.ts +2 -4
  115. package/src/api/Listeners.ts +16 -12
  116. package/src/api/Migrations.ts +13 -10
  117. package/src/api/RuleGroups.ts +19 -15
  118. package/src/api/SessionEvents.ts +21 -16
  119. package/src/api/SessionRelations.ts +12 -6
  120. package/src/api/Sessions.ts +58 -60
  121. package/src/api/Settings.ts +17 -14
  122. package/src/api/Tasks.ts +3 -7
  123. package/src/constants.ts +2 -3
@@ -1,4 +1,3 @@
1
- import _ from 'lodash';
2
1
  import URI from 'urijs';
3
2
 
4
3
  import { DEFAULT_OMIT_FIELDS } from '../constants';
@@ -32,7 +31,9 @@ export class SessionEvents extends HITLBase {
32
31
  options: GetSessionEventsOptions
33
32
  ): Promise<GetSessionEventsResponse> {
34
33
  const route = this.getBaseUrl(options);
35
- const params = _.omit(options, DEFAULT_OMIT_FIELDS);
34
+ const params = Object.fromEntries(
35
+ Object.entries(options).filter(([key]) => !DEFAULT_OMIT_FIELDS.includes(key))
36
+ );
36
37
 
37
38
  return this.request({
38
39
  method: 'GET',
@@ -51,7 +52,9 @@ export class SessionEvents extends HITLBase {
51
52
  ): Promise<GetBulkSessionsEventsResponse> {
52
53
  const baseUrl = this.getBaseUrl(options);
53
54
  const route = new URI(baseUrl).segment(this.GET_BULK_EVENTS_URL).href();
54
- const params = _.omit(options, DEFAULT_OMIT_FIELDS);
55
+ const params = Object.fromEntries(
56
+ Object.entries(options).filter(([key]) => !DEFAULT_OMIT_FIELDS.includes(key))
57
+ );
55
58
 
56
59
  return this.request({
57
60
  method: 'GET',
@@ -66,17 +69,15 @@ export class SessionEvents extends HITLBase {
66
69
  * @param options
67
70
  */
68
71
  public static addEvents(
69
- options: AddEventsOptions
72
+ { sessionId, events, ...options }: AddEventsOptions
70
73
  ): Promise<AddEventsResponse> {
71
74
  const route = this.getBaseUrl(options);
72
- const params = _.pick(options, ['sessionId']);
73
- const data = _.pick(options, ['events']);
74
75
 
75
76
  return this.request({
76
77
  method: 'POST',
77
78
  route,
78
- params,
79
- data,
79
+ params: { sessionId },
80
+ data: { events },
80
81
  ...this.getBaseSettings(options),
81
82
  });
82
83
  }
@@ -86,17 +87,19 @@ export class SessionEvents extends HITLBase {
86
87
  * @param options
87
88
  */
88
89
  public static async getNewEventsCount(
89
- options: GetNewEventsCountOptions
90
+ // TODO: add userId to GetNewEventsCountOptions
91
+ { userId, ...options }: GetNewEventsCountOptions & { userId: string; }
90
92
  ): Promise<GetNewEventsCountResponse> {
91
93
  const baseUrl = this.getBaseUrl(options);
92
94
  const route = new URI(baseUrl).segment(this.GET_EVENTS_COUNT_URL).href();
93
- const params = _.pick(options, ['userId']);
94
- const data = _.omit(options, ['userId', ...DEFAULT_OMIT_FIELDS]);
95
+ const data = Object.fromEntries(
96
+ Object.entries(options).filter(([key]) => !DEFAULT_OMIT_FIELDS.includes(key))
97
+ );
95
98
 
96
99
  return this.request({
97
100
  method: 'POST',
98
101
  route,
99
- params,
102
+ params: { userId },
100
103
  data,
101
104
  ...this.getBaseSettings(options),
102
105
  });
@@ -107,17 +110,19 @@ export class SessionEvents extends HITLBase {
107
110
  * @param options
108
111
  */
109
112
  public static async saveReadEventByUserId(
110
- options: SaveLastReadEventOptions
113
+ // TODO: add userId to SaveLastReadEventOptions
114
+ { userId, ...options }: SaveLastReadEventOptions & { userId: string; }
111
115
  ): Promise<void> {
112
116
  const baseUrl = this.getBaseUrl(options);
113
117
  const route = new URI(baseUrl).segment(this.SAVE_READ_EVENT_URL).href();
114
- const params = _.pick(options, ['userId']);
115
- const data = _.omit(options, ['userId', ...DEFAULT_OMIT_FIELDS]);
118
+ const data = Object.fromEntries(
119
+ Object.entries(options).filter(([key]) => !DEFAULT_OMIT_FIELDS.includes(key))
120
+ );
116
121
 
117
122
  return this.request({
118
123
  method: 'POST',
119
124
  route,
120
- params,
125
+ params: { userId },
121
126
  data,
122
127
  ...this.getBaseSettings(options),
123
128
  });
@@ -1,5 +1,3 @@
1
- import _ from 'lodash';
2
-
3
1
  import { DEFAULT_OMIT_FIELDS } from '../constants';
4
2
  import {
5
3
  GetSessionRelationsOptions,
@@ -22,7 +20,9 @@ export class SessionRelations extends HITLBase {
22
20
  options: GetSessionRelationsOptions
23
21
  ): Promise<GetSessionRelationsResponse> {
24
22
  const route = this.getBaseUrl(options);
25
- const params = _.omit(options, DEFAULT_OMIT_FIELDS);
23
+ const params = Object.fromEntries(
24
+ Object.entries(options).filter(([key]) => !DEFAULT_OMIT_FIELDS.includes(key))
25
+ );
26
26
 
27
27
  return this.request({
28
28
  method: 'GET',
@@ -37,9 +37,13 @@ export class SessionRelations extends HITLBase {
37
37
  * @param options
38
38
  */
39
39
 
40
- public static createSessionRelations(options: CreateSessionRelationsOptions): Promise<CreateSessionRelationsResponse> {
40
+ public static createSessionRelations(
41
+ options: CreateSessionRelationsOptions,
42
+ ): Promise<CreateSessionRelationsResponse> {
41
43
  const route = this.getBaseUrl(options);
42
- const data = _.omit(options, DEFAULT_OMIT_FIELDS);
44
+ const data = Object.fromEntries(
45
+ Object.entries(options).filter(([key]) => !DEFAULT_OMIT_FIELDS.includes(key))
46
+ );
43
47
 
44
48
  return this.request({
45
49
  method: 'POST',
@@ -57,7 +61,9 @@ export class SessionRelations extends HITLBase {
57
61
  options: DeleteSessionRelationsOptions
58
62
  ) {
59
63
  const route = this.getBaseUrl(options);
60
- const data = _.omit(options, DEFAULT_OMIT_FIELDS);
64
+ const data = Object.fromEntries(
65
+ Object.entries(options).filter(([key]) => !DEFAULT_OMIT_FIELDS.includes(key))
66
+ );
61
67
 
62
68
  return this.request({
63
69
  method: 'DELETE',
@@ -1,4 +1,3 @@
1
- import _ from 'lodash';
2
1
  import URI from 'urijs';
3
2
 
4
3
  import { DEFAULT_OMIT_FIELDS } from '../constants';
@@ -32,16 +31,16 @@ import { HITLBase } from './HITLBase';
32
31
  export class Sessions extends HITLBase {
33
32
  protected static MODULE_URL = 'sessions';
34
33
 
35
- protected static SEARCH_URL = 'search';
36
- protected static SEARCH_WITH_CONTACTS_URL = 'search-with-contacts';
37
- protected static GET_TRIGGERS_URL = 'helpers/triggers';
38
- protected static GET_QUEUE_SESSION_URL = 'helpers/queue';
34
+ protected static SEARCH_URL = 'search' as const;
35
+ protected static SEARCH_WITH_CONTACTS_URL = 'search-with-contacts' as const;
36
+ protected static GET_TRIGGERS_URL = 'helpers/triggers' as const;
37
+ protected static GET_QUEUE_SESSION_URL = 'helpers/queue' as const;
39
38
 
40
- protected static CLAIM_URL = 'claim';
41
- protected static TRANSFER_TO_BOT_URL = 'transfer-to-bot';
42
- protected static START_CONVERSATION_URL = 'start-conversation';
43
- protected static CLOSE_URL = 'close';
44
- protected static REOPEN_URL = 'reopen';
39
+ protected static CLAIM_URL = 'claim' as const;
40
+ protected static TRANSFER_TO_BOT_URL = 'transfer-to-bot' as const;
41
+ protected static START_CONVERSATION_URL = 'start-conversation' as const;
42
+ protected static CLOSE_URL = 'close' as const;
43
+ protected static REOPEN_URL = 'reopen' as const;
45
44
 
46
45
  /**
47
46
  * @description Get HitL Sessions
@@ -51,7 +50,9 @@ export class Sessions extends HITLBase {
51
50
  options: GetSessionsOptions = {}
52
51
  ): Promise<GetSessionsResponse> {
53
52
  const route = this.getBaseUrl(options);
54
- const params = _.omit(options, DEFAULT_OMIT_FIELDS);
53
+ const params = Object.fromEntries(
54
+ Object.entries(options).filter(([key]) => !DEFAULT_OMIT_FIELDS.includes(key))
55
+ );
55
56
 
56
57
  return this.request({
57
58
  method: 'GET',
@@ -66,16 +67,18 @@ export class Sessions extends HITLBase {
66
67
  * @param options
67
68
  */
68
69
  public static async getSessionById(
69
- options: GetSessionByIdOptions
70
+ { agentId, projection, ...options }: GetSessionByIdOptions
70
71
  ): Promise<Session> {
71
72
  const baseUrl = this.getBaseUrl(options);
72
73
  const route = new URI(baseUrl).segment(options.sessionId).href();
73
- const params = _.pick(options, ['agentId', 'projection']);
74
74
 
75
75
  return this.request({
76
76
  method: 'GET',
77
77
  route,
78
- params,
78
+ params: {
79
+ agentId,
80
+ projection,
81
+ },
79
82
  ...this.getBaseSettings(options),
80
83
  });
81
84
  }
@@ -85,17 +88,18 @@ export class Sessions extends HITLBase {
85
88
  * @param options
86
89
  */
87
90
  public static async searchSessions(
88
- options: SearchSessionsOptions = {}
91
+ { agentId, ...options }: SearchSessionsOptions = {}
89
92
  ): Promise<SearchSessionsResponse> {
90
93
  const baseUrl = this.getBaseUrl(options);
91
94
  const route = new URI(baseUrl).segment(this.SEARCH_URL).href();
92
- const params = _.pick(options, ['agentId']);
93
- const data = _.omit(options, ['agentId', ...DEFAULT_OMIT_FIELDS]);
95
+ const data = Object.fromEntries(
96
+ Object.entries(options).filter(([key]) => !DEFAULT_OMIT_FIELDS.includes(key))
97
+ );
94
98
 
95
99
  return this.request({
96
100
  method: 'POST',
97
101
  route,
98
- params,
102
+ params: { agentId },
99
103
  data,
100
104
  ...this.getBaseSettings(options),
101
105
  });
@@ -106,20 +110,21 @@ export class Sessions extends HITLBase {
106
110
  * @param options
107
111
  */
108
112
  public static async searchSessionsWithContacts(
109
- options: SearchSessionsWithContactsOptions = {}
113
+ { agentId, ...options }: SearchSessionsWithContactsOptions = {}
110
114
  ): Promise<SearchSessionsWithContactsResponse> {
111
115
  const baseUrl = this.getBaseUrl(options);
112
116
  const route = new URI(baseUrl)
113
117
  .segment(this.SEARCH_WITH_CONTACTS_URL)
114
118
  .href();
115
119
 
116
- const params = _.pick(options, ['agentId']);
117
- const data = _.omit(options, ['agentId', ...DEFAULT_OMIT_FIELDS]);
120
+ const data = Object.fromEntries(
121
+ Object.entries(options).filter(([key]) => !DEFAULT_OMIT_FIELDS.includes(key))
122
+ );
118
123
 
119
124
  return this.request({
120
125
  method: 'POST',
121
126
  route,
122
- params,
127
+ params: { agentId },
123
128
  data,
124
129
  ...this.getBaseSettings(options),
125
130
  });
@@ -130,16 +135,18 @@ export class Sessions extends HITLBase {
130
135
  * @param options
131
136
  */
132
137
  public static async getQueueSession(
133
- options: GetQueueSessionOptions
138
+ { agentId, ruleTags, ...options }: GetQueueSessionOptions
134
139
  ): Promise<GetQueueSessionResponse> {
135
140
  const baseUrl = this.getBaseUrl(options);
136
141
  const route = new URI(baseUrl).segment(this.GET_QUEUE_SESSION_URL).href();
137
- const params = _.pick(options, ['agentId', 'ruleTags']);
138
142
 
139
143
  return this.request({
140
144
  method: 'GET',
141
145
  route,
142
- params,
146
+ params: {
147
+ agentId,
148
+ ruleTags,
149
+ },
143
150
  ...this.getBaseSettings(options),
144
151
  });
145
152
  }
@@ -169,7 +176,7 @@ export class Sessions extends HITLBase {
169
176
  * @param options
170
177
  */
171
178
  public static async claimSessionByAgent(
172
- options: ClaimSessionByAgentOptions
179
+ { claimBy, params, ...options }: ClaimSessionByAgentOptions
173
180
  ): Promise<Session> {
174
181
  const baseUrl = this.getBaseUrl(options);
175
182
  const route = new URI(baseUrl)
@@ -177,14 +184,11 @@ export class Sessions extends HITLBase {
177
184
  .segment(this.CLAIM_URL)
178
185
  .href();
179
186
 
180
- const params = _.pick(options, ['claimBy']);
181
- const data = _.pick(options, ['params']);
182
-
183
187
  return this.request({
184
188
  method: 'POST',
185
189
  route,
186
- params,
187
- data,
190
+ params: { claimBy },
191
+ data: { params },
188
192
  ...this.getBaseSettings(options),
189
193
  });
190
194
  }
@@ -196,7 +200,7 @@ export class Sessions extends HITLBase {
196
200
  * @param options
197
201
  */
198
202
  public static async transferToBot(
199
- options: TransferToBotOptions
203
+ { agentId, params, ...options }: TransferToBotOptions
200
204
  ): Promise<Session> {
201
205
  const baseUrl = this.getBaseUrl(options);
202
206
  const route = new URI(baseUrl)
@@ -204,14 +208,11 @@ export class Sessions extends HITLBase {
204
208
  .segment(this.TRANSFER_TO_BOT_URL)
205
209
  .href();
206
210
 
207
- const params = _.pick(options, ['agentId']);
208
- const data = _.pick(options, ['params']);
209
-
210
211
  return this.request({
211
212
  method: 'POST',
212
213
  route,
213
- params,
214
- data,
214
+ params: { agentId },
215
+ data: { params },
215
216
  ...this.getBaseSettings(options),
216
217
  });
217
218
  }
@@ -221,19 +222,19 @@ export class Sessions extends HITLBase {
221
222
  * @param options
222
223
  */
223
224
  public static async startConversation(
224
- options: StartConversationOptions
225
+ { contactId, triggerId, params, ...options }: StartConversationOptions
225
226
  ): Promise<Session> {
226
227
  const baseUrl = this.getBaseUrl(options);
227
228
  const route = new URI(baseUrl).segment(this.START_CONVERSATION_URL).href();
228
229
 
229
- const params = _.pick(options, ['contactId', 'triggerId']);
230
- const data = _.pick(options, ['params']);
231
-
232
230
  return this.request({
233
231
  method: 'POST',
234
232
  route,
235
- params,
236
- data,
233
+ params: {
234
+ contactId,
235
+ triggerId,
236
+ },
237
+ data: { params },
237
238
  ...this.getBaseSettings(options),
238
239
  });
239
240
  }
@@ -243,16 +244,19 @@ export class Sessions extends HITLBase {
243
244
  * @param options
244
245
  */
245
246
  public static async updateSession(
246
- options: UpdateSessionOptions
247
+ { tags, contactId, meta, ...options }: UpdateSessionOptions
247
248
  ): Promise<Session> {
248
249
  const baseUrl = this.getBaseUrl(options);
249
250
  const route = new URI(baseUrl).segment(options.sessionId).href();
250
251
 
251
- const data = _.pick(options, ['tags', 'contactId', 'meta']);
252
252
  return this.request({
253
253
  method: 'PUT',
254
254
  route,
255
- data,
255
+ data: {
256
+ tags,
257
+ contactId,
258
+ meta,
259
+ },
256
260
  ...this.getBaseSettings(options),
257
261
  });
258
262
  }
@@ -262,14 +266,13 @@ export class Sessions extends HITLBase {
262
266
  * @param options
263
267
  */
264
268
  public static async createSessions(
265
- options: CreateSessionsOptions
269
+ { sessions, ...options }: CreateSessionsOptions
266
270
  ): Promise<CreateSessionsResponse> {
267
271
  const route = this.getBaseUrl(options);
268
- const data = _.pick(options, ['sessions']);
269
272
  return this.request({
270
273
  method: 'POST',
271
274
  route,
272
- data,
275
+ data: { sessions },
273
276
  ...this.getBaseSettings(options),
274
277
  });
275
278
  }
@@ -332,15 +335,11 @@ export class Sessions extends HITLBase {
332
335
 
333
336
  // TODO delete method with typo
334
337
  public static async buldDeleteSessions(
335
- options: BulkDeleteSessionsOptions
338
+ { sessionIds, ...options }: BulkDeleteSessionsOptions
336
339
  ) {
337
- const route = this.getBaseUrl(options);
338
- const params = _.pick(options, ['sessionIds']);
339
- return this.request({
340
- method: 'DELETE',
341
- route,
342
- params,
343
- ...this.getBaseSettings(options),
340
+ return this.bulkDeleteSessions({
341
+ sessionIds,
342
+ ...options,
344
343
  });
345
344
  }
346
345
 
@@ -349,14 +348,13 @@ export class Sessions extends HITLBase {
349
348
  * @param options
350
349
  */
351
350
  public static async bulkDeleteSessions(
352
- options: BulkDeleteSessionsOptions
351
+ { sessionIds, ...options }: BulkDeleteSessionsOptions
353
352
  ) {
354
353
  const route = this.getBaseUrl(options);
355
- const params = _.pick(options, ['sessionIds']);
356
354
  return this.request({
357
355
  method: 'DELETE',
358
356
  route,
359
- params,
357
+ params: { sessionIds },
360
358
  ...this.getBaseSettings(options),
361
359
  });
362
360
  }
@@ -1,4 +1,3 @@
1
- import _ from 'lodash';
2
1
  import URI from 'urijs';
3
2
 
4
3
  import { DEFAULT_OMIT_FIELDS } from '../constants';
@@ -24,11 +23,13 @@ export class Settings extends HITLBase {
24
23
  * @param options
25
24
  */
26
25
  public static async getSettings(
27
- options: GetSettingsOptions = {}
26
+ { ignoreRuleTags = false, ...options }: GetSettingsOptions = {}
28
27
  ): Promise<GetSettingsResponse> {
29
28
  const route = this.getBaseUrl(options);
30
- const params = _.omit(options, [...DEFAULT_OMIT_FIELDS, 'accountId', 'ignoreRuleTags']);
31
- const customHeaders = { [this.IGNORE_RULE_TAGS_HEADER]: `${_.get(options, ['ignoreRuleTags']) || false}` };
29
+ const params = Object.fromEntries(
30
+ Object.entries(options).filter(([key]) => ![...DEFAULT_OMIT_FIELDS, 'accountId'].includes(key))
31
+ );
32
+ const customHeaders = { [this.IGNORE_RULE_TAGS_HEADER]: `${ignoreRuleTags}` };
32
33
 
33
34
  return this.request({
34
35
  route,
@@ -47,7 +48,9 @@ export class Settings extends HITLBase {
47
48
  ): Promise<SettingsType> {
48
49
  const baseUrl = this.getBaseUrl(options);
49
50
  const route = new URI(baseUrl).segment(this.CONTACT_BOOK_INFO_URL).href();
50
- const params = _.omit(options, [...DEFAULT_OMIT_FIELDS, 'accountId']);
51
+ const params = Object.fromEntries(
52
+ Object.entries(options).filter(([key]) => ![...DEFAULT_OMIT_FIELDS, 'accountId'].includes(key))
53
+ );
51
54
 
52
55
  return this.request({
53
56
  route,
@@ -61,20 +64,18 @@ export class Settings extends HITLBase {
61
64
  * @param options
62
65
  */
63
66
  public static async updateSettings(
64
- options: UpdateSettingsOptions
67
+ { isCommon, data, settings, ...options }: UpdateSettingsOptions
65
68
  ): Promise<UpdateSettingsResponse> {
66
69
  const route = this.getBaseUrl(options);
67
- const params = _.pick(options, ['isCommon']);
68
- const data = {
69
- data: options.data,
70
- settings: options.settings,
71
- };
72
70
 
73
71
  return this.request({
74
72
  route,
75
73
  method: 'PUT',
76
- params,
77
- data,
74
+ params: { isCommon },
75
+ data: {
76
+ data,
77
+ settings,
78
+ },
78
79
  ...this.getBaseSettings(options),
79
80
  });
80
81
  }
@@ -88,7 +89,9 @@ export class Settings extends HITLBase {
88
89
  options: DeleteSettingOptions
89
90
  ): Promise<GetSettingsResponse> {
90
91
  const route = this.getBaseUrl(options);
91
- const params = _.omit(options, DEFAULT_OMIT_FIELDS);
92
+ const params = Object.fromEntries(
93
+ Object.entries(options).filter(([key]) => !DEFAULT_OMIT_FIELDS.includes(key))
94
+ );
92
95
 
93
96
  return this.request({
94
97
  route,
package/src/api/Tasks.ts CHANGED
@@ -1,5 +1,3 @@
1
- import _ from 'lodash';
2
-
3
1
  import { RunTaskOptions } from '../types/tasks';
4
2
 
5
3
  import { HITLBase } from './HITLBase';
@@ -11,17 +9,15 @@ export class Tasks extends HITLBase {
11
9
  * @param options
12
10
  */
13
11
  public static async runTask(
14
- options: RunTaskOptions
12
+ { task, data, ...options }: RunTaskOptions
15
13
  ): Promise<void> {
16
14
  const route = this.getBaseUrl(options);
17
- const params = _.pick(options, ['task']);
18
- const data = _.pick(options, ['data']);
19
15
 
20
16
  return this.request({
21
17
  method: 'POST',
22
18
  route,
23
- params,
24
- data,
19
+ params: { task },
20
+ data: { data },
25
21
  ...this.getBaseSettings(options),
26
22
  });
27
23
  }
package/src/constants.ts CHANGED
@@ -1,5 +1,4 @@
1
- export const SERVICE_KEY = 'hitl-api';
2
- export const EKS_SERVICE_KEY = 'hitl-eks-api';
1
+ export const SERVICE_KEY = 'hitl-api' as const;
2
+ export const EKS_SERVICE_KEY = 'hitl-eks-api' as const;
3
3
  export const HITL_API_SERVICE_KEY = SERVICE_KEY;
4
4
  export const DEFAULT_OMIT_FIELDS = ['version', 'timeout'];
5
-