@wildix/xbees-users-client 1.0.22 → 1.0.24

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 (35) hide show
  1. package/dist-cjs/Users.js +10 -2
  2. package/dist-cjs/commands/{BatchGetUsersStreamLinkDataCommand.js → BatchGetUsersCommand.js} +7 -7
  3. package/dist-cjs/commands/GetUserCommand.js +21 -0
  4. package/dist-cjs/commands/GetUserPbxLinkDataCommand.js +21 -0
  5. package/dist-cjs/commands/QueryUserCommand.js +21 -0
  6. package/dist-cjs/commands/QueryUsersCommand.js +21 -0
  7. package/dist-cjs/commands/index.js +5 -1
  8. package/dist-cjs/models/models_0.js +33 -1
  9. package/dist-cjs/protocols/Aws_restJson1.js +149 -11
  10. package/dist-es/Users.js +10 -2
  11. package/dist-es/commands/BatchGetUsersCommand.js +17 -0
  12. package/dist-es/commands/GetUserCommand.js +17 -0
  13. package/dist-es/commands/GetUserPbxLinkDataCommand.js +17 -0
  14. package/dist-es/commands/QueryUserCommand.js +17 -0
  15. package/dist-es/commands/QueryUsersCommand.js +17 -0
  16. package/dist-es/commands/index.js +5 -1
  17. package/dist-es/models/models_0.js +31 -0
  18. package/dist-es/protocols/Aws_restJson1.js +137 -7
  19. package/dist-types/Users.d.ts +35 -7
  20. package/dist-types/UsersClient.d.ts +7 -3
  21. package/dist-types/commands/BatchGetUsersCommand.d.ts +85 -0
  22. package/dist-types/commands/BatchGetUsersPbxLinkDataCommand.d.ts +53 -4
  23. package/dist-types/commands/GetUserCommand.d.ts +83 -0
  24. package/dist-types/commands/GetUserPbxLinkDataCommand.d.ts +120 -0
  25. package/dist-types/commands/QueryUserCommand.d.ts +92 -0
  26. package/dist-types/commands/QueryUsersCommand.d.ts +92 -0
  27. package/dist-types/commands/index.d.ts +5 -1
  28. package/dist-types/models/models_0.d.ts +462 -60
  29. package/dist-types/protocols/Aws_restJson1.d.ts +45 -9
  30. package/dist-types/runtimeConfig.browser.d.ts +1 -0
  31. package/dist-types/runtimeConfig.d.ts +1 -0
  32. package/dist-types/runtimeConfig.native.d.ts +1 -0
  33. package/package.json +1 -1
  34. package/dist-es/commands/BatchGetUsersStreamLinkDataCommand.js +0 -17
  35. package/dist-types/commands/BatchGetUsersStreamLinkDataCommand.d.ts +0 -83
@@ -25,132 +25,396 @@ export declare class ForbiddenException extends __BaseException {
25
25
  }
26
26
  /**
27
27
  * @public
28
+ * @enum
28
29
  */
29
- export interface BatchGetUsersPbxLinkDataInput {
30
- id: (string)[];
31
- }
30
+ export declare const PbxLicenseType: {
31
+ readonly BASIC: "basic";
32
+ readonly BUSINESS: "business";
33
+ readonly ESSENTIAL: "essential";
34
+ readonly PREMIUM: "premium";
35
+ readonly WIZYCONF: "wizyconf";
36
+ };
37
+ /**
38
+ * @public
39
+ */
40
+ export type PbxLicenseType = typeof PbxLicenseType[keyof typeof PbxLicenseType];
32
41
  /**
33
42
  * @public
34
43
  */
