@or-sdk/hitl 0.35.0-beta.2816.0 → 0.35.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.
- package/CHANGELOG.md +271 -0
- package/README.md +65 -0
- package/dist/cjs/AppError.js.map +1 -1
- package/dist/cjs/EKS.js.map +1 -1
- package/dist/cjs/HITL.js +1 -1
- package/dist/cjs/HITL.js.map +1 -1
- package/dist/cjs/api/Agents.js +108 -104
- package/dist/cjs/api/Agents.js.map +1 -1
- package/dist/cjs/api/CannedMessages.js +54 -40
- package/dist/cjs/api/CannedMessages.js.map +1 -1
- package/dist/cjs/api/Commands.js +31 -16
- package/dist/cjs/api/Commands.js.map +1 -1
- package/dist/cjs/api/Conferences.js +44 -31
- package/dist/cjs/api/Conferences.js.map +1 -1
- package/dist/cjs/api/ContactRuleGroups.js +56 -33
- package/dist/cjs/api/ContactRuleGroups.js.map +1 -1
- package/dist/cjs/api/Contacts.js +14 -7
- package/dist/cjs/api/Contacts.js.map +1 -1
- package/dist/cjs/api/ContactsMeta.js +19 -9
- package/dist/cjs/api/ContactsMeta.js.map +1 -1
- package/dist/cjs/api/EventTemplates.js +55 -37
- package/dist/cjs/api/EventTemplates.js.map +1 -1
- package/dist/cjs/api/Filters.js +48 -45
- package/dist/cjs/api/Filters.js.map +1 -1
- package/dist/cjs/api/HITLBase.js +4 -0
- package/dist/cjs/api/HITLBase.js.map +1 -1
- package/dist/cjs/api/Helpers.js +14 -6
- package/dist/cjs/api/Helpers.js.map +1 -1
- package/dist/cjs/api/Listeners.js +58 -44
- package/dist/cjs/api/Listeners.js.map +1 -1
- package/dist/cjs/api/Migrations.js +66 -57
- package/dist/cjs/api/Migrations.js.map +1 -1
- package/dist/cjs/api/RuleGroups.js +56 -33
- package/dist/cjs/api/RuleGroups.js.map +1 -1
- package/dist/cjs/api/SessionEvents.js +66 -40
- package/dist/cjs/api/SessionEvents.js.map +1 -1
- package/dist/cjs/api/SessionRelations.js +26 -21
- package/dist/cjs/api/SessionRelations.js.map +1 -1
- package/dist/cjs/api/Sessions.js +128 -126
- package/dist/cjs/api/Sessions.js.map +1 -1
- package/dist/cjs/api/Settings.js +76 -35
- package/dist/cjs/api/Settings.js.map +1 -1
- package/dist/cjs/api/Tasks.js +28 -16
- package/dist/cjs/api/Tasks.js.map +1 -1
- package/dist/cjs/api/Versions.js +15 -8
- package/dist/cjs/api/Versions.js.map +1 -1
- package/dist/cjs/constants.js +2 -1
- package/dist/cjs/constants.js.map +1 -1
- package/dist/cjs/index.js +21 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/agents.js.map +1 -1
- package/dist/cjs/types/commands.js.map +1 -1
- package/dist/cjs/types/common.js.map +1 -1
- package/dist/cjs/types/conferences.js.map +1 -1
- package/dist/cjs/types/listeners.js.map +1 -1
- package/dist/cjs/types/migrations.js.map +1 -1
- package/dist/cjs/types/tasks.js.map +1 -1
- package/dist/esm/EKS.js.map +1 -1
- package/dist/esm/HITL.js +1 -1
- package/dist/esm/HITL.js.map +1 -1
- package/dist/esm/api/Agents.js +61 -81
- package/dist/esm/api/Agents.js.map +1 -1
- package/dist/esm/api/CannedMessages.js +30 -31
- package/dist/esm/api/CannedMessages.js.map +1 -1
- package/dist/esm/api/Commands.js +17 -10
- package/dist/esm/api/Commands.js.map +1 -1
- package/dist/esm/api/Conferences.js +34 -29
- package/dist/esm/api/Conferences.js.map +1 -1
- package/dist/esm/api/ContactRuleGroups.js +34 -30
- package/dist/esm/api/ContactRuleGroups.js.map +1 -1
- package/dist/esm/api/Contacts.js +1 -5
- package/dist/esm/api/Contacts.js.map +1 -1
- package/dist/esm/api/ContactsMeta.js +4 -7
- package/dist/esm/api/ContactsMeta.js.map +1 -1
- package/dist/esm/api/EventTemplates.js +25 -28
- package/dist/esm/api/EventTemplates.js.map +1 -1
- package/dist/esm/api/Filters.js +39 -43
- package/dist/esm/api/Filters.js.map +1 -1
- package/dist/esm/api/HITLBase.js +3 -0
- package/dist/esm/api/HITLBase.js.map +1 -1
- package/dist/esm/api/Helpers.js +1 -4
- package/dist/esm/api/Helpers.js.map +1 -1
- package/dist/esm/api/Listeners.js +34 -37
- package/dist/esm/api/Listeners.js.map +1 -1
- package/dist/esm/api/Migrations.js +34 -49
- package/dist/esm/api/Migrations.js.map +1 -1
- package/dist/esm/api/RuleGroups.js +34 -30
- package/dist/esm/api/RuleGroups.js.map +1 -1
- package/dist/esm/api/SessionEvents.js +36 -34
- package/dist/esm/api/SessionEvents.js.map +1 -1
- package/dist/esm/api/SessionRelations.js +10 -19
- package/dist/esm/api/SessionRelations.js.map +1 -1
- package/dist/esm/api/Sessions.js +80 -102
- package/dist/esm/api/Sessions.js.map +1 -1
- package/dist/esm/api/Settings.js +38 -27
- package/dist/esm/api/Settings.js.map +1 -1
- package/dist/esm/api/Tasks.js +14 -10
- package/dist/esm/api/Tasks.js.map +1 -1
- package/dist/esm/api/Versions.js +2 -6
- package/dist/esm/api/Versions.js.map +1 -1
- package/dist/esm/constants.js +1 -0
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/agents.js.map +1 -1
- package/dist/esm/types/commands.js.map +1 -1
- package/dist/esm/types/common.js.map +1 -1
- package/dist/esm/types/conferences.js.map +1 -1
- package/dist/esm/types/listeners.js.map +1 -1
- package/dist/esm/types/migrations.js.map +1 -1
- package/dist/esm/types/tasks.js.map +1 -1
- package/dist/types/EKS.d.ts.map +1 -1
- package/dist/types/HITL.d.ts.map +1 -1
- package/dist/types/api/Agents.d.ts +7 -5
- package/dist/types/api/Agents.d.ts.map +1 -1
- package/dist/types/api/CannedMessages.d.ts +3 -3
- package/dist/types/api/CannedMessages.d.ts.map +1 -1
- package/dist/types/api/Commands.d.ts +1 -1
- package/dist/types/api/Commands.d.ts.map +1 -1
- package/dist/types/api/Conferences.d.ts +3 -3
- package/dist/types/api/Conferences.d.ts.map +1 -1
- package/dist/types/api/ContactRuleGroups.d.ts +4 -4
- package/dist/types/api/ContactRuleGroups.d.ts.map +1 -1
- package/dist/types/api/Contacts.d.ts.map +1 -1
- package/dist/types/api/ContactsMeta.d.ts.map +1 -1
- package/dist/types/api/EventTemplates.d.ts +2 -2
- package/dist/types/api/EventTemplates.d.ts.map +1 -1
- package/dist/types/api/Filters.d.ts +2 -2
- package/dist/types/api/Filters.d.ts.map +1 -1
- package/dist/types/api/HITLBase.d.ts +3 -0
- package/dist/types/api/HITLBase.d.ts.map +1 -1
- package/dist/types/api/Helpers.d.ts.map +1 -1
- package/dist/types/api/Listeners.d.ts +4 -4
- package/dist/types/api/Listeners.d.ts.map +1 -1
- package/dist/types/api/Migrations.d.ts +7 -6
- package/dist/types/api/Migrations.d.ts.map +1 -1
- package/dist/types/api/RuleGroups.d.ts +4 -4
- package/dist/types/api/RuleGroups.d.ts.map +1 -1
- package/dist/types/api/SessionEvents.d.ts +11 -5
- package/dist/types/api/SessionEvents.d.ts.map +1 -1
- package/dist/types/api/SessionRelations.d.ts +1 -1
- package/dist/types/api/SessionRelations.d.ts.map +1 -1
- package/dist/types/api/Sessions.d.ts +21 -19
- package/dist/types/api/Sessions.d.ts.map +1 -1
- package/dist/types/api/Settings.d.ts +5 -3
- package/dist/types/api/Settings.d.ts.map +1 -1
- package/dist/types/api/Tasks.d.ts +2 -2
- package/dist/types/api/Tasks.d.ts.map +1 -1
- package/dist/types/api/Versions.d.ts +1 -1
- package/dist/types/api/Versions.d.ts.map +1 -1
- package/dist/types/constants.d.ts +4 -3
- package/dist/types/constants.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/types/agents.d.ts.map +1 -1
- package/dist/types/types/canned-messages.d.ts.map +1 -1
- package/dist/types/types/commands.d.ts.map +1 -1
- package/dist/types/types/common.d.ts +2 -1
- package/dist/types/types/common.d.ts.map +1 -1
- package/dist/types/types/conferences.d.ts.map +1 -1
- package/dist/types/types/contacts-meta.d.ts.map +1 -1
- package/dist/types/types/contacts.d.ts.map +1 -1
- package/dist/types/types/event-templates.d.ts.map +1 -1
- package/dist/types/types/filters.d.ts.map +1 -1
- package/dist/types/types/listeners.d.ts.map +1 -1
- package/dist/types/types/migrations.d.ts.map +1 -1
- package/dist/types/types/read-events.d.ts.map +1 -1
- package/dist/types/types/rule-groups.d.ts.map +1 -1
- package/dist/types/types/session-events.d.ts +2 -0
- package/dist/types/types/session-events.d.ts.map +1 -1
- package/dist/types/types/session-relations.d.ts.map +1 -1
- package/dist/types/types/sessions.d.ts +1 -0
- package/dist/types/types/sessions.d.ts.map +1 -1
- package/dist/types/types/settings.d.ts +1 -0
- package/dist/types/types/settings.d.ts.map +1 -1
- package/dist/types/types/tasks.d.ts.map +1 -1
- package/package.json +8 -8
- package/src/EKS.ts +1 -2
- package/src/HITL.ts +15 -2
- package/src/api/Agents.ts +90 -27
- package/src/api/CannedMessages.ts +42 -12
- package/src/api/Commands.ts +12 -7
- package/src/api/Conferences.ts +45 -19
- package/src/api/ContactRuleGroups.ts +41 -15
- package/src/api/Contacts.ts +9 -0
- package/src/api/ContactsMeta.ts +12 -2
- package/src/api/EventTemplates.ts +32 -10
- package/src/api/Filters.ts +67 -28
- package/src/api/HITLBase.ts +4 -0
- package/src/api/Helpers.ts +6 -0
- package/src/api/Listeners.ts +49 -13
- package/src/api/Migrations.ts +62 -15
- package/src/api/RuleGroups.ts +41 -15
- package/src/api/SessionEvents.ts +70 -21
- package/src/api/SessionRelations.ts +31 -8
- package/src/api/Sessions.ts +158 -52
- package/src/api/Settings.ts +56 -13
- package/src/api/Tasks.ts +9 -8
- package/src/api/Versions.ts +12 -1
- package/src/constants.ts +3 -3
- package/src/index.ts +21 -0
- package/src/types/agents.ts +1 -0
- package/src/types/canned-messages.ts +1 -0
- package/src/types/commands.ts +1 -0
- package/src/types/common.ts +2 -1
- package/src/types/conferences.ts +1 -0
- package/src/types/contacts-meta.ts +1 -0
- package/src/types/contacts.ts +1 -0
- package/src/types/event-templates.ts +1 -0
- package/src/types/filters.ts +1 -0
- package/src/types/listeners.ts +1 -0
- package/src/types/migrations.ts +1 -0
- package/src/types/read-events.ts +1 -0
- package/src/types/rule-groups.ts +1 -0
- package/src/types/session-events.ts +6 -0
- package/src/types/session-relations.ts +1 -0
- package/src/types/sessions.ts +2 -0
- package/src/types/settings.ts +4 -0
- package/src/types/tasks.ts +1 -0
package/src/api/Migrations.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import URI from 'urijs';
|
|
2
|
+
|
|
3
|
+
import { DEFAULT_OMIT_FIELDS } from '../constants';
|
|
4
|
+
import { ApiVersionOptions } from '../types';
|
|
2
5
|
import {
|
|
3
6
|
GetMigrationsOptions,
|
|
4
7
|
GetMigrationsResponse,
|
|
@@ -12,8 +15,8 @@ import {
|
|
|
12
15
|
SyncDefaultRecordsOptions,
|
|
13
16
|
SyncDefaultRecordsResponse,
|
|
14
17
|
} from '../types/migrations';
|
|
18
|
+
|
|
15
19
|
import { HITLBase } from './HITLBase';
|
|
16
|
-
import URI from 'urijs';
|
|
17
20
|
|
|
18
21
|
export class Migrations extends HITLBase {
|
|
19
22
|
protected static readonly MODULE_URL = 'migrations';
|
|
@@ -22,92 +25,136 @@ export class Migrations extends HITLBase {
|
|
|
22
25
|
protected static MIGRATIONS_LOCK_URL = 'lock';
|
|
23
26
|
protected static MIGRATIONS_STATUS_URL = 'status';
|
|
24
27
|
|
|
28
|
+
/**
|
|
29
|
+
* @description Get list of pending migrations
|
|
30
|
+
* @param options
|
|
31
|
+
*/
|
|
25
32
|
public static async getListOfMigrations(
|
|
26
|
-
options: GetMigrationsOptions = {}
|
|
33
|
+
{ appVersion, ...options }: GetMigrationsOptions = {}
|
|
27
34
|
): Promise<GetMigrationsResponse> {
|
|
28
35
|
const route = this.getBaseUrl(options);
|
|
29
|
-
const params = _.pick(options, ['appVersion']);
|
|
30
36
|
|
|
31
37
|
return this.request({
|
|
32
38
|
route,
|
|
33
|
-
params,
|
|
39
|
+
params: { appVersion },
|
|
40
|
+
...this.getBaseSettings(options),
|
|
34
41
|
});
|
|
35
42
|
}
|
|
36
43
|
|
|
44
|
+
/**
|
|
45
|
+
* @description Run migrations
|
|
46
|
+
* @param options
|
|
47
|
+
*/
|
|
37
48
|
public static async runAllMigrations(
|
|
38
|
-
options: RunMigrationsOptions = {}
|
|
49
|
+
{ meta, ...options }: RunMigrationsOptions = {}
|
|
39
50
|
): Promise<RunMigrationsResponse> {
|
|
40
51
|
const route = this.getBaseUrl(options);
|
|
41
|
-
const params =
|
|
42
|
-
|
|
52
|
+
const params = Object.fromEntries(
|
|
53
|
+
Object.entries(options).filter(([key]) => !DEFAULT_OMIT_FIELDS.includes(key))
|
|
54
|
+
);
|
|
43
55
|
|
|
44
56
|
return this.request({
|
|
45
57
|
route,
|
|
46
58
|
method: 'POST',
|
|
47
59
|
params,
|
|
48
|
-
data,
|
|
60
|
+
data: { meta },
|
|
61
|
+
...this.getBaseSettings(options),
|
|
49
62
|
});
|
|
50
63
|
}
|
|
51
64
|
|
|
52
|
-
|
|
65
|
+
/**
|
|
66
|
+
* @description Get status of running migrations
|
|
67
|
+
* @param options
|
|
68
|
+
*/
|
|
69
|
+
public static async getRunMigrationsStatus(options: ApiVersionOptions = {}): Promise<GetRunMigrationsStatusResponse> {
|
|
53
70
|
const baseUrl = this.getBaseUrl({});
|
|
54
71
|
const route = new URI(baseUrl).segment(this.MIGRATIONS_STATUS_URL).href();
|
|
55
72
|
|
|
56
73
|
return this.request({
|
|
57
74
|
route,
|
|
75
|
+
...this.getBaseSettings(options),
|
|
58
76
|
});
|
|
59
77
|
}
|
|
60
78
|
|
|
61
|
-
|
|
79
|
+
/**
|
|
80
|
+
* @description Delete migrations table lock (set during migration runs)
|
|
81
|
+
* @param options
|
|
82
|
+
*/
|
|
83
|
+
public static async deleteMigrationsTableLock(options: ApiVersionOptions = {}) {
|
|
62
84
|
const baseUrl = this.getBaseUrl({});
|
|
63
85
|
const route = new URI(baseUrl).segment(this.MIGRATIONS_LOCK_URL).href();
|
|
64
86
|
|
|
65
87
|
return this.request({
|
|
66
88
|
route,
|
|
67
89
|
method: 'DELETE',
|
|
90
|
+
...this.getBaseSettings(options),
|
|
68
91
|
});
|
|
69
92
|
}
|
|
70
93
|
|
|
71
|
-
|
|
94
|
+
/**
|
|
95
|
+
* @description Get migrations info about compatibility with UI versions
|
|
96
|
+
* @param options
|
|
97
|
+
*/
|
|
98
|
+
public static async getMigrationsInfo(options: ApiVersionOptions = {}): Promise<GetMigrationsInfoResponse> {
|
|
72
99
|
const baseUrl = this.getBaseUrl({});
|
|
73
100
|
const route = new URI(baseUrl).segment(this.MIGRATIONS_INFO_URL).href();
|
|
74
101
|
|
|
75
102
|
return this.request({
|
|
76
103
|
route,
|
|
104
|
+
...this.getBaseSettings(options),
|
|
77
105
|
});
|
|
78
106
|
}
|
|
79
107
|
|
|
108
|
+
/**
|
|
109
|
+
* @description Get default records for some tables (settings, filters, eventTemplates, rule_groups)
|
|
110
|
+
* @param options
|
|
111
|
+
*/
|
|
80
112
|
public static async getTableDefaultRecords(options: GetDefaultRecordsOptions): Promise<GetDefaultRecordsResponse> {
|
|
81
113
|
const baseUrl = this.getBaseUrl({});
|
|
82
114
|
const route = new URI(baseUrl).segment(this.DEFAULT_RECORDS_URL).href();
|
|
83
|
-
const params =
|
|
115
|
+
const params = Object.fromEntries(
|
|
116
|
+
Object.entries(options).filter(([key]) => !['version'].includes(key))
|
|
117
|
+
);
|
|
84
118
|
|
|
85
119
|
return this.request({
|
|
86
120
|
route,
|
|
87
121
|
method: 'GET',
|
|
88
122
|
params,
|
|
123
|
+
...this.getBaseSettings(options),
|
|
89
124
|
});
|
|
90
125
|
}
|
|
91
126
|
|
|
92
|
-
|
|
127
|
+
/**
|
|
128
|
+
* @description Add default records for some tables (settings, filters, event_templates, rule_groups)
|
|
129
|
+
* @param options
|
|
130
|
+
*/
|
|
131
|
+
public static async createTableDefaultRecords(options: ApiVersionOptions = {}): Promise<CreateDefaultRecordsResponse> {
|
|
93
132
|
const baseUrl = this.getBaseUrl({});
|
|
94
133
|
const route = new URI(baseUrl).segment(this.DEFAULT_RECORDS_URL).href();
|
|
95
134
|
|
|
96
135
|
return this.request({
|
|
97
136
|
route,
|
|
98
137
|
method: 'POST',
|
|
138
|
+
...this.getBaseSettings(options),
|
|
99
139
|
});
|
|
100
140
|
}
|
|
101
141
|
|
|
142
|
+
/**
|
|
143
|
+
* @description Sync default records for some tables (settings, filters, eventTemplates, rule_groups)
|
|
144
|
+
* @param options
|
|
145
|
+
*/
|
|
102
146
|
public static async syncTableDefaultRecords(options: SyncDefaultRecordsOptions): Promise<SyncDefaultRecordsResponse> {
|
|
103
147
|
const baseUrl = this.getBaseUrl({});
|
|
104
148
|
const route = new URI(baseUrl).segment(this.DEFAULT_RECORDS_URL).href();
|
|
105
|
-
const params =
|
|
149
|
+
const params = Object.fromEntries(
|
|
150
|
+
Object.entries(options).filter(([key]) => !DEFAULT_OMIT_FIELDS.includes(key))
|
|
151
|
+
);
|
|
106
152
|
|
|
107
153
|
return this.request({
|
|
108
154
|
route,
|
|
109
155
|
method: 'PUT',
|
|
110
156
|
params,
|
|
157
|
+
...this.getBaseSettings(options),
|
|
111
158
|
});
|
|
112
159
|
}
|
|
113
160
|
}
|
package/src/api/RuleGroups.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import { DEFAULT_OMIT_FIELDS } from '../constants';
|
|
3
2
|
import {
|
|
4
3
|
SearchRuleGroupsOptions,
|
|
5
4
|
SearchRuleGroupsResponse,
|
|
@@ -8,61 +7,88 @@ import {
|
|
|
8
7
|
UpdateRuleGroupOptions,
|
|
9
8
|
DeleteRuleGroupOptions,
|
|
10
9
|
} from '../types/rule-groups';
|
|
10
|
+
|
|
11
11
|
import { HITLBase } from './HITLBase';
|
|
12
12
|
|
|
13
13
|
export class RuleGroups extends HITLBase {
|
|
14
14
|
protected static MODULE_URL = 'rule-groups';
|
|
15
15
|
|
|
16
|
+
/**
|
|
17
|
+
* @description Get/search Rule Groups
|
|
18
|
+
* @param options
|
|
19
|
+
*/
|
|
16
20
|
public static searchRuleGroups(
|
|
17
|
-
options: SearchRuleGroupsOptions = {}
|
|
21
|
+
{ groupIdList, ...options }: SearchRuleGroupsOptions = {}
|
|
18
22
|
): Promise<SearchRuleGroupsResponse | RuleGroup> {
|
|
19
23
|
const route = this.getBaseUrl(options);
|
|
20
|
-
const params =
|
|
21
|
-
|
|
24
|
+
const params = Object.fromEntries(
|
|
25
|
+
Object.entries(options).filter(([key]) => ![...DEFAULT_OMIT_FIELDS, 'accountId'].includes(key))
|
|
26
|
+
);
|
|
22
27
|
|
|
23
28
|
return this.request({
|
|
24
29
|
route,
|
|
25
30
|
params,
|
|
26
|
-
data,
|
|
31
|
+
data: { groupIdList },
|
|
32
|
+
...this.getBaseSettings(options),
|
|
27
33
|
});
|
|
28
34
|
}
|
|
29
35
|
|
|
36
|
+
/**
|
|
37
|
+
* @description Create Rule Group
|
|
38
|
+
* @param options
|
|
39
|
+
*/
|
|
30
40
|
public static createRuleGroup(
|
|
31
|
-
options: CreateRuleGroupOptions
|
|
41
|
+
{ name, rules, groupId, ...options }: CreateRuleGroupOptions
|
|
32
42
|
): Promise<RuleGroup> {
|
|
33
43
|
const route = this.getBaseUrl(options);
|
|
34
|
-
const data = _.pick(options, ['name', 'rules']);
|
|
35
44
|
|
|
36
45
|
return this.request({
|
|
37
46
|
method: 'POST',
|
|
38
47
|
route,
|
|
39
|
-
data
|
|
48
|
+
data: {
|
|
49
|
+
name,
|
|
50
|
+
rules,
|
|
51
|
+
groupId,
|
|
52
|
+
},
|
|
53
|
+
...this.getBaseSettings(options),
|
|
40
54
|
});
|
|
41
55
|
}
|
|
42
56
|
|
|
57
|
+
/**
|
|
58
|
+
* @description Update Rule Group
|
|
59
|
+
* @param options
|
|
60
|
+
*/
|
|
43
61
|
public static updateRuleGroup(
|
|
44
|
-
options: UpdateRuleGroupOptions
|
|
62
|
+
{ groupId, name, rules, ...options }: UpdateRuleGroupOptions
|
|
45
63
|
): Promise<RuleGroup> {
|
|
46
64
|
const route = this.getBaseUrl(options);
|
|
47
|
-
const data = _.pick(options, ['groupId', 'name', 'rules']);
|
|
48
65
|
|
|
49
66
|
return this.request({
|
|
50
67
|
method: 'PUT',
|
|
51
68
|
route,
|
|
52
|
-
data
|
|
69
|
+
data: {
|
|
70
|
+
groupId,
|
|
71
|
+
name,
|
|
72
|
+
rules,
|
|
73
|
+
},
|
|
74
|
+
...this.getBaseSettings(options),
|
|
53
75
|
});
|
|
54
76
|
}
|
|
55
77
|
|
|
78
|
+
/**
|
|
79
|
+
* @description Delete Rule Group
|
|
80
|
+
* @param options
|
|
81
|
+
*/
|
|
56
82
|
public static deleteRuleGroup(
|
|
57
|
-
options: DeleteRuleGroupOptions
|
|
83
|
+
{ groupId, ...options }: DeleteRuleGroupOptions
|
|
58
84
|
): Promise<void> {
|
|
59
85
|
const route = this.getBaseUrl(options);
|
|
60
|
-
const params = _.pick(options, ['groupId']);
|
|
61
86
|
|
|
62
87
|
return this.request({
|
|
63
88
|
method: 'DELETE',
|
|
64
89
|
route,
|
|
65
|
-
params,
|
|
90
|
+
params: { groupId },
|
|
91
|
+
...this.getBaseSettings(options),
|
|
66
92
|
});
|
|
67
93
|
}
|
|
68
94
|
}
|
package/src/api/SessionEvents.ts
CHANGED
|
@@ -1,81 +1,130 @@
|
|
|
1
|
-
import _ from 'lodash';
|
|
2
1
|
import URI from 'urijs';
|
|
3
2
|
|
|
4
|
-
import {
|
|
3
|
+
import { DEFAULT_OMIT_FIELDS } from '../constants';
|
|
4
|
+
import {
|
|
5
|
+
GetNewEventsCountOptions,
|
|
6
|
+
GetNewEventsCountResponse,
|
|
7
|
+
SaveLastReadEventOptions,
|
|
8
|
+
} from '../types/read-events';
|
|
5
9
|
import {
|
|
6
10
|
GetSessionEventsOptions,
|
|
7
11
|
GetSessionEventsResponse,
|
|
8
12
|
AddEventsOptions,
|
|
9
13
|
AddEventsResponse,
|
|
14
|
+
GetBulkSessionEventsOptions,
|
|
15
|
+
GetBulkSessionsEventsResponse,
|
|
10
16
|
} from '../types/session-events';
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
GetNewEventsCountResponse,
|
|
14
|
-
SaveLastReadEventOptions,
|
|
15
|
-
} from '../types/read-events';
|
|
17
|
+
|
|
18
|
+
import { HITLBase } from './HITLBase';
|
|
16
19
|
|
|
17
20
|
export class SessionEvents extends HITLBase {
|
|
18
21
|
protected static MODULE_URL = 'session-events';
|
|
22
|
+
protected static GET_BULK_EVENTS_URL = 'bulk';
|
|
19
23
|
protected static GET_EVENTS_COUNT_URL = 'get-new-events';
|
|
20
24
|
protected static SAVE_READ_EVENT_URL = 'save-read-event';
|
|
21
25
|
|
|
26
|
+
/**
|
|
27
|
+
* @description Get Event list of a HitL Session
|
|
28
|
+
* @param options
|
|
29
|
+
*/
|
|
22
30
|
public static async getSessionEventsList(
|
|
23
31
|
options: GetSessionEventsOptions
|
|
24
32
|
): Promise<GetSessionEventsResponse> {
|
|
25
33
|
const route = this.getBaseUrl(options);
|
|
26
|
-
const params =
|
|
34
|
+
const params = Object.fromEntries(
|
|
35
|
+
Object.entries(options).filter(([key]) => !DEFAULT_OMIT_FIELDS.includes(key))
|
|
36
|
+
);
|
|
27
37
|
|
|
28
38
|
return this.request({
|
|
29
39
|
method: 'GET',
|
|
30
40
|
route,
|
|
31
41
|
params,
|
|
42
|
+
...this.getBaseSettings(options),
|
|
32
43
|
});
|
|
33
44
|
}
|
|
34
45
|
|
|
46
|
+
/**
|
|
47
|
+
* @description Get Events of multiple HitL Sessions
|
|
48
|
+
* @param options
|
|
49
|
+
*/
|
|
50
|
+
public static async getBulkSessionEventsList(
|
|
51
|
+
options: GetBulkSessionEventsOptions
|
|
52
|
+
): Promise<GetBulkSessionsEventsResponse> {
|
|
53
|
+
const baseUrl = this.getBaseUrl(options);
|
|
54
|
+
const route = new URI(baseUrl).segment(this.GET_BULK_EVENTS_URL).href();
|
|
55
|
+
const params = Object.fromEntries(
|
|
56
|
+
Object.entries(options).filter(([key]) => !DEFAULT_OMIT_FIELDS.includes(key))
|
|
57
|
+
);
|
|
58
|
+
|
|
59
|
+
return this.request({
|
|
60
|
+
method: 'GET',
|
|
61
|
+
route,
|
|
62
|
+
params,
|
|
63
|
+
...this.getBaseSettings(options),
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* @description Add new Events to HitL Session
|
|
69
|
+
* @param options
|
|
70
|
+
*/
|
|
35
71
|
public static addEvents(
|
|
36
|
-
options: AddEventsOptions
|
|
72
|
+
{ sessionId, events, ...options }: AddEventsOptions
|
|
37
73
|
): Promise<AddEventsResponse> {
|
|
38
74
|
const route = this.getBaseUrl(options);
|
|
39
|
-
const params = _.pick(options, ['sessionId']);
|
|
40
|
-
const data = _.pick(options, ['events']);
|
|
41
75
|
|
|
42
76
|
return this.request({
|
|
43
77
|
method: 'POST',
|
|
44
78
|
route,
|
|
45
|
-
params,
|
|
46
|
-
data,
|
|
79
|
+
params: { sessionId },
|
|
80
|
+
data: { events },
|
|
81
|
+
...this.getBaseSettings(options),
|
|
47
82
|
});
|
|
48
83
|
}
|
|
49
84
|
|
|
85
|
+
/**
|
|
86
|
+
* @description Get unread Events count for an Agent
|
|
87
|
+
* @param options
|
|
88
|
+
*/
|
|
50
89
|
public static async getNewEventsCount(
|
|
51
|
-
|
|
90
|
+
// TODO: add userId to GetNewEventsCountOptions
|
|
91
|
+
{ userId, ...options }: GetNewEventsCountOptions & { userId: string; }
|
|
52
92
|
): Promise<GetNewEventsCountResponse> {
|
|
53
93
|
const baseUrl = this.getBaseUrl(options);
|
|
54
94
|
const route = new URI(baseUrl).segment(this.GET_EVENTS_COUNT_URL).href();
|
|
55
|
-
const
|
|
56
|
-
|
|
95
|
+
const data = Object.fromEntries(
|
|
96
|
+
Object.entries(options).filter(([key]) => !DEFAULT_OMIT_FIELDS.includes(key))
|
|
97
|
+
);
|
|
57
98
|
|
|
58
99
|
return this.request({
|
|
59
100
|
method: 'POST',
|
|
60
101
|
route,
|
|
61
|
-
params,
|
|
102
|
+
params: { userId },
|
|
62
103
|
data,
|
|
104
|
+
...this.getBaseSettings(options),
|
|
63
105
|
});
|
|
64
106
|
}
|
|
65
107
|
|
|
108
|
+
/**
|
|
109
|
+
* @description Save last read Event info (event id and timestamp) for a Agent and HitL Session
|
|
110
|
+
* @param options
|
|
111
|
+
*/
|
|
66
112
|
public static async saveReadEventByUserId(
|
|
67
|
-
|
|
113
|
+
// TODO: add userId to SaveLastReadEventOptions
|
|
114
|
+
{ userId, ...options }: SaveLastReadEventOptions & { userId: string; }
|
|
68
115
|
): Promise<void> {
|
|
69
116
|
const baseUrl = this.getBaseUrl(options);
|
|
70
117
|
const route = new URI(baseUrl).segment(this.SAVE_READ_EVENT_URL).href();
|
|
71
|
-
const
|
|
72
|
-
|
|
118
|
+
const data = Object.fromEntries(
|
|
119
|
+
Object.entries(options).filter(([key]) => !DEFAULT_OMIT_FIELDS.includes(key))
|
|
120
|
+
);
|
|
73
121
|
|
|
74
122
|
return this.request({
|
|
75
123
|
method: 'POST',
|
|
76
124
|
route,
|
|
77
|
-
params,
|
|
125
|
+
params: { userId },
|
|
78
126
|
data,
|
|
127
|
+
...this.getBaseSettings(options),
|
|
79
128
|
});
|
|
80
129
|
}
|
|
81
130
|
}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import { HITLBase } from './HITLBase';
|
|
1
|
+
import { DEFAULT_OMIT_FIELDS } from '../constants';
|
|
4
2
|
import {
|
|
5
3
|
GetSessionRelationsOptions,
|
|
6
4
|
GetSessionRelationsResponse,
|
|
@@ -9,44 +7,69 @@ import {
|
|
|
9
7
|
DeleteSessionRelationsOptions,
|
|
10
8
|
} from '../types/session-relations';
|
|
11
9
|
|
|
10
|
+
import { HITLBase } from './HITLBase';
|
|
11
|
+
|
|
12
12
|
export class SessionRelations extends HITLBase {
|
|
13
13
|
protected static MODULE_URL = 'session-relations';
|
|
14
14
|
|
|
15
|
+
/**
|
|
16
|
+
* @description Get a list of HitL Session Relations
|
|
17
|
+
* @param options
|
|
18
|
+
*/
|
|
15
19
|
public static getSessionRelations(
|
|
16
20
|
options: GetSessionRelationsOptions
|
|
17
21
|
): Promise<GetSessionRelationsResponse> {
|
|
18
22
|
const route = this.getBaseUrl(options);
|
|
19
|
-
const params =
|
|
23
|
+
const params = Object.fromEntries(
|
|
24
|
+
Object.entries(options).filter(([key]) => !DEFAULT_OMIT_FIELDS.includes(key))
|
|
25
|
+
);
|
|
20
26
|
|
|
21
27
|
return this.request({
|
|
22
28
|
method: 'GET',
|
|
23
29
|
route,
|
|
24
30
|
params,
|
|
31
|
+
...this.getBaseSettings(options),
|
|
25
32
|
});
|
|
26
33
|
}
|
|
27
34
|
|
|
28
|
-
|
|
35
|
+
/**
|
|
36
|
+
* @description Create HitL Session Relations
|
|
37
|
+
* @param options
|
|
38
|
+
*/
|
|
39
|
+
|
|
40
|
+
public static createSessionRelations(
|
|
41
|
+
options: CreateSessionRelationsOptions,
|
|
42
|
+
): Promise<CreateSessionRelationsResponse> {
|
|
29
43
|
const route = this.getBaseUrl(options);
|
|
30
|
-
const data =
|
|
44
|
+
const data = Object.fromEntries(
|
|
45
|
+
Object.entries(options).filter(([key]) => !DEFAULT_OMIT_FIELDS.includes(key))
|
|
46
|
+
);
|
|
31
47
|
|
|
32
48
|
return this.request({
|
|
33
49
|
method: 'POST',
|
|
34
50
|
route,
|
|
35
51
|
data,
|
|
52
|
+
...this.getBaseSettings(options),
|
|
36
53
|
});
|
|
37
54
|
}
|
|
38
55
|
|
|
39
|
-
|
|
56
|
+
/**
|
|
57
|
+
* @description Delete HitL Session Relations
|
|
58
|
+
* @param options
|
|
59
|
+
*/
|
|
40
60
|
public static deleteSessionRelations(
|
|
41
61
|
options: DeleteSessionRelationsOptions
|
|
42
62
|
) {
|
|
43
63
|
const route = this.getBaseUrl(options);
|
|
44
|
-
const data =
|
|
64
|
+
const data = Object.fromEntries(
|
|
65
|
+
Object.entries(options).filter(([key]) => !DEFAULT_OMIT_FIELDS.includes(key))
|
|
66
|
+
);
|
|
45
67
|
|
|
46
68
|
return this.request({
|
|
47
69
|
method: 'DELETE',
|
|
48
70
|
route,
|
|
49
71
|
data,
|
|
72
|
+
...this.getBaseSettings(options),
|
|
50
73
|
});
|
|
51
74
|
}
|
|
52
75
|
}
|