35
- export interface PbxLinkData {
44
+ export interface User {
36
45
  id: string;
37
- company: string;
38
- domain?: string;
46
+ name?: string;
39
47
  email?: string;
48
+ phone?: string;
49
+ picture?: string;
50
+ locale?: string;
51
+ timeZone?: string;
52
+ company?: string;
53
+ bot?: boolean;
54
+ pbxDomain?: string;
55
+ pbxPort?: string;
56
+ pbxExtension?: string;
57
+ pbxSerial?: string;
58
+ pbxUserId?: string;
59
+ createdAt?: string;
60
+ updatedAt?: string;
40
61
  }
41
62
  /**
42
63
  * @public
43
64
  */
44
- export interface BatchGetUsersPbxLinkDataOutput {
45
- users: (PbxLinkData)[];
65
+ export interface BotDialogflowCxEndpoint {
66
+ /**
67
+ * Dialogflow Service Account Credentials
68
+ * @public
69
+ */
70
+ credentials: __DocumentType;
71
+ /**
72
+ * Dialogflow Agent Id (example - 88ff4635-0852-4f97-ae44-b19ae9fa6ea1
73
+ * @public
74
+ */
75
+ agent: string;
76
+ /**
77
+ * Dialogflow Agent Region (example: europe-west3)
78
+ * @public
79
+ */
80
+ location: string;
81
+ /**
82
+ * Language
83
+ * @public
84
+ */
85
+ language: string;
46
86
  }
47
87
  /**
48
88
  * @public
49
89
  */
50
- export interface BatchGetUsersStreamLinkDataInput {
90
+ export interface BotOpenAiAssistantEndpoint {
91
+ key: string;
92
+ assistantId: string;
93
+ }
94
+ /**
95
+ * @public
96
+ */
97
+ export interface BotSqsEndpoint {
98
+ url: string;
99
+ key: string;
100
+ secret: string;
101
+ }
102
+ /**
103
+ * @public
104
+ */
105
+ export interface BotWebhookEndpoint {
106
+ url: string;
107
+ secret: string;
108
+ }
109
+ /**
110
+ * @public
111
+ */
112
+ export interface BatchGetUsersInput {
51
113
  id: (string)[];
52
114
  }
53
115
  /**
54
116
  * @public
55
117
  */
56
- export interface StreamLinkData {
57
- id: string;
58
- email?: string;
59
- phone?: string;
60
- name?: string;
61
- picture?: string;
62
- company?: string;
63
- pbxExtension?: string;
64
- pbxSerial?: string;
65
- pbxDomain?: string;
66
- pbxPort?: string;
67
- pbxUserId?: string;
68
- pbxUpdatedAt?: string;
69
- locale?: string;
70
- timeZone?: string;
118
+ export interface BatchGetUsersOutput {
119
+ /**
120
+ * A list of users that exist in the platform.
121
+ * @public
122
+ */
123
+ users: (User)[];
71
124
  }
72
125
  /**
73
126
  * @public
74
127
  */
75
- export interface BatchGetUsersStreamLinkDataOutput {
76
- users: Record<string, StreamLinkData>;
128
+ export interface BatchGetUsersPbxLinkDataInput {
129
+ id: (string)[];
77
130
  }
78
131
  /**
79
132
  * @public
80
133
  */
81
- export interface Bot {
82
- id: string;
83
- name: string;
84
- picture?: string;
85
- searchable?: boolean;
86
- createdAt: string;
87
- updated?: string;
134
+ export interface UserPbxDialplanSettings {
88
135
  }
89
136
  /**
90
137
  * @public
91
138
  */
92
- export interface BotApiKey {
93
- secret: string;
94
- name?: string;
95
- createdAt: string;
139
+ export interface UserPersonalInfo {
140
+ /**
141
+ * Distinguished Name (DN) of the user in the directory (example: 'uid=9010198,o=com0,dc=wildix').
142
+ * @public
143
+ */
144
+ dn: string;
145
+ /**
146
+ * Unique identifier of the user (example: '9010198').
147
+ * @public
148
+ */
149
+ id: string;
150
+ /**
151
+ * Name of the user (example: 'John Doe').
152
+ * @public
153
+ */
154
+ name: string;
155
+ /**
156
+ * Extension number of the user (example: '111').
157
+ * @public
158
+ */
159
+ extension: string;
160
+ /**
161
+ * Office phone number of the user (example: '22222'). This field can be an empty string or undefined if not provided.
162
+ * @public
163
+ */
164
+ officePhone?: string;
165
+ /**
166
+ * Mobile phone number of the user (example: '22222'). This field can be an empty string or undefined if not provided.
167
+ * @public
168
+ */
169
+ mobilePhone?: string;
170
+ /**
171
+ * Fax number of the user (example: '22222'). This field can be an empty string or undefined if not provided.
172
+ * @public
173
+ */
174
+ faxNumber?: string;
175
+ /**
176
+ * Email address of the user (example: 'email@google.com'). This field can be an empty string or undefined if not provided.
177
+ * @public
178
+ */
179
+ email?: string;
180
+ /**
181
+ * Role of the user (example: 'admin').
182
+ * @public
183
+ */
184
+ role: string;
185
+ /**
186
+ * Language preference of the user (example: 'en').
187
+ * @public
188
+ */
189
+ language: string;
190
+ /**
191
+ * Dialplan associated with the user (example: 'users').
192
+ * @public
193
+ */
194
+ dialplan: string;
195
+ /**
196
+ * Fax dialplan associated with the user. Example: 'users'.
197
+ * @public
198
+ */
199
+ faxDialplan: string;
200
+ /**
201
+ * Department of the user (example: 'Sales'). This field can be an empty string or undefined if not provided.
202
+ * @public
203
+ */
204
+ departament?: string;
205
+ /**
206
+ * Public URL path of the user's picture (example: '/cticonnect/cticonnect_share/user_avatar_3688190.png?100&John Doe&98998generated').
207
+ * @public
208
+ */
209
+ picture: string;
210
+ /**
211
+ * Distinguished Name (DN) of the user's group in the directory. Example: 'gid=5194383,o=com0,dc=wildix'.
212
+ * @public
213
+ */
214
+ groupDn: string;
215
+ /**
216
+ * Name of the user's group.
217
+ * @public
218
+ */
219
+ groupName: string;
220
+ /**
221
+ * Jabber ID (JID) of the user. Example: '100@example.wildixin.com'.
222
+ * @public
223
+ */
224
+ jid: string;
225
+ /**
226
+ * Type of license assigned to the user.
227
+ * @public
228
+ */
229
+ licenseType: PbxLicenseType;
230
+ /**
231
+ * Login name of the user. This field can be an empty string or undefined if not provided.
232
+ * @public
233
+ */
234
+ login?: string;
235
+ /**
236
+ * PBX associated with the user. This field can be an empty string or undefined if not provided.
237
+ * @public
238
+ */
239
+ pbx?: string;
240
+ /**
241
+ * Distinguished Name (DN) of the PBX associated with the user. Example: 'pbxid=0800276a7b26,dc=wildix'.
242
+ * @public
243
+ */
244
+ pbxDn: string;
245
+ /**
246
+ * Source identifier for the user's authorization (example: '117868550326216144929').
247
+ * @public
248
+ */
249
+ sourceId?: string;
250
+ /**
251
+ * SIP password for the user, used to authenticate and secure SIP communications such as VoIP calls.
252
+ * @public
253
+ */
254
+ sipPassword?: string;
96
255
  }
97
256
  /**
98
257
  * @public
99
258
  */
100
- export declare class BotApiKeyNotFoundException extends __BaseException {
101
- readonly name: "BotApiKeyNotFoundException";
102
- readonly $fault: "client";
259
+ export interface UserPbxInfo {
103
260
  /**
104
- * @internal
261
+ * Network addresses associated with the PBX (example: ['krzhevitskywms4.wildixin.com']).
262
+ * @public
105
263
  */
106
- constructor(opts: __ExceptionOptionType<BotApiKeyNotFoundException, __BaseException>);
264
+ networkAddresses: (string)[];
265
+ /**
266
+ * Specifies the HTTPs ports utilized by the PBX system (example: ['443']).
267
+ * @public
268
+ */
269
+ ports: (string)[];
270
+ /**
271
+ * Prefix used for external lines (eample: '0').
272
+ * @public
273
+ */
274
+ externalLinePrefix?: string;
275
+ /**
276
+ * Version of the PBX software (example: '5.03.20210820.2~67439e5d').
277
+ * @public
278
+ */
279
+ version: string;
280
+ /**
281
+ * Serial number of the PBX (example: '221100002aa2').
282
+ * @public
283
+ */
284
+ serial: string;
107
285
  }
108
286
  /**
109
287
  * @public
110
288
  */
111
- export interface BotDialogflowCxEndpoint {
289
+ export interface UserPbxPersonalSettings {
290
+ }
291
+ /**
292
+ * @public
293
+ */
294
+ export interface UserPbxServices {
295
+ xcaracal?: boolean;
296
+ wizyWebinar?: boolean;
297
+ }
298
+ /**
299
+ * @public
300
+ */
301
+ export interface UserPbxLinkData {
112
302
  /**
113
- * Dialogflow Service Account Credentials
303
+ * The unique identifier of the user (Cloud ID, not ID of the user on PBX).
114
304
  * @public
115
305
  */
116
- credentials: __DocumentType;
306
+ id: string;
117
307
  /**
118
- * Dialogflow Agent Id (example - 88ff4635-0852-4f97-ae44-b19ae9fa6ea1
308
+ * The ID of the tenant (company) associated with the user.
119
309
  * @public
120
310
  */
121
- agent: string;
311
+ company: string;
122
312
  /**
123
- * Dialogflow Agent Region (example: europe-west3)
313
+ * The name of the tenant (company) associated with the user.
124
314
  * @public
125
315
  */
126
- location: string;
316
+ companyName?: string;
127
317
  /**
128
- * Language
318
+ * The domain of the PBX where the user connected to.
129
319
  * @public
130
320
  */
131
- language: string;
321
+ domain: string;
322
+ /**
323
+ * The email address of the user.
324
+ * @public
325
+ */
326
+ email?: string;
327
+ /**
328
+ * Personal information of the user.
329
+ * @public
330
+ */
331
+ info: UserPersonalInfo;
332
+ /**
333
+ * PBX information where user connected to.
334
+ * @public
335
+ */
336
+ pbx: UserPbxInfo;
337
+ /**
338
+ * A public URL of the user's picture (example: https://example.wildixin.com/cticonnect/cticonnect_share/user_avatar_3688190.png)
339
+ * @public
340
+ */
341
+ picture: string;
342
+ /**
343
+ * Indicates whether the picture was manually removed by the user. If true the application must show a placeholder instead of the default picture from the PBX.
344
+ * @public
345
+ */
346
+ pictureDeleted?: boolean;
347
+ /**
348
+ * The port used for the PBX connection.
349
+ * @public
350
+ */
351
+ port: string;
352
+ /**
353
+ * The serial number of the PBX.
354
+ * @public
355
+ */
356
+ serial: string;
357
+ /**
358
+ * Services associated with the user's PBX.
359
+ * @public
360
+ */
361
+ services?: UserPbxServices;
362
+ /**
363
+ * Personal settings (PBX) of the user.
364
+ * @public
365
+ */
366
+ personalSettings?: UserPbxPersonalSettings;
367
+ /**
368
+ * Dialplan settings (PBX) of the user.
369
+ * @public
370
+ */
371
+ dialplanSettings?: UserPbxDialplanSettings;
372
+ /**
373
+ * The AWS region where the PBX is located.
374
+ * @public
375
+ */
376
+ awsRegion?: string;
377
+ /**
378
+ * The date when link data was updated last time.
379
+ * @public
380
+ */
381
+ updatedAt?: string;
132
382
  }
133
383
  /**
134
384
  * @public
135
385
  */
136
- export interface BotOpenAiAssistantEndpoint {
137
- key: string;
138
- assistantId: string;
386
+ export interface BatchGetUsersPbxLinkDataOutput {
387
+ users: (UserPbxLinkData)[];
139
388
  }
140
389
  /**
141
390
  * @public
142
391
  */
143
- export interface BotSqsEndpoint {
144
- url: string;
145
- key: string;
146
- secret: string;
392
+ export interface Bot {
393
+ id: string;
394
+ name: string;
395
+ picture?: string;
396
+ searchable?: boolean;
397
+ createdAt: string;
398
+ updated?: string;
147
399
  }
148
400
  /**
149
401
  * @public
150
402
  */
151
- export interface BotWebhookEndpoint {
152
- url: string;
403
+ export interface BotApiKey {
153
404
  secret: string;
405
+ name?: string;
406
+ createdAt: string;
407
+ }
408
+ /**
409
+ * @public
410
+ */
411
+ export declare class BotApiKeyNotFoundException extends __BaseException {
412
+ readonly name: "BotApiKeyNotFoundException";
413
+ readonly $fault: "client";
414
+ /**
415
+ * @internal
416
+ */
417
+ constructor(opts: __ExceptionOptionType<BotApiKeyNotFoundException, __BaseException>);
154
418
  }
155
419
  /**
156
420
  * @public
@@ -387,6 +651,34 @@ export interface GetBotCallbackInput {
387
651
  export interface GetBotCallbackOutput {
388
652
  callback: BotCallback;
389
653
  }
654
+ /**
655
+ * @public
656
+ */
657
+ export interface GetUserInput {
658
+ /**
659
+ * The unique identifier of the user.
660
+ * @public
661
+ */
662
+ userId: string;
663
+ }
664
+ /**
665
+ * @public
666
+ */
667
+ export interface GetUserOutput {
668
+ user: User;
669
+ }
670
+ /**
671
+ * @public
672
+ */
673
+ export interface GetUserPbxLinkDataInput {
674
+ id: string;
675
+ }
676
+ /**
677
+ * @public
678
+ */
679
+ export interface GetUserPbxLinkDataOutput {
680
+ user: UserPbxLinkData;
681
+ }
390
682
  /**
391
683
  * @public
392
684
  */
@@ -447,6 +739,116 @@ export interface ListBotsInput {
447
739
  export interface ListBotsOutput {
448
740
  bots: (Bot)[];
449
741
  }
742
+ /**
743
+ * @public
744
+ */
745
+ export interface UserQueryPredicate {
746
+ /**
747
+ * The type of PBX license required for the user query. This field is used to ensure that the user has the appropriate license type.
748
+ * @public
749
+ */
750
+ license?: PbxLicenseType;
751
+ }
752
+ /**
753
+ * @public
754
+ */
755
+ export type UserQuery = UserQuery.EmailMember | UserQuery.IdMember | UserQuery.PhoneMember | UserQuery.$UnknownMember;
756
+ /**
757
+ * @public
758
+ */
759
+ export declare namespace UserQuery {
760
+ /**
761
+ * The unique identifier of the user (Cloud ID, not ID of the user on PBX).
762
+ * @public
763
+ */
764
+ interface IdMember {
765
+ id: string;
766
+ email?: never;
767
+ phone?: never;
768
+ $unknown?: never;
769
+ }
770
+ /**
771
+ * The email address of the user.
772
+ * @public
773
+ */
774
+ interface EmailMember {
775
+ id?: never;
776
+ email: string;
777
+ phone?: never;
778
+ $unknown?: never;
779
+ }
780
+ /**
781
+ * The phone number of the user.
782
+ * @public
783
+ */
784
+ interface PhoneMember {
785
+ id?: never;
786
+ email?: never;
787
+ phone: string;
788
+ $unknown?: never;
789
+ }
790
+ /**
791
+ * @public
792
+ */
793
+ interface $UnknownMember {
794
+ id?: never;
795
+ email?: never;
796
+ phone?: never;
797
+ $unknown: [string, any];
798
+ }
799
+ interface Visitor<T> {
800
+ id: (value: string) => T;
801
+ email: (value: string) => T;
802
+ phone: (value: string) => T;
803
+ _: (name: string, value: any) => T;
804
+ }
805
+ const visit: <T>(value: UserQuery, visitor: Visitor<T>) => T;
806
+ }
807
+ /**
808
+ * @public
809
+ */
810
+ export interface QueryUserInput {
811
+ query: UserQuery;
812
+ /**
813
+ * A condition that must be satisfied for the user query to be considered valid. If this predicate is not met, a UserQueryPredicateNotMetException will be thrown.
814
+ * @public
815
+ */
816
+ predicate?: UserQueryPredicate;
817
+ }
818
+ /**
819
+ * @public
820
+ */
821
+ export interface QueryUserOutput {
822
+ user: User;
823
+ }
824
+ /**
825
+ * @public
826
+ */
827
+ export declare class UserQueryPredicateNotMetException extends __BaseException {
828
+ readonly name: "UserQueryPredicateNotMetException";
829
+ readonly $fault: "client";
830
+ /**
831
+ * @internal
832
+ */
833
+ constructor(opts: __ExceptionOptionType<UserQueryPredicateNotMetException, __BaseException>);
834
+ }
835
+ /**
836
+ * @public
837
+ */
838
+ export interface QueryUsersInput {
839
+ queries: (UserQuery)[];
840
+ predicate?: UserQueryPredicate;
841
+ }
842
+ /**
843
+ * @public
844
+ */
845
+ export interface QueryUsersOutput {
846
+ /**
847
+ * A list of users that exist in the platform and matches predicate if specified.
848
+ * @public
849
+ */
850
+ users: (User)[];
851
+ }
450
852
  /**
451
853
  * @public
452
854
  */