@kl1/contracts 1.0.9 → 1.0.11

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 (98) hide show
  1. package/dist/index.js +1331 -1064
  2. package/dist/index.js.map +1 -1
  3. package/dist/index.mjs +1325 -1060
  4. package/dist/index.mjs.map +1 -1
  5. package/dist/src/auth/index.d.ts +92 -0
  6. package/dist/src/auth/index.d.ts.map +1 -1
  7. package/dist/src/aws/index.d.ts +4 -4
  8. package/dist/src/aws/validation.d.ts +2 -2
  9. package/dist/src/call-log/schema.d.ts +2 -2
  10. package/dist/src/category/index.d.ts +3 -3
  11. package/dist/src/channel/index.d.ts +1357 -0
  12. package/dist/src/channel/index.d.ts.map +1 -0
  13. package/dist/src/channel/schema.d.ts +385 -0
  14. package/dist/src/channel/schema.d.ts.map +1 -0
  15. package/dist/src/channel/validation.d.ts +337 -0
  16. package/dist/src/channel/validation.d.ts.map +1 -0
  17. package/dist/src/chat/index.d.ts +18857 -8629
  18. package/dist/src/chat/index.d.ts.map +1 -1
  19. package/dist/src/chat/schema.d.ts +2170 -641
  20. package/dist/src/chat/schema.d.ts.map +1 -1
  21. package/dist/src/chat/validation.d.ts +3078 -278
  22. package/dist/src/chat/validation.d.ts.map +1 -1
  23. package/dist/src/company/schema.d.ts +197 -12
  24. package/dist/src/company/schema.d.ts.map +1 -1
  25. package/dist/src/contact/index.d.ts +2539 -0
  26. package/dist/src/contact/index.d.ts.map +1 -0
  27. package/dist/src/contact/schema.d.ts +978 -6
  28. package/dist/src/contact/schema.d.ts.map +1 -1
  29. package/dist/src/contact/validation.d.ts +981 -0
  30. package/dist/src/contact/validation.d.ts.map +1 -0
  31. package/dist/src/contract.d.ts +37764 -21769
  32. package/dist/src/contract.d.ts.map +1 -1
  33. package/dist/src/custom-field-upload/schema.d.ts +2 -2
  34. package/dist/src/cx-log/index.d.ts +4 -4
  35. package/dist/src/cx-log/schema.d.ts +2 -2
  36. package/dist/src/extension/index.d.ts +226 -60
  37. package/dist/src/extension/index.d.ts.map +1 -1
  38. package/dist/src/extension/schema.d.ts +6 -6
  39. package/dist/src/extension/validation.d.ts +6 -12
  40. package/dist/src/extension/validation.d.ts.map +1 -1
  41. package/dist/src/index.d.ts +1 -0
  42. package/dist/src/index.d.ts.map +1 -1
  43. package/dist/src/line/index.d.ts +2 -2
  44. package/dist/src/line/validation.d.ts +2 -2
  45. package/dist/src/mail/account-contract.d.ts +2 -2
  46. package/dist/src/mail/mail-contract.d.ts +2871 -3707
  47. package/dist/src/mail/mail-contract.d.ts.map +1 -1
  48. package/dist/src/mail/message-contract.d.ts +18 -18
  49. package/dist/src/mail/room-contract.d.ts +2860 -3696
  50. package/dist/src/mail/room-contract.d.ts.map +1 -1
  51. package/dist/src/mail/schemas/account-validation.schema.d.ts +2 -2
  52. package/dist/src/mail/schemas/message-validation.schema.d.ts +12 -12
  53. package/dist/src/mail/schemas/message.schema.d.ts +4 -4
  54. package/dist/src/mail/schemas/room-validation.schema.d.ts +70 -70
  55. package/dist/src/mail/schemas/room.schema.d.ts +50 -50
  56. package/dist/src/messenger/index.d.ts +2977 -0
  57. package/dist/src/messenger/index.d.ts.map +1 -0
  58. package/dist/src/messenger/schema.d.ts +2 -0
  59. package/dist/src/messenger/schema.d.ts.map +1 -0
  60. package/dist/src/messenger/validation.d.ts +2 -0
  61. package/dist/src/messenger/validation.d.ts.map +1 -0
  62. package/dist/src/permission/index.d.ts +2 -0
  63. package/dist/src/permission/index.d.ts.map +1 -1
  64. package/dist/src/role/index.d.ts +3 -3
  65. package/dist/src/telephony-agent-presence-status/index.d.ts +1376 -0
  66. package/dist/src/telephony-agent-presence-status/index.d.ts.map +1 -0
  67. package/dist/src/telephony-agent-presence-status/schema.d.ts +366 -0
  68. package/dist/src/telephony-agent-presence-status/schema.d.ts.map +1 -0
  69. package/dist/src/telephony-agent-presence-status/validation.d.ts +18 -0
  70. package/dist/src/telephony-agent-presence-status/validation.d.ts.map +1 -0
  71. package/dist/src/telephony-cdr/schema.d.ts +2 -2
  72. package/dist/src/telephony-extension/index.d.ts +5 -5
  73. package/dist/src/telephony-extension/schema.d.ts +5 -5
  74. package/dist/src/tenant/schema.d.ts +36 -0
  75. package/dist/src/tenant/schema.d.ts.map +1 -0
  76. package/dist/src/upload/schema.d.ts +4 -4
  77. package/dist/src/user/index.d.ts +318 -14
  78. package/dist/src/user/index.d.ts.map +1 -1
  79. package/dist/src/user/schema.d.ts +64 -0
  80. package/dist/src/user/schema.d.ts.map +1 -1
  81. package/dist/src/user/validation.d.ts +11 -11
  82. package/dist/src/user-presence-status-log/index.d.ts +342 -0
  83. package/dist/src/user-presence-status-log/index.d.ts.map +1 -0
  84. package/dist/src/user-presence-status-log/schema.d.ts +382 -0
  85. package/dist/src/user-presence-status-log/schema.d.ts.map +1 -0
  86. package/dist/src/user-presence-status-log/validation.d.ts +15 -0
  87. package/dist/src/user-presence-status-log/validation.d.ts.map +1 -0
  88. package/dist/src/widget/index.d.ts +31 -29
  89. package/dist/src/widget/index.d.ts.map +1 -1
  90. package/dist/src/widget/schema.d.ts +3 -3
  91. package/dist/src/wrap-up-form/index.d.ts +30 -30
  92. package/dist/src/wrap-up-form/validation.d.ts +27 -27
  93. package/dist/utils.d.ts +6 -6
  94. package/package.json +1 -1
  95. package/dist/src/app/index.d.ts +0 -17
  96. package/dist/src/app/index.d.ts.map +0 -1
  97. package/dist/src/mail/mail-server.d.ts +0 -216
  98. package/dist/src/mail/mail-server.d.ts.map +0 -1
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  // src/contract.ts
2
- import { initContract as initContract22 } from "@ts-rest/core";
2
+ import { initContract as initContract26 } from "@ts-rest/core";
3
3
 
4
4
  // src/attribute/index.ts
5
5
  import { initContract } from "@ts-rest/core";
@@ -194,38 +194,52 @@ var attributeContract = initContract().router(
194
194
 
195
195
  // src/auth/index.ts
196
196
  import { initContract as initContract2 } from "@ts-rest/core";
197
- import { z as z8 } from "zod";
197
+ import { z as z9 } from "zod";
198
198
 
199
199
  // src/user/schema.ts
200
- import z7 from "zod";
200
+ import z8 from "zod";
201
+
202
+ // src/extension/schema.ts
203
+ import z5 from "zod";
204
+ var ExtensionSchema = DefaultEntitySchema.extend({
205
+ userId: z5.string().nullable(),
206
+ sipServerUrl: z5.string(),
207
+ sipUserName: z5.string(),
208
+ extensionId: z5.coerce.number(),
209
+ extensionName: z5.string(),
210
+ telephonySignature: z5.string().nullable()
211
+ });
201
212
 
202
213
  // src/role/schema.ts
203
- import z6 from "zod";
214
+ import z7 from "zod";
204
215
 
205
216
  // src/permission/schema.ts
206
- import z5 from "zod";
217
+ import z6 from "zod";
207
218
  var PermissionSchema = DefaultEntitySchema.extend({
208
- systemName: z5.string(),
209
- displayName: z5.string(),
210
- description: z5.string().nullable()
219
+ systemName: z6.string(),
220
+ displayName: z6.string(),
221
+ description: z6.string().nullable()
211
222
  });
212
223
 
213
224
  // src/role/schema.ts
214
225
  var RoleSchema = DefaultEntitySchema.extend({
215
- systemName: z6.string(),
216
- displayName: z6.string(),
217
- description: z6.string().nullable(),
218
- permissions: z6.array(PermissionSchema)
226
+ systemName: z7.string(),
227
+ displayName: z7.string(),
228
+ description: z7.string().nullable(),
229
+ permissions: z7.array(PermissionSchema)
219
230
  });
220
231
 
221
232
  // src/user/schema.ts
222
233
  var UserSchema = DefaultEntitySchema.extend({
223
- name: z7.string(),
224
- email: z7.string().email(),
225
- address: z7.string().nullable(),
226
- phone: z7.string().nullable(),
227
- notificationCount: z7.number().nullable(),
228
- roles: z7.array(RoleSchema)
234
+ name: z8.string(),
235
+ email: z8.string().email(),
236
+ emailVerifiedAt: z8.date().nullable(),
237
+ password: z8.string(),
238
+ address: z8.string().nullable(),
239
+ phone: z8.string().nullable(),
240
+ notificationCount: z8.number().nullable(),
241
+ roles: z8.array(RoleSchema),
242
+ extension: ExtensionSchema.optional()
229
243
  });
230
244
 
231
245
  // src/auth/index.ts
@@ -237,8 +251,8 @@ var authContract = initContract2().router(
237
251
  headers: DefaultHeaderSchema,
238
252
  responses: {
239
253
  200: DefaultSuccessResponseSchema.extend({
240
- accessToken: z8.string(),
241
- refreshToken: z8.string()
254
+ accessToken: z9.string(),
255
+ refreshToken: z9.string()
242
256
  }),
243
257
  401: DefaultUnauthorizedSchema,
244
258
  404: DefaultNotFoundSchema,
@@ -252,8 +266,8 @@ var authContract = initContract2().router(
252
266
  path: "/exchange-token",
253
267
  responses: {
254
268
  200: DefaultSuccessResponseSchema.extend({
255
- accessToken: z8.string(),
256
- refreshToken: z8.string()
269
+ accessToken: z9.string(),
270
+ refreshToken: z9.string()
257
271
  }),
258
272
  401: DefaultUnauthorizedSchema,
259
273
  404: DefaultNotFoundSchema,
@@ -269,7 +283,7 @@ var authContract = initContract2().router(
269
283
  headers: DefaultHeaderSchema,
270
284
  responses: {
271
285
  200: DefaultSuccessResponseSchema.extend({
272
- message: z8.string()
286
+ message: z9.string()
273
287
  }),
274
288
  401: DefaultUnauthorizedSchema,
275
289
  404: DefaultNotFoundSchema,
@@ -297,9 +311,9 @@ var authContract = initContract2().router(
297
311
  path: "/user/role",
298
312
  headers: DefaultHeaderSchema,
299
313
  responses: {
300
- 200: z8.array(z8.string()),
301
- 400: z8.object({
302
- message: z8.string()
314
+ 200: z9.array(z9.string()),
315
+ 400: z9.object({
316
+ message: z9.string()
303
317
  }),
304
318
  401: DefaultUnauthorizedSchema
305
319
  },
@@ -309,79 +323,144 @@ var authContract = initContract2().router(
309
323
  { pathPrefix: "auth" }
310
324
  );
311
325
 
312
- // src/category/index.ts
326
+ // src/aws/index.ts
313
327
  import { initContract as initContract3 } from "@ts-rest/core";
314
- import z12 from "zod";
328
+
329
+ // src/aws/validation.ts
330
+ import z10 from "zod";
331
+ var AwsContractsValidationSchema = {
332
+ generatePresignedUrl: {
333
+ input: z10.object({
334
+ fileName: z10.string(),
335
+ fileType: z10.string(),
336
+ moduleName: z10.string()
337
+ }),
338
+ output: z10.object({
339
+ fileName: z10.string(),
340
+ fileKey: z10.string(),
341
+ bucketName: z10.string(),
342
+ url: z10.string(),
343
+ cfUrl: z10.string().nullable()
344
+ })
345
+ },
346
+ generateSignedUrl: {
347
+ input: z10.object({
348
+ fileKey: z10.string()
349
+ }),
350
+ output: z10.object({
351
+ url: z10.string()
352
+ })
353
+ }
354
+ };
355
+
356
+ // src/aws/index.ts
357
+ var awsContract = initContract3().router(
358
+ {
359
+ generatePresignedUrl: {
360
+ method: "POST",
361
+ path: "/presigned-url",
362
+ responses: {
363
+ 200: DefaultSuccessResponseSchema.extend({
364
+ data: AwsContractsValidationSchema.generatePresignedUrl.output
365
+ }),
366
+ ...DefaultResponses,
367
+ 500: DefaultErrorResponseSchema
368
+ },
369
+ body: AwsContractsValidationSchema.generatePresignedUrl.input,
370
+ summary: "Generate a presigned url"
371
+ },
372
+ generateSignedUrl: {
373
+ method: "POST",
374
+ path: "/signed-url",
375
+ responses: {
376
+ 200: DefaultSuccessResponseSchema.extend({
377
+ data: AwsContractsValidationSchema.generateSignedUrl.output
378
+ }),
379
+ ...DefaultResponses,
380
+ 500: DefaultErrorResponseSchema
381
+ },
382
+ body: AwsContractsValidationSchema.generateSignedUrl.input,
383
+ summary: "Generate a signed url using file key"
384
+ }
385
+ },
386
+ {
387
+ pathPrefix: "aws/s3"
388
+ }
389
+ );
390
+
391
+ // src/category/index.ts
392
+ import { initContract as initContract4 } from "@ts-rest/core";
393
+ import z14 from "zod";
315
394
 
316
395
  // utils.ts
317
- import { z as z9 } from "zod";
318
- var PaginationSchema = z9.object({
319
- page: z9.number().default(1),
320
- pageSize: z9.number().default(10),
321
- total: z9.number(),
322
- lastPage: z9.number().optional().nullable()
396
+ import { z as z11 } from "zod";
397
+ var PaginationSchema = z11.object({
398
+ page: z11.number().default(1),
399
+ pageSize: z11.number().default(10),
400
+ total: z11.number(),
401
+ lastPage: z11.number().optional()
323
402
  });
324
403
  var WithPagination = (dataSchema) => {
325
404
  return PaginationSchema.extend({
326
- data: z9.array(dataSchema)
405
+ data: z11.array(dataSchema)
327
406
  });
328
407
  };
329
408
 
330
409
  // src/category/schema.ts
331
- import { z as z10 } from "zod";
332
- var CategoryLevelSchema = z10.union([
333
- z10.literal(1),
334
- z10.literal(2),
335
- z10.literal(3)
410
+ import { z as z12 } from "zod";
411
+ var CategoryLevelSchema = z12.union([
412
+ z12.literal(1),
413
+ z12.literal(2),
414
+ z12.literal(3)
336
415
  ]);
337
416
  var CategorySchema = DefaultEntitySchema.extend({
338
- value: z10.string(),
417
+ value: z12.string(),
339
418
  level: CategoryLevelSchema,
340
- parentId: z10.string().nullable(),
341
- childCategoryList: z10.array(
342
- z10.object({
343
- id: z10.string(),
344
- value: z10.string(),
419
+ parentId: z12.string().nullable(),
420
+ childCategoryList: z12.array(
421
+ z12.object({
422
+ id: z12.string(),
423
+ value: z12.string(),
345
424
  level: CategoryLevelSchema,
346
- parentId: z10.string().nullable(),
347
- childCategoryList: z10.array(
348
- z10.object({
349
- id: z10.string(),
350
- value: z10.string(),
425
+ parentId: z12.string().nullable(),
426
+ childCategoryList: z12.array(
427
+ z12.object({
428
+ id: z12.string(),
429
+ value: z12.string(),
351
430
  level: CategoryLevelSchema,
352
- parentId: z10.string().nullable(),
353
- childCategoryList: z10.array(z10.any())
431
+ parentId: z12.string().nullable(),
432
+ childCategoryList: z12.array(z12.any())
354
433
  // This is an empty array.
355
434
  })
356
435
  )
357
436
  })
358
437
  )
359
438
  });
360
- var CategoryLevelObjectSchema = z10.object({
361
- id: z10.string(),
362
- name: z10.string(),
439
+ var CategoryLevelObjectSchema = z12.object({
440
+ id: z12.string(),
441
+ name: z12.string(),
363
442
  level: CategoryLevelSchema
364
443
  });
365
444
 
366
445
  // src/category/validation.ts
367
- import { z as z11 } from "zod";
368
- var CreateCategorySchema = z11.object({
369
- value: z11.string(),
446
+ import { z as z13 } from "zod";
447
+ var CreateCategorySchema = z13.object({
448
+ value: z13.string(),
370
449
  level: CategoryLevelSchema,
371
- parentId: z11.string().nullable()
450
+ parentId: z13.string().nullable()
372
451
  });
373
- var UpdateCategorySchema = z11.object({ value: z11.string() });
374
- var CreateCategoryLevelSchema = z11.object({
375
- name: z11.string(),
452
+ var UpdateCategorySchema = z13.object({ value: z13.string() });
453
+ var CreateCategoryLevelSchema = z13.object({
454
+ name: z13.string(),
376
455
  level: CategoryLevelSchema
377
456
  });
378
- var UpdateCategoryLevelSchema = z11.object({
379
- name: z11.string(),
457
+ var UpdateCategoryLevelSchema = z13.object({
458
+ name: z13.string(),
380
459
  level: CategoryLevelSchema
381
460
  });
382
461
 
383
462
  // src/category/index.ts
384
- var categoryContract = initContract3().router(
463
+ var categoryContract = initContract4().router(
385
464
  {
386
465
  createCategory: {
387
466
  method: "POST",
@@ -398,9 +477,9 @@ var categoryContract = initContract3().router(
398
477
  getCategories: {
399
478
  method: "GET",
400
479
  path: "",
401
- query: z12.object({
402
- page: z12.coerce.number(),
403
- pageSize: z12.coerce.number()
480
+ query: z14.object({
481
+ page: z14.coerce.number(),
482
+ pageSize: z14.coerce.number()
404
483
  }).partial().optional(),
405
484
  headers: DefaultHeaderSchema,
406
485
  responses: {
@@ -411,7 +490,7 @@ var categoryContract = initContract3().router(
411
490
  updateCategory: {
412
491
  method: "PATCH",
413
492
  path: "/:id",
414
- pathParams: z12.object({ id: z12.string() }),
493
+ pathParams: z14.object({ id: z14.string() }),
415
494
  headers: DefaultHeaderSchema,
416
495
  body: UpdateCategorySchema,
417
496
  responses: {
@@ -422,12 +501,12 @@ var categoryContract = initContract3().router(
422
501
  deleteCategory: {
423
502
  method: "DELETE",
424
503
  path: "/:id",
425
- pathParams: z12.object({ id: z12.string() }),
504
+ pathParams: z14.object({ id: z14.string() }),
426
505
  headers: DefaultHeaderSchema,
427
- body: z12.any().optional(),
506
+ body: z14.any().optional(),
428
507
  responses: {
429
508
  200: DefaultSuccessResponseSchema.extend({
430
- message: z12.string().optional()
509
+ message: z14.string().optional()
431
510
  }),
432
511
  500: DefaultErrorResponseSchema
433
512
  }
@@ -449,7 +528,7 @@ var categoryContract = initContract3().router(
449
528
  path: "/level",
450
529
  responses: {
451
530
  200: DefaultSuccessResponseSchema.extend({
452
- data: z12.array(CategoryLevelObjectSchema)
531
+ data: z14.array(CategoryLevelObjectSchema)
453
532
  }),
454
533
  500: DefaultErrorResponseSchema
455
534
  }
@@ -457,7 +536,7 @@ var categoryContract = initContract3().router(
457
536
  updateCategoryLevel: {
458
537
  method: "PATCH",
459
538
  path: "/level/:id",
460
- pathParams: z12.object({ id: z12.string() }),
539
+ pathParams: z14.object({ id: z14.string() }),
461
540
  headers: DefaultHeaderSchema,
462
541
  body: UpdateCategoryLevelSchema,
463
542
  responses: {
@@ -473,252 +552,370 @@ var categoryContract = initContract3().router(
473
552
  }
474
553
  );
475
554
 
476
- // src/chat/index.ts
477
- import { initContract as initContract4 } from "@ts-rest/core";
478
- import z19 from "zod";
555
+ // src/channel/index.ts
556
+ import { initContract as initContract5 } from "@ts-rest/core";
479
557
 
480
- // src/contact/schema.ts
481
- import z13 from "zod";
482
- var ContactSchema = DefaultEntitySchema.extend({
483
- name: z13.string(),
484
- address: z13.string().nullable(),
485
- channel: z13.string().nullable(),
486
- notes: z13.string().nullable(),
487
- contactNumber: z13.string().nullable(),
488
- companyId: z13.string().nullable(),
489
- contactProfile: z13.string().nullable(),
490
- socialProfileUrl: z13.string().nullable()
558
+ // src/channel/schema.ts
559
+ import z15 from "zod";
560
+ var ChannelTypeSchema = z15.enum([
561
+ "whatsapp",
562
+ "messenger",
563
+ "telegram",
564
+ "line",
565
+ "viber",
566
+ "kakao",
567
+ "shopee",
568
+ "lazada"
569
+ ]);
570
+ var ChannelStatusTypeSchema = z15.union([
571
+ z15.literal(1),
572
+ // on
573
+ z15.literal(0)
574
+ // off
575
+ ]);
576
+ var ChannelMetadataSchema = z15.object({
577
+ id: z15.string(),
578
+ name: z15.string(),
579
+ accessToken: z15.string(),
580
+ additionalCredentials: z15.any().optional()
491
581
  });
582
+ var ChannelSchema = DefaultEntitySchema.extend({
583
+ name: z15.string(),
584
+ type: ChannelTypeSchema,
585
+ metadata: ChannelMetadataSchema,
586
+ brandName: z15.string(),
587
+ platformId: z15.string().uuid(),
588
+ status: ChannelStatusTypeSchema,
589
+ isReloginRequired: z15.boolean(),
590
+ connectedUserName: z15.string(),
591
+ connectedUserId: z15.string(),
592
+ actor: UserSchema
593
+ }).partial().optional();
492
594
 
493
- // src/chat/schema.ts
595
+ // src/channel/validation.ts
494
596
  import z16 from "zod";
597
+ var ConnectChannelSchema = z16.object({
598
+ name: z16.string(),
599
+ type: ChannelTypeSchema,
600
+ metadata: ChannelMetadataSchema,
601
+ platformId: z16.string(),
602
+ brandName: z16.string(),
603
+ connectedUserName: z16.string(),
604
+ connectedUserId: z16.string(),
605
+ actor: UserSchema
606
+ });
607
+
608
+ // src/channel/index.ts
609
+ var channelContract = initContract5().router(
610
+ {
611
+ connectChannel: {
612
+ method: "POST",
613
+ path: "/connect",
614
+ responses: {
615
+ 200: DefaultSuccessResponseSchema.extend({
616
+ channel: ChannelSchema
617
+ }),
618
+ 408: DefaultErrorResponseSchema
619
+ },
620
+ body: ConnectChannelSchema,
621
+ summary: "Connect message channel"
622
+ },
623
+ getChannels: {
624
+ method: "GET",
625
+ path: "/channels",
626
+ responses: {
627
+ 200: DefaultSuccessResponseSchema.extend({
628
+ channels: ChannelSchema
629
+ })
630
+ },
631
+ summary: "Get Channels"
632
+ }
633
+ },
634
+ {
635
+ baseHeaders: DefaultHeaderSchema
636
+ }
637
+ );
638
+
639
+ // src/chat/index.ts
640
+ import { initContract as initContract6 } from "@ts-rest/core";
641
+ import z24 from "zod";
642
+
643
+ // src/contact/schema.ts
644
+ import z20 from "zod";
495
645
 
496
646
  // src/tag/schema.ts
497
- import z14 from "zod";
647
+ import z17 from "zod";
498
648
  var TagSchema = DefaultEntitySchema.extend({
499
- name: z14.string()
649
+ name: z17.string()
500
650
  });
501
- var TagGroupSchema = z14.union([
502
- z14.literal("general"),
503
- z14.literal("contact")
651
+ var TagGroupSchema = z17.union([
652
+ z17.literal("general"),
653
+ z17.literal("contact")
504
654
  ]);
505
655
 
656
+ // src/company/schema.ts
657
+ import z18 from "zod";
658
+ var CompanyCustomFieldSchema = DefaultEntitySchema.extend({
659
+ textValue: z18.string().nullable(),
660
+ booleanValue: z18.boolean().nullable(),
661
+ numberValue: z18.number().nullable(),
662
+ dateValue: z18.string().nullable(),
663
+ attribute: AttributeSchema.omit({ options: true, group: true })
664
+ });
665
+ var CompanySchema = DefaultEntitySchema.extend({
666
+ name: z18.string().optional(),
667
+ phone: z18.string().optional(),
668
+ address: z18.string().optional(),
669
+ industry: z18.string().optional(),
670
+ customFields: z18.array(CompanyCustomFieldSchema).optional()
671
+ });
672
+
506
673
  // src/upload/schema.ts
507
- import z15 from "zod";
674
+ import z19 from "zod";
508
675
  var UploadSchema = DefaultEntitySchema.extend({
509
- bucketName: z15.string(),
510
- fileName: z15.string(),
511
- fileSize: z15.number(),
512
- fileKey: z15.string()
676
+ bucketName: z19.string(),
677
+ fileName: z19.string(),
678
+ fileSize: z19.number(),
679
+ fileKey: z19.string()
680
+ });
681
+
682
+ // src/contact/schema.ts
683
+ var ContactPhonesSchema = DefaultEntitySchema.extend({
684
+ phone: z20.string(),
685
+ isPrimary: z20.boolean()
686
+ });
687
+ var ContactEmailsSchema = DefaultEntitySchema.extend({
688
+ email: z20.string(),
689
+ isPrimary: z20.boolean()
690
+ });
691
+ var ContactCustomFieldSchema = DefaultEntitySchema.extend({
692
+ textValue: z20.string().nullable(),
693
+ booleanValue: z20.boolean().nullable(),
694
+ numberValue: z20.number().nullable(),
695
+ dateValue: z20.date().nullable(),
696
+ attribute: AttributeSchema.omit({ options: true, group: true }),
697
+ uploads: z20.array(
698
+ DefaultEntitySchema.extend({
699
+ customFieldId: z20.string(),
700
+ upload: UploadSchema
701
+ })
702
+ )
703
+ });
704
+ var ContactEntityTypesSchema = z20.object({
705
+ entity: z20.string(),
706
+ description: z20.string().nullable()
707
+ });
708
+ var ContactActivitySchema = z20.object({
709
+ entityId: z20.string(),
710
+ description: z20.string(),
711
+ entityType: ContactEntityTypesSchema
712
+ });
713
+ var ContactSchema = DefaultEntitySchema.extend({
714
+ name: z20.string(),
715
+ address: z20.string().nullable(),
716
+ channel: z20.string().nullable(),
717
+ notes: z20.string().nullable(),
718
+ contactProfile: z20.string().nullable(),
719
+ socialProfileUrl: z20.string().nullable(),
720
+ tags: z20.array(TagSchema),
721
+ company: CompanySchema.omit({ customFields: true }).nullable(),
722
+ // room: z.array(RoomSchema).optional(),
723
+ customFields: z20.array(ContactCustomFieldSchema),
724
+ contactEmails: z20.array(ContactEmailsSchema),
725
+ contactPhones: z20.array(ContactPhonesSchema),
726
+ activityLogs: z20.array(ContactActivitySchema).optional()
513
727
  });
514
728
 
515
729
  // src/chat/schema.ts
516
- var ChannelTypeSchema = z16.union([
517
- z16.literal("messenger"),
518
- z16.literal("line"),
519
- z16.literal("viber"),
520
- z16.literal("lazada"),
521
- z16.literal("shopee"),
522
- z16.literal("whatsapp"),
523
- z16.literal("telegram"),
524
- z16.literal("kakao")
525
- ]);
526
- var MessageDirectionTypeSchema = z16.union([
527
- z16.literal("incoming"),
528
- z16.literal("outgoing"),
529
- z16.literal("system")
530
- ]);
531
- var ChannelStatusTypeSchema = z16.union([
532
- z16.literal(1),
533
- // on
534
- z16.literal(0)
535
- // off
730
+ import z21 from "zod";
731
+ var MessageDirectionTypeSchema = z21.enum([
732
+ "incoming",
733
+ "outgoing",
734
+ "system"
536
735
  ]);
537
- var MessageTypeSchema = z16.union([
538
- z16.literal("text"),
539
- z16.literal("image"),
540
- z16.literal("video"),
541
- z16.literal("audio"),
542
- z16.literal("file"),
543
- z16.literal("fallback"),
544
- z16.literal("location"),
545
- z16.literal("attachment"),
546
- z16.literal("assign"),
547
- z16.literal("solve"),
548
- z16.literal("reopen"),
549
- z16.literal("open"),
550
- z16.literal("sticker"),
551
- z16.literal("closed"),
552
- z16.literal("handed_over"),
553
- z16.literal("updated"),
554
- z16.literal("started")
736
+ var MessageTypeSchema = z21.enum([
737
+ "text",
738
+ "image",
739
+ "video",
740
+ "audio",
741
+ "file",
742
+ "fallback",
743
+ "location",
744
+ "attachment",
745
+ "assign",
746
+ "solve",
747
+ "reopen",
748
+ "open",
749
+ "sticker",
750
+ "closed",
751
+ "handed_over",
752
+ "updated",
753
+ "started"
555
754
  ]);
556
- var MessageLocaleTypeSchema = z16.union([
557
- z16.literal("mm"),
558
- z16.literal("en"),
559
- z16.literal("th")
755
+ var MessageLocaleTypeSchema = z21.enum([
756
+ "mm",
757
+ "en",
758
+ "th"
560
759
  ]);
561
- var ChannelMetadataSchema = z16.object({
562
- id: z16.string(),
563
- name: z16.string(),
564
- accessToken: z16.string(),
565
- additionalCredentials: z16.any()
566
- });
567
- var ChannelSchema = DefaultEntitySchema.extend({
568
- name: z16.string(),
569
- type: ChannelTypeSchema,
570
- metadata: ChannelMetadataSchema,
571
- brandName: z16.string(),
572
- platformId: z16.string().uuid(),
573
- status: ChannelStatusTypeSchema,
574
- isReloginRequired: z16.boolean(),
575
- connectedUserName: z16.string(),
576
- connectedUserId: z16.string(),
577
- actor: UserSchema
578
- }).partial().optional();
579
- var PlatformContactMetadataSchema = z16.object({
580
- id: z16.string(),
581
- name: z16.string(),
582
- additionalCredentials: z16.any()
760
+ var PlatformContactMetadataSchema = z21.object({
761
+ id: z21.string(),
762
+ name: z21.string(),
763
+ additionalCredentials: z21.any()
583
764
  });
584
765
  var PlatformContactSchema = DefaultEntitySchema.extend({
585
- channelId: z16.string().uuid(),
586
- socialPlatformId: z16.string().uuid(),
766
+ channelId: z21.string().uuid(),
767
+ socialPlatformId: z21.string().uuid(),
587
768
  platform: ChannelTypeSchema,
588
769
  metadata: PlatformContactMetadataSchema,
589
770
  contact: ContactSchema
590
771
  });
591
772
  var RoomSchema = DefaultEntitySchema.extend({
592
- lastMessage: z16.string(),
593
- handleTime: z16.number(),
594
- isSolved: z16.boolean(),
595
- notes: z16.string(),
596
- closeAt: z16.date(),
597
- unreadCount: z16.number(),
598
- firstResponseTime: z16.date(),
599
- isLatest: z16.boolean(),
773
+ lastMessage: z21.string(),
774
+ handleTime: z21.number(),
775
+ isSolved: z21.boolean(),
776
+ notes: z21.string(),
777
+ closeAt: z21.date(),
778
+ unreadCount: z21.number(),
779
+ firstResponseTime: z21.date(),
780
+ isLatest: z21.boolean(),
600
781
  direction: MessageDirectionTypeSchema,
601
782
  platformContact: PlatformContactSchema,
602
783
  actor: UserSchema,
603
784
  assignee: UserSchema,
604
- channel: ChannelSchema,
605
- tags: z16.array(TagSchema)
785
+ channel: DefaultEntitySchema.merge(z21.object({
786
+ name: z21.string(),
787
+ type: ChannelTypeSchema,
788
+ metadata: z21.object({
789
+ id: z21.string(),
790
+ name: z21.string(),
791
+ accessToken: z21.string(),
792
+ additionalCredentials: z21.any().optional()
793
+ }),
794
+ brandName: z21.string(),
795
+ platformId: z21.string().uuid(),
796
+ status: z21.lazy(() => z21.union([
797
+ z21.literal(1),
798
+ // on
799
+ z21.literal(0)
800
+ // off
801
+ ])),
802
+ isReloginRequired: z21.boolean(),
803
+ connectedUserName: z21.string(),
804
+ connectedUserId: z21.string(),
805
+ actor: z21.any()
806
+ })),
807
+ tags: z21.array(TagSchema)
606
808
  });
607
809
  var MessageSchema = DefaultEntitySchema.extend({
608
- message: z16.string(),
810
+ message: z21.string(),
609
811
  direction: MessageDirectionTypeSchema,
610
812
  type: MessageTypeSchema,
611
813
  user: UserSchema,
612
- readAt: z16.date(),
613
- metadata: z16.any(),
614
- platformId: z16.string(),
615
- replyPlatformMessageId: z16.string(),
616
- platformMessageId: z16.string(),
814
+ readAt: z21.date(),
815
+ metadata: z21.any(),
816
+ platformId: z21.string(),
817
+ replyPlatformMessageId: z21.string(),
818
+ platformMessageId: z21.string(),
617
819
  upload: UploadSchema,
618
- template: z16.any(),
820
+ template: z21.any(),
619
821
  locale: MessageLocaleTypeSchema,
620
- isSent: z16.boolean()
822
+ isSent: z21.boolean()
621
823
  });
622
- var UnreadCountsByAssigneeSchema = z16.object({
623
- assigneeId: z16.string(),
624
- totalUnreadCount: z16.number()
824
+ var UnreadCountsByAssigneeSchema = z21.object({
825
+ assigneeId: z21.string(),
826
+ totalUnreadCount: z21.number()
625
827
  });
626
828
 
627
829
  // src/chat/validation.ts
628
- import z18 from "zod";
830
+ import z23 from "zod";
629
831
 
630
832
  // src/custom-field/schema.ts
631
- import z17 from "zod";
833
+ import z22 from "zod";
632
834
  var CustomFieldSchema = DefaultEntitySchema.extend({
633
- textValue: z17.string().nullable(),
634
- booleanValue: z17.boolean().nullable(),
635
- numberValue: z17.number().nullable(),
636
- dateValue: z17.date().nullable(),
637
- entityId: z17.string().uuid(),
638
- attributeId: z17.string().uuid()
835
+ textValue: z22.string().nullable(),
836
+ booleanValue: z22.boolean().nullable(),
837
+ numberValue: z22.number().nullable(),
838
+ dateValue: z22.date().nullable(),
839
+ entityId: z22.string().uuid(),
840
+ attributeId: z22.string().uuid()
639
841
  });
640
842
 
641
843
  // src/chat/validation.ts
642
- var ConnectChannelSchema = z18.object({
643
- name: z18.string(),
644
- type: ChannelTypeSchema,
645
- metadata: ChannelMetadataSchema,
646
- brandName: z18.string(),
647
- connectedUserName: z18.string(),
648
- connectedUserId: z18.string(),
649
- actor: UserSchema
650
- });
651
- var GetRoomsSchema = z18.object({
652
- page: z18.coerce.number().positive().default(1),
653
- pageSize: z18.coerce.number().positive().default(20),
654
- contactTagIds: z18.string().array().optional(),
655
- contactIds: z18.string().array().optional(),
656
- agentIds: z18.string().array().optional(),
657
- roomTagIds: z18.string().array().optional(),
658
- keyword: z18.string().optional(),
659
- company: z18.string().array().optional(),
660
- channel: z18.string().array().optional(),
661
- name: z18.string().optional(),
662
- address: z18.string().optional(),
663
- contactGroups: z18.string().array().optional(),
664
- selectedDate: z18.string().optional(),
665
- customFields: z18.array(CustomFieldSchema).optional(),
666
- tags: z18.string().array().optional(),
667
- phone: z18.string().optional(),
668
- email: z18.string().optional(),
669
- notes: z18.string().optional(),
670
- tab: z18.string().optional()
671
- });
672
- var UpdateRoomTagsAndNotesSchema = z18.object({
673
- notes: z18.string().optional(),
674
- tags: z18.string().array().optional()
844
+ var GetRoomsSchema = z23.object({
845
+ page: z23.coerce.number().positive().default(1),
846
+ pageSize: z23.coerce.number().positive().default(20),
847
+ contactTagIds: z23.string().array().optional(),
848
+ contactIds: z23.string().array().optional(),
849
+ agentIds: z23.string().array().optional(),
850
+ roomTagIds: z23.string().array().optional(),
851
+ keyword: z23.string().optional(),
852
+ company: z23.string().array().optional(),
853
+ channel: z23.string().array().optional(),
854
+ name: z23.string().optional(),
855
+ address: z23.string().optional(),
856
+ contactGroups: z23.string().array().optional(),
857
+ selectedDate: z23.string().optional(),
858
+ customFields: z23.array(CustomFieldSchema).optional(),
859
+ tags: z23.string().array().optional(),
860
+ phone: z23.string().optional(),
861
+ email: z23.string().optional(),
862
+ notes: z23.string().optional(),
863
+ tab: z23.string().optional()
864
+ });
865
+ var UpdateRoomTagsAndNotesSchema = z23.object({
866
+ notes: z23.string().optional(),
867
+ tags: z23.string().array().optional()
675
868
  });
676
869
  var UpdateRoomAttributesSchema = UpdateRoomTagsAndNotesSchema.extend({
677
- roomId: z18.string().uuid()
678
- });
679
- var MessageAttachmentSchema = z18.object({
680
- bucketName: z18.string(),
681
- fileKey: z18.string(),
682
- fileName: z18.string(),
683
- fileSize: z18.string(),
684
- url: z18.string(),
870
+ roomId: z23.string().uuid()
871
+ });
872
+ var MessageAttachmentSchema = z23.object({
873
+ bucketName: z23.string(),
874
+ fileKey: z23.string(),
875
+ fileName: z23.string(),
876
+ fileSize: z23.number(),
877
+ url: z23.string(),
685
878
  fileType: MessageTypeSchema,
686
- thumbnailUrl: z18.string().optional()
879
+ thumbnailUrl: z23.string().optional()
687
880
  });
688
- var SendMessageSchema = z18.object({
689
- platform: ChannelTypeSchema,
690
- room: z18.string().uuid(),
881
+ var SendMessageSchema = z23.object({
882
+ roomId: z23.string().uuid(),
691
883
  messageType: MessageTypeSchema,
692
- message: z18.string().optional(),
884
+ message: z23.string().optional(),
693
885
  direction: MessageDirectionTypeSchema,
694
- messageAttachments: MessageAttachmentSchema,
886
+ messageAttachments: MessageAttachmentSchema.optional(),
695
887
  user: UserSchema.optional(),
696
- packageId: z18.number().optional(),
697
- stickerId: z18.number().optional()
888
+ packageId: z23.number().optional(),
889
+ stickerId: z23.number().optional()
698
890
  });
699
- var SolveRoomSchema = z18.object({
700
- roomId: z18.string()
891
+ var SolveRoomSchema = z23.object({
892
+ roomId: z23.string()
701
893
  });
702
894
  var UpdateAssigneeSchema = SolveRoomSchema.extend({
703
- assigneeId: z18.string().uuid()
895
+ assigneeId: z23.string().uuid()
704
896
  });
705
897
  var SearchRoomsSchema = DefaultQueryParamsSchema.extend({
706
- query: z18.string()
898
+ query: z23.string()
899
+ });
900
+ var SendMessageToPlatformSchema = z23.object({
901
+ room: RoomSchema,
902
+ message: MessageSchema,
903
+ upload: UploadSchema
707
904
  });
708
905
 
709
906
  // src/chat/index.ts
710
- var chatContract = initContract4().router(
907
+ var chatContract = initContract6().router(
711
908
  {
712
909
  getRooms: {
713
910
  method: "GET",
714
911
  path: "/rooms",
715
912
  responses: {
716
913
  200: DefaultSuccessResponseSchema.extend({
717
- total: z19.number(),
718
- page: z19.number(),
719
- pageSize: z19.number(),
720
- data: z19.array(RoomSchema),
721
- unreadCountsByAssignee: z19.array(UnreadCountsByAssigneeSchema)
914
+ total: z24.number(),
915
+ page: z24.number(),
916
+ pageSize: z24.number(),
917
+ data: z24.array(RoomSchema),
918
+ unreadCountsByAssignee: z24.array(UnreadCountsByAssigneeSchema)
722
919
  }),
723
920
  401: DefaultUnauthorizedSchema
724
921
  },
@@ -728,8 +925,8 @@ var chatContract = initContract4().router(
728
925
  getRoomContact: {
729
926
  method: "GET",
730
927
  path: "/contact/:contactId",
731
- pathParams: z19.object({
732
- contactId: z19.string().uuid()
928
+ pathParams: z24.object({
929
+ contactId: z24.string().uuid()
733
930
  }),
734
931
  responses: {
735
932
  200: DefaultSuccessResponseSchema.extend({
@@ -765,21 +962,19 @@ var chatContract = initContract4().router(
765
962
  path: "/message",
766
963
  body: SendMessageSchema,
767
964
  responses: {
768
- 200: DefaultSuccessResponseSchema.extend({
769
- data: MessageSchema
770
- })
965
+ 200: null
771
966
  },
772
967
  summary: "Send message to room"
773
968
  },
774
969
  getMessages: {
775
970
  method: "GET",
776
971
  path: "/message/:roomId",
777
- pathParams: z19.object({
778
- roomId: z19.string().uuid()
972
+ pathParams: z24.object({
973
+ roomId: z24.string().uuid()
779
974
  }),
780
975
  responses: {
781
976
  200: DefaultSuccessResponseSchema.extend({
782
- data: z19.array(MessageSchema)
977
+ data: z24.array(MessageSchema)
783
978
  })
784
979
  },
785
980
  summary: "Get messages"
@@ -790,7 +985,9 @@ var chatContract = initContract4().router(
790
985
  body: SolveRoomSchema,
791
986
  responses: {
792
987
  200: DefaultSuccessResponseSchema.extend({
793
- data: RoomSchema
988
+ data: RoomSchema.extend({
989
+ solveMessage: z24.string()
990
+ })
794
991
  }),
795
992
  409: DefaultErrorResponseSchema
796
993
  },
@@ -810,8 +1007,8 @@ var chatContract = initContract4().router(
810
1007
  getRoom: {
811
1008
  method: "GET",
812
1009
  path: "/room/:roomId",
813
- pathParams: z19.object({
814
- roomId: z19.string().uuid()
1010
+ pathParams: z24.object({
1011
+ roomId: z24.string().uuid()
815
1012
  }),
816
1013
  responses: {
817
1014
  200: DefaultSuccessResponseSchema.extend({
@@ -824,13 +1021,14 @@ var chatContract = initContract4().router(
824
1021
  createRoom: {
825
1022
  method: "POST",
826
1023
  path: "/room/create/:roomid",
827
- pathParams: z19.object({
828
- roomid: z19.string().uuid()
1024
+ pathParams: z24.object({
1025
+ roomId: z24.string().uuid()
829
1026
  }),
830
1027
  responses: {
831
1028
  200: DefaultSuccessResponseSchema.extend({
832
1029
  data: RoomSchema.extend({
833
- contact: ContactSchema
1030
+ contact: ContactSchema,
1031
+ openMessage: z24.string()
834
1032
  })
835
1033
  })
836
1034
  },
@@ -840,13 +1038,13 @@ var chatContract = initContract4().router(
840
1038
  readRoom: {
841
1039
  method: "POST",
842
1040
  path: "/room/:roomid/read",
843
- pathParams: z19.object({
844
- roomid: z19.string().uuid()
1041
+ pathParams: z24.object({
1042
+ roomId: z24.string().uuid()
845
1043
  }),
846
1044
  responses: {
847
1045
  200: DefaultSuccessResponseSchema.extend({
848
1046
  data: RoomSchema.extend({
849
- description: z19.string().nullable()
1047
+ description: z24.string().nullable()
850
1048
  })
851
1049
  })
852
1050
  },
@@ -858,32 +1056,14 @@ var chatContract = initContract4().router(
858
1056
  path: "/search",
859
1057
  responses: {
860
1058
  200: DefaultSuccessResponseSchema.extend({
861
- data: z19.array(RoomSchema)
1059
+ total: z24.number(),
1060
+ page: z24.number(),
1061
+ pageSize: z24.number(),
1062
+ data: z24.array(RoomSchema)
862
1063
  })
863
1064
  },
864
1065
  query: SearchRoomsSchema,
865
1066
  summary: "Search Rooms"
866
- },
867
- connectChannel: {
868
- method: "POST",
869
- path: "connect",
870
- responses: {
871
- 200: DefaultSuccessResponseSchema.extend({
872
- channel: ChannelSchema
873
- })
874
- },
875
- body: ConnectChannelSchema,
876
- summary: "Connect message channel"
877
- },
878
- getChannels: {
879
- method: "GET",
880
- path: "/channels",
881
- responses: {
882
- 200: DefaultSuccessResponseSchema.extend({
883
- channels: ChannelSchema
884
- })
885
- },
886
- summary: "Get Channels"
887
1067
  }
888
1068
  },
889
1069
  {
@@ -892,77 +1072,77 @@ var chatContract = initContract4().router(
892
1072
  );
893
1073
 
894
1074
  // src/cx-log/index.ts
895
- import { initContract as initContract5 } from "@ts-rest/core";
896
- import z22 from "zod";
1075
+ import { initContract as initContract7 } from "@ts-rest/core";
1076
+ import z27 from "zod";
897
1077
 
898
1078
  // src/cx-log/schema.ts
899
- import z20 from "zod";
1079
+ import z25 from "zod";
900
1080
  var CxLogSchema = DefaultEntitySchema.extend({
901
- caseId: z20.number(),
902
- entityId: z20.string().uuid(),
903
- entityName: z20.string(),
904
- contactId: z20.string().uuid().nullable(),
905
- channel: z20.string().nullable(),
906
- queueId: z20.string().uuid().nullable(),
907
- agentId: z20.string().uuid().nullable(),
908
- direction: z20.string().nullable(),
909
- startedDate: z20.date().nullable(),
910
- handledTime: z20.number().nullable(),
911
- firstResponseTime: z20.number().nullable(),
912
- disposition: z20.string().nullable()
1081
+ caseId: z25.number(),
1082
+ entityId: z25.string().uuid(),
1083
+ entityName: z25.string(),
1084
+ contactId: z25.string().uuid().nullable(),
1085
+ channel: z25.string().nullable(),
1086
+ queueId: z25.string().uuid().nullable(),
1087
+ agentId: z25.string().uuid().nullable(),
1088
+ direction: z25.string().nullable(),
1089
+ startedDate: z25.date().nullable(),
1090
+ handledTime: z25.number().nullable(),
1091
+ firstResponseTime: z25.number().nullable(),
1092
+ disposition: z25.string().nullable()
913
1093
  });
914
1094
 
915
1095
  // src/cx-log/validation.ts
916
- import z21 from "zod";
917
- var sentimentScoreSchema = z21.union([
918
- z21.literal("positive"),
919
- z21.literal("negative")
1096
+ import z26 from "zod";
1097
+ var sentimentScoreSchema = z26.union([
1098
+ z26.literal("positive"),
1099
+ z26.literal("negative")
920
1100
  ]);
921
- var CustomFieldQueryParamsSchema = z21.object({
922
- attributeId: z21.string(),
923
- value: z21.union([z21.string(), z21.array(z21.string())]),
924
- type: z21.string().optional()
1101
+ var CustomFieldQueryParamsSchema = z26.object({
1102
+ attributeId: z26.string(),
1103
+ value: z26.union([z26.string(), z26.array(z26.string())]),
1104
+ type: z26.string().optional()
925
1105
  });
926
1106
  var GetAllCxLogQueryParamsSchema = DefaultQueryParamsSchema.extend({
927
- contactId: z21.string().uuid(),
928
- caseId: z21.string(),
929
- channelIds: z21.array(z21.string().uuid()),
930
- queueId: z21.array(z21.string()),
931
- agentIds: z21.array(z21.string()),
932
- direction: z21.array(z21.union([z21.literal("inbound"), z21.literal("outbound")])),
933
- disposition: z21.array(z21.string()),
934
- sentimentScore: z21.array(sentimentScoreSchema),
935
- csatScore: z21.string(),
936
- sla: z21.array(z21.union([z21.literal("meet"), z21.literal("unmeet")])),
937
- tags: z21.array(z21.string()),
1107
+ contactId: z26.string().uuid(),
1108
+ caseId: z26.string(),
1109
+ channelIds: z26.array(z26.string().uuid()),
1110
+ queueId: z26.array(z26.string()),
1111
+ agentIds: z26.array(z26.string()),
1112
+ direction: z26.array(z26.union([z26.literal("inbound"), z26.literal("outbound")])),
1113
+ disposition: z26.array(z26.string()),
1114
+ sentimentScore: z26.array(sentimentScoreSchema),
1115
+ csatScore: z26.string(),
1116
+ sla: z26.array(z26.union([z26.literal("meet"), z26.literal("unmeet")])),
1117
+ tags: z26.array(z26.string()),
938
1118
  // General tags
939
1119
  // Default contact attributes
940
- name: z21.string(),
941
- contactLabels: z21.array(z21.string()),
942
- email: z21.string(),
943
- channel: z21.array(z21.string()),
944
- phone: z21.string(),
945
- notes: z21.string(),
946
- address: z21.string(),
947
- company: z21.array(z21.string()),
1120
+ name: z26.string(),
1121
+ contactLabels: z26.array(z26.string()),
1122
+ email: z26.string(),
1123
+ channel: z26.array(z26.string()),
1124
+ phone: z26.string(),
1125
+ notes: z26.string(),
1126
+ address: z26.string(),
1127
+ company: z26.array(z26.string()),
948
1128
  // Custom fields
949
- customFields: z21.array(CustomFieldQueryParamsSchema),
1129
+ customFields: z26.array(CustomFieldQueryParamsSchema),
950
1130
  // Date filter
951
- selectedDate: z21.string()
1131
+ selectedDate: z26.string()
952
1132
  }).partial().optional();
953
1133
 
954
1134
  // src/cx-log/index.ts
955
- var cxLogContract = initContract5().router({
1135
+ var cxLogContract = initContract7().router({
956
1136
  findAll: {
957
1137
  method: "GET",
958
1138
  path: "/cx-logs",
959
1139
  headers: DefaultHeaderSchema,
960
1140
  responses: {
961
1141
  200: DefaultSuccessResponseSchema.extend({
962
- total: z22.number(),
963
- page: z22.number(),
964
- pageSize: z22.number(),
965
- cxLogs: z22.array(CxLogSchema)
1142
+ total: z27.number(),
1143
+ page: z27.number(),
1144
+ pageSize: z27.number(),
1145
+ cxLogs: z27.array(CxLogSchema)
966
1146
  }),
967
1147
  401: DefaultUnauthorizedSchema
968
1148
  },
@@ -971,46 +1151,169 @@ var cxLogContract = initContract5().router({
971
1151
  }
972
1152
  });
973
1153
 
974
- // src/line/index.ts
975
- import { initContract as initContract6 } from "@ts-rest/core";
976
- import z25 from "zod";
977
-
978
- // src/line/schema.ts
979
- import z23 from "zod";
980
- var ConnectLineSchema = z23.object({
981
- id: z23.string(),
982
- accessToken: z23.string()
983
- });
1154
+ // src/extension/index.ts
1155
+ import { initContract as initContract8 } from "@ts-rest/core";
1156
+ import z29 from "zod";
984
1157
 
985
- // src/line/validation.ts
986
- import z24 from "zod";
987
- var SendLineStickerSchema = z24.object({
988
- userId: z24.string().uuid(),
989
- packageId: z24.string(),
990
- stickerId: z24.string(),
991
- accessToken: z24.string()
1158
+ // src/extension/validation.ts
1159
+ import { z as z28 } from "zod";
1160
+ var CreateExtensionSchema = z28.object({
1161
+ userId: z28.string().nullable(),
1162
+ sipUserName: z28.string(),
1163
+ extensionId: z28.coerce.number().nullable(),
1164
+ extensionName: z28.string().nullable(),
1165
+ telephonySignature: z28.string().optional()
992
1166
  });
1167
+ var UpdateExtensionSchema = CreateExtensionSchema;
993
1168
 
994
- // src/line/index.ts
995
- var lineContract = initContract6().router({
996
- sendSticker: {
997
- method: "POST",
998
- path: "sticker",
999
- responses: {
1000
- 200: DefaultSuccessResponseSchema.extend({
1001
- data: z25.any()
1002
- }),
1003
- 500: DefaultErrorResponseSchema
1004
- },
1005
- body: SendLineStickerSchema,
1006
- summary: "Send sticker to LINE"
1007
- },
1008
- connect: {
1009
- method: "POST",
1169
+ // src/extension/index.ts
1170
+ var extensionContract = initContract8().router(
1171
+ {
1172
+ createExtension: {
1173
+ method: "POST",
1174
+ path: "",
1175
+ headers: DefaultHeaderSchema,
1176
+ body: CreateExtensionSchema,
1177
+ responses: {
1178
+ 201: DefaultSuccessResponseSchema.extend({
1179
+ extension: ExtensionSchema
1180
+ }),
1181
+ 400: z29.object({
1182
+ message: z29.string()
1183
+ }),
1184
+ 401: DefaultUnauthorizedSchema,
1185
+ 500: DefaultErrorResponseSchema
1186
+ },
1187
+ summary: "Create a extension."
1188
+ },
1189
+ getExtensions: {
1190
+ method: "GET",
1191
+ path: "",
1192
+ query: z29.object({
1193
+ page: z29.coerce.number().default(1),
1194
+ pageSize: z29.coerce.number().default(10),
1195
+ keyword: z29.string().optional()
1196
+ }).optional(),
1197
+ headers: DefaultHeaderSchema,
1198
+ responses: {
1199
+ 200: WithPagination(
1200
+ // The response data should contain the user relation.
1201
+ ExtensionSchema.extend({
1202
+ user: UserSchema
1203
+ })
1204
+ ),
1205
+ 400: z29.object({
1206
+ message: z29.string()
1207
+ }),
1208
+ 401: DefaultUnauthorizedSchema,
1209
+ 500: DefaultErrorResponseSchema
1210
+ },
1211
+ summary: "Get all extensions"
1212
+ },
1213
+ getExtensionByUserId: {
1214
+ method: "GET",
1215
+ path: "/user/:userId",
1216
+ pathParams: z29.object({ userId: z29.string() }),
1217
+ headers: DefaultHeaderSchema,
1218
+ responses: {
1219
+ 200: ExtensionSchema,
1220
+ 400: z29.object({
1221
+ message: z29.string()
1222
+ }),
1223
+ 401: DefaultUnauthorizedSchema,
1224
+ 500: DefaultErrorResponseSchema
1225
+ },
1226
+ summary: "Get extension by user id"
1227
+ },
1228
+ getExtensionByDialpad: {
1229
+ method: "GET",
1230
+ path: "/dialpad",
1231
+ query: z29.object({
1232
+ page: z29.coerce.number().default(1),
1233
+ pageSize: z29.coerce.number().default(10),
1234
+ keyword: z29.string().optional()
1235
+ }).optional(),
1236
+ headers: DefaultHeaderSchema,
1237
+ responses: {
1238
+ 200: WithPagination(ExtensionSchema),
1239
+ 500: DefaultErrorResponseSchema,
1240
+ 400: z29.object({
1241
+ message: z29.string()
1242
+ }),
1243
+ 401: DefaultUnauthorizedSchema
1244
+ },
1245
+ summary: "Get by dialpad"
1246
+ },
1247
+ updateExtension: {
1248
+ method: "PATCH",
1249
+ path: "/:id",
1250
+ pathParams: z29.object({ id: z29.string() }),
1251
+ headers: DefaultHeaderSchema,
1252
+ body: UpdateExtensionSchema,
1253
+ responses: {
1254
+ 200: DefaultSuccessResponseSchema.extend({
1255
+ extension: ExtensionSchema
1256
+ }),
1257
+ 500: DefaultErrorResponseSchema
1258
+ },
1259
+ summary: "Update a extension."
1260
+ },
1261
+ deleteExtension: {
1262
+ method: "DELETE",
1263
+ path: "/:id",
1264
+ pathParams: z29.object({ id: z29.string() }),
1265
+ headers: DefaultHeaderSchema,
1266
+ body: null,
1267
+ responses: {
1268
+ 200: DefaultSuccessResponseSchema.extend({ message: z29.string() }),
1269
+ 500: DefaultErrorResponseSchema
1270
+ },
1271
+ summary: "Delete a extension."
1272
+ }
1273
+ },
1274
+ { pathPrefix: "extension" }
1275
+ );
1276
+
1277
+ // src/line/index.ts
1278
+ import { initContract as initContract9 } from "@ts-rest/core";
1279
+ import z32 from "zod";
1280
+
1281
+ // src/line/schema.ts
1282
+ import z30 from "zod";
1283
+ var ConnectLineSchema = z30.object({
1284
+ id: z30.string(),
1285
+ accessToken: z30.string()
1286
+ });
1287
+
1288
+ // src/line/validation.ts
1289
+ import z31 from "zod";
1290
+ var SendLineStickerSchema = z31.object({
1291
+ userId: z31.string().uuid(),
1292
+ packageId: z31.string(),
1293
+ stickerId: z31.string(),
1294
+ accessToken: z31.string()
1295
+ });
1296
+
1297
+ // src/line/index.ts
1298
+ var lineContract = initContract9().router({
1299
+ sendSticker: {
1300
+ method: "POST",
1301
+ path: "sticker",
1302
+ responses: {
1303
+ 200: DefaultSuccessResponseSchema.extend({
1304
+ data: z32.any()
1305
+ }),
1306
+ 500: DefaultErrorResponseSchema
1307
+ },
1308
+ body: SendLineStickerSchema,
1309
+ summary: "Send sticker to LINE"
1310
+ },
1311
+ connect: {
1312
+ method: "POST",
1010
1313
  path: "connect",
1011
1314
  responses: {
1012
1315
  200: DefaultSuccessResponseSchema.extend({
1013
- data: z25.any()
1316
+ data: z32.any()
1014
1317
  }),
1015
1318
  500: DefaultErrorResponseSchema
1016
1319
  },
@@ -1020,16 +1323,16 @@ var lineContract = initContract6().router({
1020
1323
  });
1021
1324
 
1022
1325
  // src/mail/email-engine-webhooks-events.contract.ts
1023
- import { initContract as initContract7 } from "@ts-rest/core";
1024
- import z26 from "zod";
1025
- var emailEngineWebhooksEventsContract = initContract7().router({
1326
+ import { initContract as initContract10 } from "@ts-rest/core";
1327
+ import z33 from "zod";
1328
+ var emailEngineWebhooksEventsContract = initContract10().router({
1026
1329
  handleWebhooksEvents: {
1027
1330
  method: "POST",
1028
1331
  path: "/email_engine/webhooks",
1029
1332
  // we don't need to respone anything but added responses just for solving type error
1030
1333
  responses: {
1031
1334
  200: DefaultSuccessResponseSchema.extend({
1032
- message: z26.string()
1335
+ message: z33.string()
1033
1336
  })
1034
1337
  },
1035
1338
  body: null,
@@ -1038,189 +1341,189 @@ var emailEngineWebhooksEventsContract = initContract7().router({
1038
1341
  });
1039
1342
 
1040
1343
  // src/mail/mail-contract.ts
1041
- import { initContract as initContract12 } from "@ts-rest/core";
1344
+ import { initContract as initContract15 } from "@ts-rest/core";
1042
1345
 
1043
1346
  // src/mail/room-contract.ts
1044
- import { initContract as initContract8 } from "@ts-rest/core";
1045
- import z30 from "zod";
1347
+ import { initContract as initContract11 } from "@ts-rest/core";
1348
+ import z37 from "zod";
1046
1349
 
1047
1350
  // src/mail/schemas/room.schema.ts
1048
- import z29 from "zod";
1351
+ import z36 from "zod";
1049
1352
 
1050
1353
  // src/mail/schemas/account.schema.ts
1051
- import z27 from "zod";
1052
- var MailServerSchema = z27.object({
1053
- id: z27.string(),
1054
- createdAt: z27.date(),
1055
- updatedAt: z27.date(),
1056
- deletedAt: z27.date().nullable(),
1057
- name: z27.string(),
1058
- smtpHost: z27.string(),
1059
- smtpPort: z27.string(),
1060
- smtpTlsPort: z27.string(),
1061
- useTlsForSmtp: z27.boolean(),
1062
- imapHost: z27.string(),
1063
- imapPort: z27.string(),
1064
- imapTlsPort: z27.string(),
1065
- useTlsForImap: z27.boolean()
1066
- });
1067
- var MailAccountSchema = z27.object({
1068
- id: z27.string(),
1069
- createdAt: z27.date(),
1070
- updatedAt: z27.date(),
1071
- deletedAt: z27.date().nullable(),
1072
- name: z27.string(),
1073
- address: z27.string(),
1074
- accountId: z27.string(),
1075
- mailServerId: z27.string(),
1354
+ import z34 from "zod";
1355
+ var MailServerSchema = z34.object({
1356
+ id: z34.string(),
1357
+ createdAt: z34.date(),
1358
+ updatedAt: z34.date(),
1359
+ deletedAt: z34.date().nullable(),
1360
+ name: z34.string(),
1361
+ smtpHost: z34.string(),
1362
+ smtpPort: z34.string(),
1363
+ smtpTlsPort: z34.string(),
1364
+ useTlsForSmtp: z34.boolean(),
1365
+ imapHost: z34.string(),
1366
+ imapPort: z34.string(),
1367
+ imapTlsPort: z34.string(),
1368
+ useTlsForImap: z34.boolean()
1369
+ });
1370
+ var MailAccountSchema = z34.object({
1371
+ id: z34.string(),
1372
+ createdAt: z34.date(),
1373
+ updatedAt: z34.date(),
1374
+ deletedAt: z34.date().nullable(),
1375
+ name: z34.string(),
1376
+ address: z34.string(),
1377
+ accountId: z34.string(),
1378
+ mailServerId: z34.string(),
1076
1379
  mailServer: MailServerSchema,
1077
- state: z27.union([
1078
- z27.literal("init"),
1079
- z27.literal("syncing"),
1080
- z27.literal("connecting"),
1081
- z27.literal("connected"),
1082
- z27.literal("disconnected"),
1083
- z27.literal("authenticationError"),
1084
- z27.literal("connectError"),
1085
- z27.literal("unset")
1380
+ state: z34.union([
1381
+ z34.literal("init"),
1382
+ z34.literal("syncing"),
1383
+ z34.literal("connecting"),
1384
+ z34.literal("connected"),
1385
+ z34.literal("disconnected"),
1386
+ z34.literal("authenticationError"),
1387
+ z34.literal("connectError"),
1388
+ z34.literal("unset")
1086
1389
  ])
1087
1390
  });
1088
1391
 
1089
1392
  // src/mail/schemas/message.schema.ts
1090
- import z28 from "zod";
1091
- var AttachmentSchema = z28.object({
1092
- id: z28.string(),
1093
- createdAt: z28.date(),
1094
- updatedAt: z28.date(),
1095
- deletedAt: z28.nullable(z28.date()),
1096
- roomId: z28.string(),
1097
- messageId: z28.string(),
1098
- fileName: z28.string(),
1099
- fileType: z28.string(),
1100
- emailEngineAttachmentId: z28.string(),
1101
- uploadId: z28.string(),
1102
- upload: z28.object({
1103
- id: z28.string(),
1104
- createdAt: z28.date(),
1105
- updatedAt: z28.date(),
1106
- deletedAt: z28.nullable(z28.date()),
1107
- bucket_name: z28.string(),
1108
- file_name: z28.string(),
1109
- file_key: z28.string(),
1110
- file_size: z28.number(),
1111
- file_url: z28.string(),
1112
- extension_name: z28.string()
1393
+ import z35 from "zod";
1394
+ var AttachmentSchema = z35.object({
1395
+ id: z35.string(),
1396
+ createdAt: z35.date(),
1397
+ updatedAt: z35.date(),
1398
+ deletedAt: z35.nullable(z35.date()),
1399
+ roomId: z35.string(),
1400
+ messageId: z35.string(),
1401
+ fileName: z35.string(),
1402
+ fileType: z35.string(),
1403
+ emailEngineAttachmentId: z35.string(),
1404
+ uploadId: z35.string(),
1405
+ upload: z35.object({
1406
+ id: z35.string(),
1407
+ createdAt: z35.date(),
1408
+ updatedAt: z35.date(),
1409
+ deletedAt: z35.nullable(z35.date()),
1410
+ bucket_name: z35.string(),
1411
+ file_name: z35.string(),
1412
+ file_key: z35.string(),
1413
+ file_size: z35.number(),
1414
+ file_url: z35.string(),
1415
+ extension_name: z35.string()
1113
1416
  })
1114
1417
  });
1115
- var MessageSchema2 = z28.object({
1116
- id: z28.string(),
1117
- createdAt: z28.date(),
1118
- updatedAt: z28.date(),
1119
- deletedAt: z28.nullable(z28.date()),
1120
- roomId: z28.string(),
1121
- subject: z28.string(),
1122
- textPlain: z28.string(),
1123
- textHtml: z28.string(),
1124
- textId: z28.string(),
1125
- emailEngineEmailId: z28.string(),
1126
- emailEngineMessageId: z28.string(),
1127
- emailEngineReplyTo: z28.nullable(z28.string()),
1128
- direction: z28.string(),
1129
- date: z28.date(),
1130
- action: z28.string(),
1131
- unseen: z28.boolean(),
1132
- seemsLikeNew: z28.boolean(),
1133
- from: z28.array(MailUserSchema),
1134
- to: z28.array(MailUserSchema),
1135
- cc: z28.array(MailUserSchema),
1136
- bcc: z28.array(MailUserSchema),
1137
- attachments: z28.array(AttachmentSchema)
1418
+ var MessageSchema2 = z35.object({
1419
+ id: z35.string(),
1420
+ createdAt: z35.date(),
1421
+ updatedAt: z35.date(),
1422
+ deletedAt: z35.nullable(z35.date()),
1423
+ roomId: z35.string(),
1424
+ subject: z35.string(),
1425
+ textPlain: z35.string(),
1426
+ textHtml: z35.string(),
1427
+ textId: z35.string(),
1428
+ emailEngineEmailId: z35.string(),
1429
+ emailEngineMessageId: z35.string(),
1430
+ emailEngineReplyTo: z35.nullable(z35.string()),
1431
+ direction: z35.string(),
1432
+ date: z35.date(),
1433
+ action: z35.string(),
1434
+ unseen: z35.boolean(),
1435
+ seemsLikeNew: z35.boolean(),
1436
+ from: z35.array(MailUserSchema),
1437
+ to: z35.array(MailUserSchema),
1438
+ cc: z35.array(MailUserSchema),
1439
+ bcc: z35.array(MailUserSchema),
1440
+ attachments: z35.array(AttachmentSchema)
1138
1441
  });
1139
1442
 
1140
1443
  // src/mail/schemas/room.schema.ts
1141
- var MailUserSchema = z29.object({
1142
- id: z29.string(),
1143
- createdAt: z29.date(),
1144
- updatedAt: z29.date(),
1145
- deletedAt: z29.date().nullable(),
1146
- name: z29.string(),
1147
- address: z29.string()
1148
- });
1149
- var TagSchema2 = z29.object({
1150
- color: z29.string(),
1151
- id: z29.string(),
1152
- createdAt: z29.date(),
1153
- updatedAt: z29.date(),
1154
- deletedAt: z29.date().nullable(),
1155
- name: z29.string()
1156
- });
1157
- var UserModel = z29.object({
1158
- id: z29.string().uuid(),
1159
- createdAt: z29.date(),
1160
- updatedAt: z29.date(),
1161
- deletedAt: z29.date().nullable(),
1162
- name: z29.string(),
1163
- email: z29.string(),
1164
- address: z29.string().nullable(),
1165
- phone: z29.string().nullable(),
1166
- notification_count: z29.number().nullable()
1167
- });
1168
- var ActivityLogModel = z29.object({
1169
- id: z29.string(),
1170
- createdAt: z29.string(),
1171
- updatedAt: z29.string(),
1172
- deletedAt: z29.nullable(z29.string()),
1173
- description: z29.string(),
1174
- actorId: z29.string(),
1175
- roomId: z29.string(),
1444
+ var MailUserSchema = z36.object({
1445
+ id: z36.string(),
1446
+ createdAt: z36.date(),
1447
+ updatedAt: z36.date(),
1448
+ deletedAt: z36.date().nullable(),
1449
+ name: z36.string(),
1450
+ address: z36.string()
1451
+ });
1452
+ var TagSchema2 = z36.object({
1453
+ color: z36.string(),
1454
+ id: z36.string(),
1455
+ createdAt: z36.date(),
1456
+ updatedAt: z36.date(),
1457
+ deletedAt: z36.date().nullable(),
1458
+ name: z36.string()
1459
+ });
1460
+ var UserModel = z36.object({
1461
+ id: z36.string().uuid(),
1462
+ createdAt: z36.date(),
1463
+ updatedAt: z36.date(),
1464
+ deletedAt: z36.date().nullable(),
1465
+ name: z36.string(),
1466
+ email: z36.string(),
1467
+ address: z36.string().nullable(),
1468
+ phone: z36.string().nullable(),
1469
+ notification_count: z36.number().nullable()
1470
+ });
1471
+ var ActivityLogModel = z36.object({
1472
+ id: z36.string(),
1473
+ createdAt: z36.string(),
1474
+ updatedAt: z36.string(),
1475
+ deletedAt: z36.nullable(z36.string()),
1476
+ description: z36.string(),
1477
+ actorId: z36.string(),
1478
+ roomId: z36.string(),
1176
1479
  actor: UserModel
1177
1480
  });
1178
- var MessagesAndLogs = z29.array(z29.union([MessageSchema2, ActivityLogModel]));
1179
- var MailRoomSchema = z29.object({
1180
- id: z29.string(),
1181
- createdAt: z29.date(),
1182
- updatedAt: z29.date(),
1183
- deletedAt: z29.date().nullable(),
1184
- subject: z29.string(),
1185
- resolved: z29.boolean(),
1186
- assigneeId: z29.string().nullable(),
1187
- note: z29.string(),
1188
- mailId: z29.string(),
1189
- direction: z29.string(),
1190
- lastMessageId: z29.string(),
1191
- firstMessageId: z29.string(),
1192
- from: z29.array(MailUserSchema),
1193
- to: z29.array(MailUserSchema),
1194
- cc: z29.array(MailUserSchema),
1195
- bcc: z29.array(MailUserSchema),
1481
+ var MessagesAndLogs = z36.array(z36.union([MessageSchema2, ActivityLogModel]));
1482
+ var MailRoomSchema = z36.object({
1483
+ id: z36.string(),
1484
+ createdAt: z36.date(),
1485
+ updatedAt: z36.date(),
1486
+ deletedAt: z36.date().nullable(),
1487
+ subject: z36.string(),
1488
+ resolved: z36.boolean(),
1489
+ assigneeId: z36.string().nullable(),
1490
+ note: z36.string(),
1491
+ mailId: z36.string(),
1492
+ direction: z36.string(),
1493
+ lastMessageId: z36.string(),
1494
+ firstMessageId: z36.string(),
1495
+ from: z36.array(MailUserSchema),
1496
+ to: z36.array(MailUserSchema),
1497
+ cc: z36.array(MailUserSchema),
1498
+ bcc: z36.array(MailUserSchema),
1196
1499
  firstMessage: MessageSchema2,
1197
1500
  lastMessage: MessageSchema2,
1198
- tags: z29.array(TagSchema2),
1501
+ tags: z36.array(TagSchema2),
1199
1502
  assignee: UserModel,
1200
- messages: z29.array(MessageSchema2),
1503
+ messages: z36.array(MessageSchema2),
1201
1504
  messagesAndLogs: MessagesAndLogs,
1202
1505
  mail: MailAccountSchema,
1203
- unReadMessageCount: z29.number()
1204
- });
1205
- var AttachmentSchema2 = z29.object({
1206
- fileName: z29.string(),
1207
- fileType: z29.string(),
1208
- emailEngineAttachmentId: z29.string(),
1209
- uploadId: z29.string(),
1210
- messageId: z29.string(),
1211
- roomId: z29.string(),
1506
+ unReadMessageCount: z36.number()
1507
+ });
1508
+ var AttachmentSchema2 = z36.object({
1509
+ fileName: z36.string(),
1510
+ fileType: z36.string(),
1511
+ emailEngineAttachmentId: z36.string(),
1512
+ uploadId: z36.string(),
1513
+ messageId: z36.string(),
1514
+ roomId: z36.string(),
1212
1515
  upload: UploadSchema
1213
1516
  });
1214
1517
 
1215
1518
  // src/mail/room-contract.ts
1216
- var roomContract = initContract8().router(
1519
+ var roomContract = initContract11().router(
1217
1520
  {
1218
1521
  create: {
1219
1522
  method: "POST",
1220
1523
  path: "/",
1221
1524
  responses: {
1222
1525
  200: DefaultSuccessResponseSchema.extend({
1223
- message: z30.string()
1526
+ message: z37.string()
1224
1527
  }),
1225
1528
  ...DefaultResponses
1226
1529
  },
@@ -1230,21 +1533,19 @@ var roomContract = initContract8().router(
1230
1533
  getAll: {
1231
1534
  method: "GET",
1232
1535
  path: "",
1233
- query: z30.object({
1234
- page: z30.coerce.number().default(1),
1235
- pageSize: z30.coerce.number().default(10),
1236
- keyword: z30.string().optional(),
1237
- assigneeId: z30.string().uuid().optional().nullable(),
1238
- resolved: z30.boolean().or(z30.string().transform((value) => value.toLowerCase() === "true")).optional().nullable()
1536
+ query: z37.object({
1537
+ page: z37.coerce.number().default(1),
1538
+ pageSize: z37.coerce.number().default(10),
1539
+ keyword: z37.string().optional(),
1540
+ assigneeId: z37.string().uuid().optional(),
1541
+ resolved: z37.boolean().or(z37.string().transform((value) => value.toLowerCase() === "true")).optional().nullable()
1239
1542
  }),
1240
1543
  responses: {
1241
1544
  200: DefaultSuccessResponseSchema.extend({
1242
- data: z30.object({
1243
- data: z30.array(MailRoomSchema),
1244
- total: z30.number(),
1245
- page: z30.number(),
1246
- pageSize: z30.number()
1247
- })
1545
+ data: z37.array(MailRoomSchema),
1546
+ total: z37.number(),
1547
+ page: z37.number(),
1548
+ pageSize: z37.number()
1248
1549
  }),
1249
1550
  ...DefaultResponses
1250
1551
  },
@@ -1253,8 +1554,8 @@ var roomContract = initContract8().router(
1253
1554
  getById: {
1254
1555
  method: "GET",
1255
1556
  path: "/:id",
1256
- pathParams: z30.object({
1257
- id: z30.string().uuid()
1557
+ pathParams: z37.object({
1558
+ id: z37.string().uuid()
1258
1559
  }),
1259
1560
  responses: {
1260
1561
  200: DefaultSuccessResponseSchema.extend({
@@ -1267,12 +1568,12 @@ var roomContract = initContract8().router(
1267
1568
  getAttachments: {
1268
1569
  method: "GET",
1269
1570
  path: "/:id/attachments",
1270
- pathParams: z30.object({
1271
- id: z30.string().uuid()
1571
+ pathParams: z37.object({
1572
+ id: z37.string().uuid()
1272
1573
  }),
1273
1574
  responses: {
1274
1575
  200: DefaultSuccessResponseSchema.extend({
1275
- data: z30.array(AttachmentSchema2)
1576
+ data: z37.array(AttachmentSchema2)
1276
1577
  }),
1277
1578
  ...DefaultResponses
1278
1579
  },
@@ -1281,12 +1582,12 @@ var roomContract = initContract8().router(
1281
1582
  getParticipants: {
1282
1583
  method: "GET",
1283
1584
  path: "/:id/participants",
1284
- pathParams: z30.object({
1285
- id: z30.string().uuid()
1585
+ pathParams: z37.object({
1586
+ id: z37.string().uuid()
1286
1587
  }),
1287
1588
  responses: {
1288
1589
  200: DefaultSuccessResponseSchema.extend({
1289
- data: z30.array(MailUserSchema)
1590
+ data: z37.array(MailUserSchema)
1290
1591
  }),
1291
1592
  ...DefaultResponses
1292
1593
  },
@@ -1295,8 +1596,8 @@ var roomContract = initContract8().router(
1295
1596
  update: {
1296
1597
  method: "PATCH",
1297
1598
  path: "/:id",
1298
- pathParams: z30.object({
1299
- id: z30.string()
1599
+ pathParams: z37.object({
1600
+ id: z37.string()
1300
1601
  }),
1301
1602
  responses: {
1302
1603
  200: DefaultSuccessResponseSchema.extend({
@@ -1304,15 +1605,15 @@ var roomContract = initContract8().router(
1304
1605
  }),
1305
1606
  ...DefaultResponses
1306
1607
  },
1307
- body: z30.object({
1308
- resolved: z30.boolean().or(
1309
- z30.union([z30.literal("true"), z30.literal("false")]).transform((value) => value.toLowerCase() === "true")
1608
+ body: z37.object({
1609
+ resolved: z37.boolean().or(
1610
+ z37.union([z37.literal("true"), z37.literal("false")]).transform((value) => value.toLowerCase() === "true")
1310
1611
  ).optional().nullable(),
1311
- assigneeId: z30.string().uuid().optional().nullable(),
1312
- note: z30.string().optional(),
1313
- tags: z30.array(z30.string().uuid()).optional(),
1314
- handover: z30.boolean().or(
1315
- z30.union([z30.literal("true"), z30.literal("false")]).transform((value) => value.toLowerCase() === "true")
1612
+ assigneeId: z37.string().uuid().optional(),
1613
+ note: z37.string().optional(),
1614
+ tags: z37.array(z37.string().uuid()).optional(),
1615
+ handover: z37.boolean().or(
1616
+ z37.union([z37.literal("true"), z37.literal("false")]).transform((value) => value.toLowerCase() === "true")
1316
1617
  ).optional().nullable()
1317
1618
  }),
1318
1619
  summary: "Update a mail room by id"
@@ -1320,12 +1621,12 @@ var roomContract = initContract8().router(
1320
1621
  markAsRead: {
1321
1622
  method: "GET",
1322
1623
  path: "/:id",
1323
- pathParams: z30.object({
1324
- id: z30.string().uuid()
1624
+ pathParams: z37.object({
1625
+ id: z37.string().uuid()
1325
1626
  }),
1326
1627
  responses: {
1327
1628
  200: DefaultSuccessResponseSchema.extend({
1328
- message: z30.string()
1629
+ message: z37.string()
1329
1630
  }),
1330
1631
  ...DefaultResponses
1331
1632
  },
@@ -1338,55 +1639,55 @@ var roomContract = initContract8().router(
1338
1639
  );
1339
1640
 
1340
1641
  // src/mail/account-contract.ts
1341
- import { initContract as initContract9 } from "@ts-rest/core";
1342
- import z32 from "zod";
1642
+ import { initContract as initContract12 } from "@ts-rest/core";
1643
+ import z39 from "zod";
1343
1644
 
1344
1645
  // src/mail/schemas/account-validation.schema.ts
1345
- import z31 from "zod";
1646
+ import z38 from "zod";
1346
1647
  var AccountContractsValidationSchemas = {
1347
1648
  create: {
1348
- input: z31.object({
1349
- address: z31.string().email("Email address must be valid email."),
1350
- name: z31.string().min(1, "Account name cannot be empty."),
1351
- password: z31.string().min(1, "Password cannot be empty."),
1352
- mailServerId: z31.string().uuid("Invalid mail_server_id")
1649
+ input: z38.object({
1650
+ address: z38.string().email("Email address must be valid email."),
1651
+ name: z38.string().min(1, "Account name cannot be empty."),
1652
+ password: z38.string().min(1, "Password cannot be empty."),
1653
+ mailServerId: z38.string().uuid("Invalid mail_server_id")
1353
1654
  })
1354
1655
  },
1355
1656
  getById: {
1356
- input: z31.object({
1357
- id: z31.string().uuid()
1657
+ input: z38.object({
1658
+ id: z38.string().uuid()
1358
1659
  }),
1359
1660
  output: MailAccountSchema
1360
1661
  },
1361
1662
  getAll: {
1362
- output: z31.array(MailAccountSchema)
1663
+ output: z38.array(MailAccountSchema)
1363
1664
  },
1364
1665
  update: {
1365
1666
  input: MailAccountSchema,
1366
1667
  output: MailAccountSchema
1367
1668
  },
1368
1669
  disconnect: {
1369
- input: z31.object({
1370
- id: z31.string().uuid()
1670
+ input: z38.object({
1671
+ id: z38.string().uuid()
1371
1672
  }),
1372
1673
  output: MailAccountSchema
1373
1674
  },
1374
1675
  reconnect: {
1375
- input: z31.object({
1376
- id: z31.string()
1676
+ input: z38.object({
1677
+ id: z38.string()
1377
1678
  }),
1378
1679
  output: MailAccountSchema
1379
1680
  },
1380
1681
  delete: {
1381
- input: z31.object({
1382
- id: z31.string()
1682
+ input: z38.object({
1683
+ id: z38.string()
1383
1684
  }),
1384
1685
  output: MailAccountSchema
1385
1686
  }
1386
1687
  };
1387
1688
 
1388
1689
  // src/mail/account-contract.ts
1389
- var accountContract = initContract9().router(
1690
+ var accountContract = initContract12().router(
1390
1691
  {
1391
1692
  //#region ........register account
1392
1693
  create: {
@@ -1395,16 +1696,16 @@ var accountContract = initContract9().router(
1395
1696
  responses: {
1396
1697
  201: DefaultSuccessResponseSchema.extend({
1397
1698
  // data: AccountContractsValidationSchemas.create.output,
1398
- message: z32.string()
1699
+ message: z39.string()
1399
1700
  }),
1400
- 400: z32.object({
1401
- message: z32.string()
1701
+ 400: z39.object({
1702
+ message: z39.string()
1402
1703
  }),
1403
- 409: z32.object({
1404
- message: z32.string()
1704
+ 409: z39.object({
1705
+ message: z39.string()
1405
1706
  }),
1406
- 500: z32.object({
1407
- message: z32.string()
1707
+ 500: z39.object({
1708
+ message: z39.string()
1408
1709
  }),
1409
1710
  ...DefaultResponses
1410
1711
  },
@@ -1433,7 +1734,7 @@ var accountContract = initContract9().router(
1433
1734
  path: "",
1434
1735
  responses: {
1435
1736
  200: DefaultSuccessResponseSchema.extend({
1436
- data: z32.any()
1737
+ data: z39.any()
1437
1738
  // data: AccountContractsValidationSchemas.getAll.output,
1438
1739
  }),
1439
1740
  ...DefaultResponses
@@ -1445,8 +1746,8 @@ var accountContract = initContract9().router(
1445
1746
  update: {
1446
1747
  method: "PATCH",
1447
1748
  path: "/:id",
1448
- pathParams: z32.object({
1449
- id: z32.string().uuid()
1749
+ pathParams: z39.object({
1750
+ id: z39.string().uuid()
1450
1751
  }),
1451
1752
  responses: {
1452
1753
  201: DefaultSuccessResponseSchema.extend({
@@ -1495,7 +1796,7 @@ var accountContract = initContract9().router(
1495
1796
  pathParams: AccountContractsValidationSchemas.delete.input,
1496
1797
  responses: {
1497
1798
  200: DefaultSuccessResponseSchema.extend({
1498
- message: z32.string()
1799
+ message: z39.string()
1499
1800
  }),
1500
1801
  ...DefaultResponses
1501
1802
  },
@@ -1511,16 +1812,16 @@ var accountContract = initContract9().router(
1511
1812
  );
1512
1813
 
1513
1814
  // src/mail/mail-server-contract.ts
1514
- import { initContract as initContract10 } from "@ts-rest/core";
1515
- import z33 from "zod";
1516
- var serverContract = initContract10().router(
1815
+ import { initContract as initContract13 } from "@ts-rest/core";
1816
+ import z40 from "zod";
1817
+ var serverContract = initContract13().router(
1517
1818
  {
1518
1819
  create: {
1519
1820
  method: "POST",
1520
1821
  path: "/",
1521
1822
  responses: {
1522
1823
  200: DefaultSuccessResponseSchema.extend({
1523
- message: z33.string()
1824
+ message: z40.string()
1524
1825
  }),
1525
1826
  ...DefaultResponses
1526
1827
  },
@@ -1530,12 +1831,12 @@ var serverContract = initContract10().router(
1530
1831
  get: {
1531
1832
  method: "GET",
1532
1833
  path: "/:id",
1533
- pathParams: z33.object({
1534
- id: z33.string()
1834
+ pathParams: z40.object({
1835
+ id: z40.string()
1535
1836
  }),
1536
1837
  responses: {
1537
1838
  200: DefaultSuccessResponseSchema.extend({
1538
- message: z33.string()
1839
+ message: z40.string()
1539
1840
  }),
1540
1841
  ...DefaultResponses
1541
1842
  },
@@ -1544,12 +1845,12 @@ var serverContract = initContract10().router(
1544
1845
  update: {
1545
1846
  method: "PATCH",
1546
1847
  path: "/:id",
1547
- pathParams: z33.object({
1548
- id: z33.string()
1848
+ pathParams: z40.object({
1849
+ id: z40.string()
1549
1850
  }),
1550
1851
  responses: {
1551
1852
  200: DefaultSuccessResponseSchema.extend({
1552
- message: z33.string()
1853
+ message: z40.string()
1553
1854
  }),
1554
1855
  ...DefaultResponses
1555
1856
  },
@@ -1559,12 +1860,12 @@ var serverContract = initContract10().router(
1559
1860
  delete: {
1560
1861
  method: "PATCH",
1561
1862
  path: "/:id",
1562
- pathParams: z33.object({
1563
- id: z33.string()
1863
+ pathParams: z40.object({
1864
+ id: z40.string()
1564
1865
  }),
1565
1866
  responses: {
1566
1867
  200: DefaultSuccessResponseSchema.extend({
1567
- message: z33.string()
1868
+ message: z40.string()
1568
1869
  }),
1569
1870
  ...DefaultResponses
1570
1871
  },
@@ -1578,51 +1879,51 @@ var serverContract = initContract10().router(
1578
1879
  );
1579
1880
 
1580
1881
  // src/mail/message-contract.ts
1581
- import { initContract as initContract11 } from "@ts-rest/core";
1582
- import z35 from "zod";
1882
+ import { initContract as initContract14 } from "@ts-rest/core";
1883
+ import z42 from "zod";
1583
1884
 
1584
1885
  // src/mail/schemas/message-validation.schema.ts
1585
- import z34 from "zod";
1586
- var MailParticipant = z34.object({
1587
- name: z34.string().optional(),
1588
- address: z34.string().email()
1886
+ import z41 from "zod";
1887
+ var MailParticipant = z41.object({
1888
+ name: z41.string().optional(),
1889
+ address: z41.string().email()
1589
1890
  });
1590
1891
  var MessageContractsValidationsSchema = {
1591
1892
  submit: {
1592
- input: z34.object({
1593
- subject: z34.string(),
1594
- text: z34.string(),
1595
- html: z34.string(),
1893
+ input: z41.object({
1894
+ subject: z41.string(),
1895
+ text: z41.string(),
1896
+ html: z41.string(),
1596
1897
  from: MailParticipant,
1597
- to: z34.array(MailParticipant),
1598
- cc: z34.array(MailParticipant).optional(),
1599
- bcc: z34.array(MailParticipant).optional(),
1600
- reference: z34.object({
1601
- messageId: z34.string(),
1602
- action: z34.union([z34.literal("reply"), z34.literal("forward")])
1898
+ to: z41.array(MailParticipant),
1899
+ cc: z41.array(MailParticipant).optional(),
1900
+ bcc: z41.array(MailParticipant).optional(),
1901
+ reference: z41.object({
1902
+ messageId: z41.string(),
1903
+ action: z41.union([z41.literal("reply"), z41.literal("forward")])
1603
1904
  }).optional(),
1604
- attachments: z34.array(
1605
- z34.object({
1606
- fileType: z34.string(),
1607
- fileName: z34.string(),
1608
- fileKey: z34.string(),
1609
- fileSize: z34.number(),
1610
- bucketName: z34.string(),
1611
- presignedUrl: z34.string()
1905
+ attachments: z41.array(
1906
+ z41.object({
1907
+ fileType: z41.string(),
1908
+ fileName: z41.string(),
1909
+ fileKey: z41.string(),
1910
+ fileSize: z41.number(),
1911
+ bucketName: z41.string(),
1912
+ presignedUrl: z41.string()
1612
1913
  })
1613
1914
  ).optional()
1614
1915
  }),
1615
- output: z34.object({
1616
- response: z34.string(),
1617
- messageId: z34.string(),
1618
- sendAt: z34.string(),
1619
- queueId: z34.string()
1916
+ output: z41.object({
1917
+ response: z41.string(),
1918
+ messageId: z41.string(),
1919
+ sendAt: z41.string(),
1920
+ queueId: z41.string()
1620
1921
  })
1621
1922
  }
1622
1923
  };
1623
1924
 
1624
1925
  // src/mail/message-contract.ts
1625
- var messageContract = initContract11().router(
1926
+ var messageContract = initContract14().router(
1626
1927
  {
1627
1928
  submit: {
1628
1929
  method: "POST",
@@ -1641,8 +1942,8 @@ var messageContract = initContract11().router(
1641
1942
  getById: {
1642
1943
  method: "GET",
1643
1944
  path: "/:id",
1644
- pathParams: z35.object({
1645
- id: z35.string()
1945
+ pathParams: z42.object({
1946
+ id: z42.string()
1646
1947
  }),
1647
1948
  responses: {
1648
1949
  200: DefaultSuccessResponseSchema.extend({
@@ -1660,31 +1961,155 @@ var messageContract = initContract11().router(
1660
1961
  );
1661
1962
 
1662
1963
  // src/mail/mail-contract.ts
1663
- var mailContract = initContract12().router({
1964
+ var mailContract = initContract15().router({
1664
1965
  room: roomContract,
1665
1966
  message: messageContract,
1666
1967
  account: accountContract,
1667
1968
  server: serverContract
1668
1969
  });
1669
1970
 
1971
+ // src/messenger/index.ts
1972
+ import { initContract as initContract16 } from "@ts-rest/core";
1973
+ var messengerContract = initContract16().router({
1974
+ sendMessage: {
1975
+ method: "POST",
1976
+ path: "/message",
1977
+ body: SendMessageToPlatformSchema,
1978
+ responses: {
1979
+ 200: DefaultSuccessResponseSchema
1980
+ }
1981
+ }
1982
+ }, {
1983
+ baseHeaders: DefaultHeaderSchema
1984
+ });
1985
+
1986
+ // src/permission/index.ts
1987
+ import { initContract as initContract17 } from "@ts-rest/core";
1988
+ import z43 from "zod";
1989
+ var permissionContract = initContract17().router(
1990
+ {
1991
+ getPermissions: {
1992
+ method: "GET",
1993
+ path: "",
1994
+ headers: DefaultHeaderSchema,
1995
+ responses: {
1996
+ 200: z43.object({ permissions: PermissionSchema.array() }),
1997
+ 400: z43.object({
1998
+ message: z43.string()
1999
+ }),
2000
+ 401: DefaultUnauthorizedSchema,
2001
+ 500: DefaultErrorResponseSchema
2002
+ },
2003
+ summary: "Get all permissions"
2004
+ }
2005
+ },
2006
+ { pathPrefix: "permission" }
2007
+ );
2008
+
2009
+ // src/role/index.ts
2010
+ import { initContract as initContract18 } from "@ts-rest/core";
2011
+ import z45 from "zod";
2012
+
2013
+ // src/role/validation.ts
2014
+ import { z as z44 } from "zod";
2015
+ var CreateRoleSchema = z44.object({
2016
+ systemName: z44.string(),
2017
+ displayName: z44.string(),
2018
+ description: z44.string().nullable(),
2019
+ permissions: z44.array(z44.string())
2020
+ });
2021
+ var UpdateRoleSchema = CreateRoleSchema;
2022
+
2023
+ // src/role/index.ts
2024
+ var roleContract = initContract18().router(
2025
+ {
2026
+ createRole: {
2027
+ method: "POST",
2028
+ path: "",
2029
+ headers: DefaultHeaderSchema,
2030
+ body: CreateRoleSchema,
2031
+ responses: {
2032
+ 201: DefaultSuccessResponseSchema.extend({
2033
+ role: RoleSchema
2034
+ }),
2035
+ 400: z45.object({
2036
+ message: z45.string()
2037
+ }),
2038
+ 401: DefaultUnauthorizedSchema,
2039
+ 500: DefaultErrorResponseSchema
2040
+ },
2041
+ summary: "Create a role."
2042
+ },
2043
+ getRoles: {
2044
+ method: "GET",
2045
+ path: "",
2046
+ query: z45.object({
2047
+ page: z45.coerce.number().default(1),
2048
+ pageSize: z45.coerce.number().default(10)
2049
+ }).optional(),
2050
+ headers: DefaultHeaderSchema,
2051
+ responses: {
2052
+ 200: WithPagination(RoleSchema),
2053
+ 400: z45.object({
2054
+ message: z45.string()
2055
+ }),
2056
+ 401: DefaultUnauthorizedSchema,
2057
+ 500: DefaultErrorResponseSchema
2058
+ },
2059
+ summary: "Get all roles"
2060
+ },
2061
+ updateRole: {
2062
+ method: "PATCH",
2063
+ path: "/:id",
2064
+ pathParams: z45.object({ id: z45.string() }),
2065
+ headers: DefaultHeaderSchema,
2066
+ body: UpdateRoleSchema,
2067
+ responses: {
2068
+ 201: DefaultSuccessResponseSchema.extend({
2069
+ role: RoleSchema
2070
+ }),
2071
+ 400: z45.object({
2072
+ message: z45.string()
2073
+ }),
2074
+ 401: DefaultUnauthorizedSchema,
2075
+ 500: DefaultErrorResponseSchema
2076
+ },
2077
+ summary: "Update a role."
2078
+ },
2079
+ deleteRole: {
2080
+ method: "DELETE",
2081
+ path: "/:id",
2082
+ pathParams: z45.object({ id: z45.string() }),
2083
+ headers: DefaultHeaderSchema,
2084
+ body: null,
2085
+ responses: {
2086
+ 200: DefaultSuccessResponseSchema.extend({ message: z45.string() }),
2087
+ 500: DefaultErrorResponseSchema
2088
+ },
2089
+ summary: "Delete a role."
2090
+ }
2091
+ },
2092
+ { pathPrefix: "role" }
2093
+ );
2094
+
1670
2095
  // src/tag/index.ts
1671
- import { initContract as initContract13 } from "@ts-rest/core";
1672
- import z37 from "zod";
2096
+ import { initContract as initContract19 } from "@ts-rest/core";
2097
+ import z47 from "zod";
1673
2098
 
1674
2099
  // src/tag/validation.ts
1675
- import { z as z36 } from "zod";
1676
- var CreateTagSchema = z36.object({
1677
- name: z36.string(),
2100
+ import { z as z46 } from "zod";
2101
+ var CreateTagSchema = z46.object({
2102
+ name: z46.string(),
1678
2103
  group: TagGroupSchema
1679
2104
  });
1680
- var GetTagsSchema = z36.object({
2105
+ var GetTagsSchema = z46.object({
1681
2106
  group: TagGroupSchema.default("general"),
1682
- keyword: z36.string()
2107
+ keyword: z46.string()
1683
2108
  }).partial().optional();
1684
- var UpdateTagSchema = z36.object({ name: z36.string() });
2109
+ var UpdateTagSchema = z46.object({ name: z46.string() });
1685
2110
 
1686
2111
  // src/tag/index.ts
1687
- var tagContract = initContract13().router(
2112
+ var tagContract = initContract19().router(
1688
2113
  {
1689
2114
  createTag: {
1690
2115
  method: "POST",
@@ -1704,7 +2129,7 @@ var tagContract = initContract13().router(
1704
2129
  query: GetTagsSchema,
1705
2130
  responses: {
1706
2131
  200: DefaultSuccessResponseSchema.extend({
1707
- tags: z37.array(TagSchema)
2132
+ tags: z47.array(TagSchema)
1708
2133
  }),
1709
2134
  500: DefaultErrorResponseSchema
1710
2135
  },
@@ -1713,7 +2138,7 @@ var tagContract = initContract13().router(
1713
2138
  updateTag: {
1714
2139
  method: "PATCH",
1715
2140
  path: "/:id",
1716
- pathParams: z37.object({ id: z37.string() }),
2141
+ pathParams: z47.object({ id: z47.string() }),
1717
2142
  body: UpdateTagSchema,
1718
2143
  responses: {
1719
2144
  200: DefaultSuccessResponseSchema.extend({
@@ -1726,11 +2151,11 @@ var tagContract = initContract13().router(
1726
2151
  deleteTag: {
1727
2152
  method: "DELETE",
1728
2153
  path: "/:id",
1729
- pathParams: z37.object({ id: z37.string() }),
1730
- body: z37.any().optional(),
2154
+ pathParams: z47.object({ id: z47.string() }),
2155
+ body: z47.any().optional(),
1731
2156
  // We don't need the body.
1732
2157
  responses: {
1733
- 200: DefaultSuccessResponseSchema.extend({ message: z37.string() }),
2158
+ 200: DefaultSuccessResponseSchema.extend({ message: z47.string() }),
1734
2159
  500: DefaultErrorResponseSchema
1735
2160
  },
1736
2161
  headers: DefaultHeaderSchema
@@ -1741,266 +2166,176 @@ var tagContract = initContract13().router(
1741
2166
  }
1742
2167
  );
1743
2168
 
1744
- // src/extension/index.ts
1745
- import { initContract as initContract14 } from "@ts-rest/core";
1746
- import z40 from "zod";
2169
+ // src/telephony-agent-presence-status/index.ts
2170
+ import { initContract as initContract20 } from "@ts-rest/core";
2171
+ import z50 from "zod";
1747
2172
 
1748
- // src/extension/schema.ts
1749
- import z38 from "zod";
1750
- var ExtensionSchema = DefaultEntitySchema.extend({
1751
- userId: z38.string().nullable(),
1752
- sipServerUrl: z38.string(),
1753
- sipUserName: z38.string(),
1754
- extensionId: z38.coerce.number().nullable(),
1755
- extensionName: z38.string().nullable(),
1756
- telephonySignature: z38.string().nullable()
2173
+ // src/telephony-agent-presence-status/schema.ts
2174
+ import z48 from "zod";
2175
+ var PresenceStatusSchema = DefaultEntitySchema.extend({
2176
+ status: z48.string(),
2177
+ description: z48.string()
2178
+ });
2179
+ var UserPresenceStatusSchema = DefaultEntitySchema.extend({
2180
+ user: UserSchema,
2181
+ presenceStatus: PresenceStatusSchema,
2182
+ customPresenceStatus: z48.string().optional()
1757
2183
  });
1758
2184
 
1759
- // src/extension/validation.ts
1760
- import { z as z39 } from "zod";
1761
- var CreateExtensionSchema = z39.object({
1762
- userId: z39.string().nullable(),
1763
- sipServerUrl: z39.string(),
1764
- sipUserName: z39.string(),
1765
- extensionId: z39.coerce.number().nullable(),
1766
- extensionName: z39.string().nullable(),
1767
- telephonySignature: z39.string().nullable()
2185
+ // src/telephony-agent-presence-status/validation.ts
2186
+ import { z as z49 } from "zod";
2187
+ var UpdateUserStatusSchema = z49.object({
2188
+ userId: z49.string(),
2189
+ presenceStatusId: z49.string().optional(),
2190
+ customPreseneStatus: z49.string().optional(),
2191
+ reason: z49.string()
1768
2192
  });
1769
- var UpdateExtensionSchema = CreateExtensionSchema;
1770
2193
 
1771
- // src/extension/index.ts
1772
- var extensionContract = initContract14().router(
2194
+ // src/telephony-agent-presence-status/index.ts
2195
+ var telephonyAgentPresenceStatusContract = initContract20().router(
1773
2196
  {
1774
- createExtension: {
1775
- method: "POST",
1776
- path: "",
2197
+ getAllStatus: {
2198
+ method: "GET",
2199
+ path: "/presence_status",
1777
2200
  headers: DefaultHeaderSchema,
1778
- body: CreateExtensionSchema,
1779
2201
  responses: {
1780
- 201: DefaultSuccessResponseSchema.extend({
1781
- extension: ExtensionSchema
1782
- }),
1783
- 400: z40.object({
1784
- message: z40.string()
2202
+ 200: z50.array(PresenceStatusSchema),
2203
+ 400: z50.object({
2204
+ message: z50.string()
1785
2205
  }),
1786
2206
  401: DefaultUnauthorizedSchema,
1787
2207
  500: DefaultErrorResponseSchema
1788
2208
  },
1789
- summary: "Create a extension."
2209
+ summary: "Get all telephony presence status list."
1790
2210
  },
1791
- getExtensions: {
2211
+ getAllAgentStatus: {
1792
2212
  method: "GET",
1793
- path: "",
1794
- query: z40.object({
1795
- page: z40.coerce.number().default(1),
1796
- pageSize: z40.coerce.number().default(10),
1797
- keyword: z40.string().optional()
1798
- }).optional(),
2213
+ path: "/agents/presence_status",
1799
2214
  headers: DefaultHeaderSchema,
1800
2215
  responses: {
1801
- 200: WithPagination(ExtensionSchema),
1802
- 400: z40.object({
1803
- message: z40.string()
2216
+ 200: z50.array(UserPresenceStatusSchema),
2217
+ 400: z50.object({
2218
+ message: z50.string()
1804
2219
  }),
1805
2220
  401: DefaultUnauthorizedSchema,
1806
2221
  500: DefaultErrorResponseSchema
1807
2222
  },
1808
- summary: "Get all extensions"
2223
+ summary: "Get all user presence status list."
1809
2224
  },
1810
- getExtensionByUserId: {
2225
+ getAgentStatus: {
1811
2226
  method: "GET",
1812
- path: "/user/:userId",
1813
- pathParams: z40.object({ userId: z40.string() }),
2227
+ path: "/presence_status/check_update/:userId",
2228
+ pathParams: z50.object({ userId: z50.string() }),
1814
2229
  headers: DefaultHeaderSchema,
1815
2230
  responses: {
1816
- 200: ExtensionSchema,
1817
- 400: z40.object({
1818
- message: z40.string()
2231
+ 200: UserPresenceStatusSchema,
2232
+ 400: z50.object({
2233
+ message: z50.string()
1819
2234
  }),
1820
2235
  401: DefaultUnauthorizedSchema,
1821
2236
  500: DefaultErrorResponseSchema
1822
2237
  },
1823
- summary: "Get extension by user id"
2238
+ summary: "Check and update user agent status before getting from telephony server."
1824
2239
  },
1825
- getExtensionByDialpad: {
1826
- method: "GET",
1827
- path: "/dialpad",
1828
- query: z40.object({
1829
- page: z40.coerce.number().default(1),
1830
- pageSize: z40.coerce.number().default(10),
1831
- keyword: z40.string().optional()
1832
- }).optional(),
1833
- headers: DefaultHeaderSchema,
1834
- responses: {
1835
- 200: WithPagination(ExtensionSchema),
1836
- 500: DefaultErrorResponseSchema,
1837
- 400: z40.object({
1838
- message: z40.string()
1839
- }),
1840
- 401: DefaultUnauthorizedSchema
1841
- },
1842
- summary: "Get by dialpad"
1843
- },
1844
- updateExtension: {
1845
- method: "PATCH",
1846
- path: "/:id",
1847
- pathParams: z40.object({ id: z40.string() }),
2240
+ updateUserStatus: {
2241
+ method: "POST",
2242
+ path: "/presence_status/user",
1848
2243
  headers: DefaultHeaderSchema,
1849
- body: UpdateExtensionSchema,
2244
+ body: UpdateUserStatusSchema,
1850
2245
  responses: {
1851
2246
  200: DefaultSuccessResponseSchema.extend({
1852
- extension: ExtensionSchema
2247
+ userPresenceStatu: UserPresenceStatusSchema
1853
2248
  }),
1854
- 500: DefaultErrorResponseSchema
1855
- },
1856
- summary: "Update a extension."
1857
- },
1858
- deleteExtension: {
1859
- method: "DELETE",
1860
- path: "/:id",
1861
- pathParams: z40.object({ id: z40.string() }),
1862
- headers: DefaultHeaderSchema,
1863
- body: null,
1864
- responses: {
1865
- 200: DefaultSuccessResponseSchema.extend({ message: z40.string() }),
1866
- 500: DefaultErrorResponseSchema
1867
- },
1868
- summary: "Delete a extension."
1869
- }
1870
- },
1871
- { pathPrefix: "extension" }
1872
- );
1873
-
1874
- // src/permission/index.ts
1875
- import { initContract as initContract15 } from "@ts-rest/core";
1876
- import z41 from "zod";
1877
- var permissionContract = initContract15().router(
1878
- {
1879
- getPermissions: {
1880
- method: "GET",
1881
- path: "",
1882
- headers: DefaultHeaderSchema,
1883
- responses: {
1884
- 200: z41.object({ permissions: PermissionSchema.array() }),
1885
- 400: z41.object({
1886
- message: z41.string()
2249
+ 400: z50.object({
2250
+ message: z50.string()
1887
2251
  }),
1888
2252
  401: DefaultUnauthorizedSchema,
1889
2253
  500: DefaultErrorResponseSchema
1890
2254
  },
1891
- summary: "Get all permissions"
2255
+ summary: "Update presence status"
1892
2256
  }
1893
2257
  },
1894
- { pathPrefix: "permission" }
2258
+ { pathPrefix: "telephony" }
1895
2259
  );
1896
2260
 
1897
- // src/role/index.ts
1898
- import { initContract as initContract16 } from "@ts-rest/core";
1899
- import z43 from "zod";
2261
+ // src/telephony-extension/index.ts
2262
+ import { initContract as initContract21 } from "@ts-rest/core";
2263
+ import z52 from "zod";
1900
2264
 
1901
- // src/role/validation.ts
1902
- import { z as z42 } from "zod";
1903
- var CreateRoleSchema = z42.object({
1904
- systemName: z42.string(),
1905
- displayName: z42.string(),
1906
- description: z42.string().nullable(),
1907
- permissions: z42.array(z42.string())
2265
+ // src/telephony-extension/schema.ts
2266
+ import z51 from "zod";
2267
+ var TelephonyExtensionSchema = z51.object({
2268
+ errcode: z51.coerce.number(),
2269
+ errmsg: z51.string(),
2270
+ total_number: z51.coerce.number(),
2271
+ data: z51.array(
2272
+ z51.object({
2273
+ id: z51.coerce.number(),
2274
+ online_status: z51.object({
2275
+ fx_phone: z51.object({ status: z51.coerce.number() }),
2276
+ sip_phone: z51.object({
2277
+ status: z51.coerce.number(),
2278
+ ext_dev_type: z51.string().optional()
2279
+ }),
2280
+ linkus_desktop: z51.object({ status: z51.coerce.number() }),
2281
+ linkus_mobile: z51.object({ status: z51.coerce.number() }),
2282
+ linkus_web: z51.object({
2283
+ status: z51.coerce.number(),
2284
+ ext_dev_type: z51.string().optional()
2285
+ })
2286
+ }).optional(),
2287
+ presence_status: z51.string().optional(),
2288
+ number: z51.string().optional(),
2289
+ caller_id_name: z51.string().optional(),
2290
+ role_name: z51.string().optional(),
2291
+ email_addr: z51.string().optional()
2292
+ })
2293
+ )
1908
2294
  });
1909
- var UpdateRoleSchema = CreateRoleSchema;
1910
2295
 
1911
- // src/role/index.ts
1912
- var roleContract = initContract16().router(
2296
+ // src/telephony-extension/index.ts
2297
+ var telephonyExtensionContract = initContract21().router(
1913
2298
  {
1914
- createRole: {
1915
- method: "POST",
1916
- path: "",
1917
- headers: DefaultHeaderSchema,
1918
- body: CreateRoleSchema,
1919
- responses: {
1920
- 201: DefaultSuccessResponseSchema.extend({
1921
- role: RoleSchema
1922
- }),
1923
- 400: z43.object({
1924
- message: z43.string()
1925
- }),
1926
- 401: DefaultUnauthorizedSchema,
1927
- 500: DefaultErrorResponseSchema
1928
- },
1929
- summary: "Create a role."
1930
- },
1931
- getRoles: {
2299
+ getTelephonyExtensions: {
1932
2300
  method: "GET",
1933
- path: "",
1934
- query: z43.object({
1935
- page: z43.coerce.number().default(1),
1936
- pageSize: z43.coerce.number().default(10)
1937
- }).optional(),
1938
- headers: DefaultHeaderSchema,
1939
- responses: {
1940
- 200: WithPagination(RoleSchema),
1941
- 400: z43.object({
1942
- message: z43.string()
1943
- }),
1944
- 401: DefaultUnauthorizedSchema,
1945
- 500: DefaultErrorResponseSchema
1946
- },
1947
- summary: "Get all roles"
1948
- },
1949
- updateRole: {
1950
- method: "PATCH",
1951
- path: "/:id",
1952
- pathParams: z43.object({ id: z43.string() }),
2301
+ path: "/extension_list",
1953
2302
  headers: DefaultHeaderSchema,
1954
- body: UpdateRoleSchema,
2303
+ query: null,
1955
2304
  responses: {
1956
- 201: DefaultSuccessResponseSchema.extend({
1957
- role: RoleSchema
1958
- }),
1959
- 400: z43.object({
1960
- message: z43.string()
2305
+ 200: TelephonyExtensionSchema,
2306
+ 400: z52.object({
2307
+ message: z52.string()
1961
2308
  }),
1962
2309
  401: DefaultUnauthorizedSchema,
1963
2310
  500: DefaultErrorResponseSchema
1964
2311
  },
1965
- summary: "Update a role."
1966
- },
1967
- deleteRole: {
1968
- method: "DELETE",
1969
- path: "/:id",
1970
- pathParams: z43.object({ id: z43.string() }),
1971
- headers: DefaultHeaderSchema,
1972
- body: null,
1973
- responses: {
1974
- 200: DefaultSuccessResponseSchema.extend({ message: z43.string() }),
1975
- 500: DefaultErrorResponseSchema
1976
- },
1977
- summary: "Delete a role."
2312
+ summary: "Get all extension list by yeastar"
1978
2313
  }
1979
2314
  },
1980
- { pathPrefix: "role" }
2315
+ { pathPrefix: "telephony" }
1981
2316
  );
1982
2317
 
1983
2318
  // src/user/index.ts
1984
- import { initContract as initContract17 } from "@ts-rest/core";
1985
- import z45 from "zod";
2319
+ import { initContract as initContract22 } from "@ts-rest/core";
2320
+ import z54 from "zod";
1986
2321
 
1987
2322
  // src/user/validation.ts
1988
- import { z as z44 } from "zod";
1989
- var CreateUserSchema = z44.object({
1990
- name: z44.string(),
1991
- email: z44.string().email(),
1992
- address: z44.string().nullable(),
1993
- phone: z44.string().nullable(),
1994
- password: z44.string(),
1995
- notificationCount: z44.number().nullable().optional(),
1996
- roles: z44.array(z44.string())
2323
+ import { z as z53 } from "zod";
2324
+ var CreateUserSchema = z53.object({
2325
+ name: z53.string(),
2326
+ email: z53.string().email(),
2327
+ address: z53.string().nullable(),
2328
+ phone: z53.string().nullable(),
2329
+ password: z53.string(),
2330
+ notificationCount: z53.number().optional(),
2331
+ roles: z53.array(z53.string())
1997
2332
  });
1998
2333
  var UpdateUserSchema = CreateUserSchema.extend({
1999
- newPassword: z44.string()
2334
+ newPassword: z53.string()
2000
2335
  });
2001
2336
 
2002
2337
  // src/user/index.ts
2003
- var userContract = initContract17().router(
2338
+ var userContract = initContract22().router(
2004
2339
  {
2005
2340
  createUser: {
2006
2341
  method: "POST",
@@ -2011,8 +2346,8 @@ var userContract = initContract17().router(
2011
2346
  201: DefaultSuccessResponseSchema.extend({
2012
2347
  user: UserSchema
2013
2348
  }),
2014
- 400: z45.object({
2015
- message: z45.string()
2349
+ 400: z54.object({
2350
+ message: z54.string()
2016
2351
  }),
2017
2352
  401: DefaultUnauthorizedSchema
2018
2353
  },
@@ -2022,15 +2357,15 @@ var userContract = initContract17().router(
2022
2357
  method: "GET",
2023
2358
  path: "",
2024
2359
  headers: DefaultHeaderSchema,
2025
- query: z45.object({
2026
- page: z45.coerce.number().default(1),
2027
- pageSize: z45.coerce.number().default(10),
2028
- keyword: z45.string().optional()
2360
+ query: z54.object({
2361
+ page: z54.coerce.number().default(1),
2362
+ pageSize: z54.coerce.number().default(10),
2363
+ keyword: z54.string().optional()
2029
2364
  }).optional(),
2030
2365
  responses: {
2031
2366
  200: WithPagination(UserSchema),
2032
- 400: z45.object({
2033
- message: z45.string()
2367
+ 400: z54.object({
2368
+ message: z54.string()
2034
2369
  }),
2035
2370
  401: DefaultUnauthorizedSchema,
2036
2371
  500: DefaultErrorResponseSchema
@@ -2040,12 +2375,12 @@ var userContract = initContract17().router(
2040
2375
  getUserById: {
2041
2376
  method: "GET",
2042
2377
  path: "/:id",
2043
- pathParams: z45.object({ id: z45.string() }),
2378
+ pathParams: z54.object({ id: z54.string() }),
2044
2379
  headers: DefaultHeaderSchema,
2045
2380
  responses: {
2046
2381
  200: UserSchema,
2047
- 400: z45.object({
2048
- message: z45.string()
2382
+ 400: z54.object({
2383
+ message: z54.string()
2049
2384
  }),
2050
2385
  401: DefaultUnauthorizedSchema
2051
2386
  },
@@ -2054,15 +2389,15 @@ var userContract = initContract17().router(
2054
2389
  updateUser: {
2055
2390
  method: "PATCH",
2056
2391
  path: "/:id",
2057
- pathParams: z45.object({ id: z45.string() }),
2392
+ pathParams: z54.object({ id: z54.string() }),
2058
2393
  headers: DefaultHeaderSchema,
2059
2394
  body: UpdateUserSchema,
2060
2395
  responses: {
2061
2396
  201: DefaultSuccessResponseSchema.extend({
2062
2397
  role: UserSchema
2063
2398
  }),
2064
- 400: z45.object({
2065
- message: z45.string()
2399
+ 400: z54.object({
2400
+ message: z54.string()
2066
2401
  }),
2067
2402
  401: DefaultUnauthorizedSchema
2068
2403
  },
@@ -2071,11 +2406,11 @@ var userContract = initContract17().router(
2071
2406
  deleteUser: {
2072
2407
  method: "DELETE",
2073
2408
  path: "/:id",
2074
- pathParams: z45.object({ id: z45.string() }),
2409
+ pathParams: z54.object({ id: z54.string() }),
2075
2410
  headers: DefaultHeaderSchema,
2076
2411
  body: null,
2077
2412
  responses: {
2078
- 200: DefaultSuccessResponseSchema.extend({ message: z45.string() }),
2413
+ 200: DefaultSuccessResponseSchema.extend({ message: z54.string() }),
2079
2414
  500: DefaultErrorResponseSchema
2080
2415
  },
2081
2416
  summary: "Delete a user."
@@ -2084,44 +2419,87 @@ var userContract = initContract17().router(
2084
2419
  { pathPrefix: "user" }
2085
2420
  );
2086
2421
 
2422
+ // src/user-presence-status-log/index.ts
2423
+ import { initContract as initContract23 } from "@ts-rest/core";
2424
+ import z57 from "zod";
2425
+
2426
+ // src/user-presence-status-log/schema.ts
2427
+ import z55 from "zod";
2428
+ var UserPresenceStatusLogSchema = DefaultEntitySchema.extend({
2429
+ user: UserSchema,
2430
+ previousPresenceStatus: PresenceStatusSchema,
2431
+ newPresenceStatus: PresenceStatusSchema,
2432
+ reason: z55.string()
2433
+ });
2434
+
2435
+ // src/user-presence-status-log/validation.ts
2436
+ import z56 from "zod";
2437
+ var UserPresenceStatusLogParamsSchema = z56.object({
2438
+ page: z56.coerce.number().default(1),
2439
+ pageSize: z56.coerce.number().default(10),
2440
+ selectedDate: z56.string().optional()
2441
+ }).optional();
2442
+
2443
+ // src/user-presence-status-log/index.ts
2444
+ var userPresenceStatusLogContract = initContract23().router(
2445
+ {
2446
+ getUserPresenceStatusLog: {
2447
+ method: "GET",
2448
+ path: "",
2449
+ query: UserPresenceStatusLogParamsSchema,
2450
+ headers: DefaultHeaderSchema,
2451
+ responses: {
2452
+ 200: WithPagination(UserPresenceStatusLogSchema),
2453
+ 400: z57.object({
2454
+ message: z57.string()
2455
+ }),
2456
+ 401: DefaultUnauthorizedSchema,
2457
+ 500: DefaultErrorResponseSchema
2458
+ },
2459
+ summary: "Get all user presence status log."
2460
+ }
2461
+ },
2462
+ { pathPrefix: "user-presence-status-log" }
2463
+ );
2464
+
2087
2465
  // src/widget/index.ts
2088
- import { initContract as initContract18 } from "@ts-rest/core";
2089
- import z48 from "zod";
2466
+ import { initContract as initContract24 } from "@ts-rest/core";
2467
+ import z60 from "zod";
2090
2468
 
2091
2469
  // src/widget/schema.ts
2092
- import z46 from "zod";
2093
- var FieldsSchema = z46.object({ data: z46.array(z46.string()) });
2094
- var WidgetPositionSchema = z46.union([
2095
- z46.literal("menu"),
2096
- z46.literal("ticket_detail"),
2097
- z46.literal("contact_detail")
2470
+ import z58 from "zod";
2471
+ var FieldsSchema = z58.object({ data: z58.array(z58.string()) });
2472
+ var WidgetPositionSchema = z58.union([
2473
+ z58.literal("menu"),
2474
+ z58.literal("ticket_detail"),
2475
+ z58.literal("contact_detail")
2098
2476
  ]);
2099
2477
  var WidgetSchema = DefaultEntitySchema.extend({
2100
- name: z46.string(),
2101
- description: z46.string().nullable(),
2478
+ name: z58.string(),
2479
+ description: z58.string().nullable(),
2102
2480
  position: WidgetPositionSchema.nullable(),
2103
2481
  fields: FieldsSchema,
2104
- url: z46.string().nullable()
2482
+ url: z58.string()
2105
2483
  });
2106
2484
 
2107
2485
  // src/widget/validation.ts
2108
- import z47 from "zod";
2109
- var CreateWidgetSchema = z47.object({
2110
- name: z47.string(),
2111
- description: z47.string(),
2112
- url: z47.string(),
2486
+ import z59 from "zod";
2487
+ var CreateWidgetSchema = z59.object({
2488
+ name: z59.string(),
2489
+ description: z59.string(),
2490
+ url: z59.string(),
2113
2491
  position: WidgetPositionSchema,
2114
- fields: z47.object({
2492
+ fields: z59.object({
2115
2493
  data: (
2116
2494
  // Array of attribute system names
2117
- z47.array(z47.string())
2495
+ z59.array(z59.string())
2118
2496
  )
2119
2497
  }).optional()
2120
2498
  });
2121
2499
  var UpdateWidgetSchema = CreateWidgetSchema;
2122
2500
 
2123
2501
  // src/widget/index.ts
2124
- var widgetContract = initContract18().router(
2502
+ var widgetContract = initContract24().router(
2125
2503
  {
2126
2504
  createWidget: {
2127
2505
  method: "POST",
@@ -2132,8 +2510,8 @@ var widgetContract = initContract18().router(
2132
2510
  201: DefaultSuccessResponseSchema.extend({
2133
2511
  widget: WidgetSchema
2134
2512
  }),
2135
- 400: z48.object({
2136
- message: z48.string()
2513
+ 400: z60.object({
2514
+ message: z60.string()
2137
2515
  }),
2138
2516
  401: DefaultUnauthorizedSchema,
2139
2517
  500: DefaultErrorResponseSchema
@@ -2143,17 +2521,17 @@ var widgetContract = initContract18().router(
2143
2521
  getWidgets: {
2144
2522
  method: "GET",
2145
2523
  path: "",
2146
- query: z48.object({
2147
- page: z48.coerce.number().default(1),
2148
- pageSize: z48.coerce.number().default(10),
2149
- keyword: z48.coerce.string().optional()
2524
+ query: z60.object({
2525
+ page: z60.coerce.number().default(1),
2526
+ pageSize: z60.coerce.number().default(10),
2527
+ keyword: z60.coerce.string().optional()
2150
2528
  }).optional(),
2151
2529
  headers: DefaultHeaderSchema,
2152
2530
  responses: {
2153
2531
  200: WithPagination(WidgetSchema),
2154
2532
  500: DefaultErrorResponseSchema,
2155
- 400: z48.object({
2156
- message: z48.string()
2533
+ 400: z60.object({
2534
+ message: z60.string()
2157
2535
  }),
2158
2536
  401: DefaultUnauthorizedSchema
2159
2537
  },
@@ -2164,9 +2542,9 @@ var widgetContract = initContract18().router(
2164
2542
  path: "/menu",
2165
2543
  headers: DefaultHeaderSchema,
2166
2544
  responses: {
2167
- 200: z48.array(WidgetSchema),
2168
- 400: z48.object({
2169
- message: z48.string()
2545
+ 200: z60.array(WidgetSchema),
2546
+ 400: z60.object({
2547
+ message: z60.string()
2170
2548
  }),
2171
2549
  401: DefaultUnauthorizedSchema,
2172
2550
  500: DefaultErrorResponseSchema
@@ -2178,9 +2556,9 @@ var widgetContract = initContract18().router(
2178
2556
  path: "/ticket_detail",
2179
2557
  headers: DefaultHeaderSchema,
2180
2558
  responses: {
2181
- 200: z48.array(WidgetSchema),
2182
- 400: z48.object({
2183
- message: z48.string()
2559
+ 200: z60.array(WidgetSchema),
2560
+ 400: z60.object({
2561
+ message: z60.string()
2184
2562
  }),
2185
2563
  401: DefaultUnauthorizedSchema,
2186
2564
  500: DefaultErrorResponseSchema
@@ -2192,9 +2570,9 @@ var widgetContract = initContract18().router(
2192
2570
  path: "/contact_detail",
2193
2571
  headers: DefaultHeaderSchema,
2194
2572
  responses: {
2195
- 200: z48.array(WidgetSchema),
2196
- 400: z48.object({
2197
- message: z48.string()
2573
+ 200: z60.array(WidgetSchema),
2574
+ 400: z60.object({
2575
+ message: z60.string()
2198
2576
  }),
2199
2577
  401: DefaultUnauthorizedSchema,
2200
2578
  500: DefaultErrorResponseSchema
@@ -2204,12 +2582,12 @@ var widgetContract = initContract18().router(
2204
2582
  getWidgetById: {
2205
2583
  method: "GET",
2206
2584
  path: "/:id",
2207
- pathParams: z48.object({ id: z48.string() }),
2585
+ pathParams: z60.object({ id: z60.string() }),
2208
2586
  headers: DefaultHeaderSchema,
2209
2587
  responses: {
2210
2588
  200: WidgetSchema,
2211
- 400: z48.object({
2212
- message: z48.string()
2589
+ 400: z60.object({
2590
+ message: z60.string()
2213
2591
  }),
2214
2592
  401: DefaultUnauthorizedSchema,
2215
2593
  500: DefaultErrorResponseSchema
@@ -2243,14 +2621,14 @@ var widgetContract = initContract18().router(
2243
2621
  updateWidget: {
2244
2622
  method: "PATCH",
2245
2623
  path: "/:id",
2246
- pathParams: z48.object({ id: z48.string() }),
2624
+ pathParams: z60.object({ id: z60.string() }),
2247
2625
  headers: DefaultHeaderSchema,
2248
2626
  responses: {
2249
2627
  201: DefaultSuccessResponseSchema.extend({
2250
2628
  widget: WidgetSchema
2251
2629
  }),
2252
- 400: z48.object({
2253
- message: z48.string()
2630
+ 400: z60.object({
2631
+ message: z60.string()
2254
2632
  }),
2255
2633
  401: DefaultUnauthorizedSchema
2256
2634
  },
@@ -2260,11 +2638,11 @@ var widgetContract = initContract18().router(
2260
2638
  deleteWidget: {
2261
2639
  method: "DELETE",
2262
2640
  path: "/:id",
2263
- pathParams: z48.object({ id: z48.string() }),
2641
+ pathParams: z60.object({ id: z60.string() }),
2264
2642
  headers: DefaultHeaderSchema,
2265
2643
  body: null,
2266
2644
  responses: {
2267
- 200: DefaultSuccessResponseSchema.extend({ message: z48.string() }),
2645
+ 200: DefaultSuccessResponseSchema.extend({ message: z60.string() }),
2268
2646
  500: DefaultErrorResponseSchema
2269
2647
  },
2270
2648
  summary: "Delete a widget."
@@ -2274,33 +2652,33 @@ var widgetContract = initContract18().router(
2274
2652
  );
2275
2653
 
2276
2654
  // src/wrap-up-form/index.ts
2277
- import { initContract as initContract19 } from "@ts-rest/core";
2278
- import z51 from "zod";
2655
+ import { initContract as initContract25 } from "@ts-rest/core";
2656
+ import z63 from "zod";
2279
2657
 
2280
2658
  // src/wrap-up-form/schema.ts
2281
- import z49 from "zod";
2659
+ import z61 from "zod";
2282
2660
  var WrapUpFormSchema = DefaultEntitySchema.extend({
2283
- note: z49.string().nullable(),
2284
- disposition: z49.string().nullable(),
2285
- callFrom: z49.string().nullable(),
2286
- callTo: z49.string().nullable(),
2287
- tags: z49.array(TagSchema)
2661
+ note: z61.string().nullable(),
2662
+ disposition: z61.string().nullable(),
2663
+ callFrom: z61.string().nullable(),
2664
+ callTo: z61.string().nullable(),
2665
+ tags: z61.array(TagSchema)
2288
2666
  });
2289
2667
 
2290
2668
  // src/wrap-up-form/validation.ts
2291
- import { z as z50 } from "zod";
2292
- var CreateWrapUpFormSchema = z50.object({
2293
- note: z50.string().nullable().optional(),
2294
- disposition: z50.string().nullable().optional(),
2295
- callFrom: z50.string().nullable().optional(),
2296
- callTo: z50.string().nullable().optional()
2669
+ import { z as z62 } from "zod";
2670
+ var CreateWrapUpFormSchema = z62.object({
2671
+ note: z62.string().optional(),
2672
+ disposition: z62.string().optional(),
2673
+ callFrom: z62.string().optional(),
2674
+ callTo: z62.string().optional()
2297
2675
  });
2298
2676
  var UpdateWrapUpFormSchema = CreateWrapUpFormSchema.extend({
2299
- tags: z50.array(z50.string())
2677
+ tags: z62.array(z62.string()).optional()
2300
2678
  });
2301
2679
 
2302
2680
  // src/wrap-up-form/index.ts
2303
- var wrapUpFormContract = initContract19().router(
2681
+ var wrapUpFormContract = initContract25().router(
2304
2682
  {
2305
2683
  createWrapUpForm: {
2306
2684
  method: "POST",
@@ -2311,8 +2689,8 @@ var wrapUpFormContract = initContract19().router(
2311
2689
  201: DefaultSuccessResponseSchema.extend({
2312
2690
  wrapUpForm: WrapUpFormSchema
2313
2691
  }),
2314
- 400: z51.object({
2315
- message: z51.string()
2692
+ 400: z63.object({
2693
+ message: z63.string()
2316
2694
  }),
2317
2695
  401: DefaultUnauthorizedSchema,
2318
2696
  500: DefaultErrorResponseSchema
@@ -2322,15 +2700,15 @@ var wrapUpFormContract = initContract19().router(
2322
2700
  getWrapUpForms: {
2323
2701
  method: "GET",
2324
2702
  path: "",
2325
- query: z51.object({
2326
- page: z51.coerce.number().default(1),
2327
- pageSize: z51.coerce.number().default(10)
2703
+ query: z63.object({
2704
+ page: z63.coerce.number().default(1),
2705
+ pageSize: z63.coerce.number().default(10)
2328
2706
  }).optional(),
2329
2707
  headers: DefaultHeaderSchema,
2330
2708
  responses: {
2331
2709
  200: WithPagination(WrapUpFormSchema),
2332
- 400: z51.object({
2333
- message: z51.string()
2710
+ 400: z63.object({
2711
+ message: z63.string()
2334
2712
  }),
2335
2713
  401: DefaultUnauthorizedSchema,
2336
2714
  500: DefaultErrorResponseSchema
@@ -2340,15 +2718,15 @@ var wrapUpFormContract = initContract19().router(
2340
2718
  updateWrapUpForm: {
2341
2719
  method: "PATCH",
2342
2720
  path: "/:id",
2343
- pathParams: z51.object({ id: z51.string() }),
2721
+ pathParams: z63.object({ id: z63.string() }),
2344
2722
  headers: DefaultHeaderSchema,
2345
2723
  body: UpdateWrapUpFormSchema,
2346
2724
  responses: {
2347
2725
  201: DefaultSuccessResponseSchema.extend({
2348
2726
  wrapUpForm: WrapUpFormSchema
2349
2727
  }),
2350
- 400: z51.object({
2351
- message: z51.string()
2728
+ 400: z63.object({
2729
+ message: z63.string()
2352
2730
  }),
2353
2731
  401: DefaultUnauthorizedSchema,
2354
2732
  500: DefaultErrorResponseSchema
@@ -2359,130 +2737,8 @@ var wrapUpFormContract = initContract19().router(
2359
2737
  { pathPrefix: "wrap-up-form" }
2360
2738
  );
2361
2739
 
2362
- // src/telephony-extension/index.ts
2363
- import { initContract as initContract20 } from "@ts-rest/core";
2364
- import z53 from "zod";
2365
-
2366
- // src/telephony-extension/schema.ts
2367
- import z52 from "zod";
2368
- var TelephonyExtensionSchema = z52.object({
2369
- errcode: z52.coerce.number(),
2370
- errmsg: z52.string(),
2371
- total_number: z52.coerce.number(),
2372
- data: z52.array(
2373
- z52.object({
2374
- id: z52.coerce.number(),
2375
- online_status: z52.object({
2376
- fx_phone: z52.object({ status: z52.coerce.number() }),
2377
- sip_phone: z52.object({
2378
- status: z52.coerce.number(),
2379
- ext_dev_type: z52.string().optional()
2380
- }),
2381
- linkus_desktop: z52.object({ status: z52.coerce.number() }),
2382
- linkus_mobile: z52.object({ status: z52.coerce.number() }),
2383
- linkus_web: z52.object({
2384
- status: z52.coerce.number(),
2385
- ext_dev_type: z52.string().optional()
2386
- })
2387
- }).optional(),
2388
- presence_status: z52.string().optional(),
2389
- number: z52.string().optional(),
2390
- call_id_name: z52.string().optional(),
2391
- role_name: z52.string().optional(),
2392
- email_addr: z52.string().optional()
2393
- })
2394
- )
2395
- });
2396
-
2397
- // src/telephony-extension/index.ts
2398
- var telephonyExtensionContract = initContract20().router(
2399
- {
2400
- getTelephonyExtensions: {
2401
- method: "GET",
2402
- path: "/extension_list",
2403
- headers: DefaultHeaderSchema,
2404
- query: null,
2405
- responses: {
2406
- 200: TelephonyExtensionSchema,
2407
- 400: z53.object({
2408
- message: z53.string()
2409
- }),
2410
- 401: DefaultUnauthorizedSchema,
2411
- 500: DefaultErrorResponseSchema
2412
- },
2413
- summary: "Get all extension list by yeastar"
2414
- }
2415
- },
2416
- { pathPrefix: "telephony" }
2417
- );
2418
-
2419
- // src/aws/index.ts
2420
- import { initContract as initContract21 } from "@ts-rest/core";
2421
-
2422
- // src/aws/validation.ts
2423
- import z54 from "zod";
2424
- var AwsContractsValidationSchema = {
2425
- generatePresignedUrl: {
2426
- input: z54.object({
2427
- fileName: z54.string(),
2428
- fileType: z54.string(),
2429
- moduleName: z54.string()
2430
- }),
2431
- output: z54.object({
2432
- fileName: z54.string(),
2433
- fileKey: z54.string(),
2434
- bucketName: z54.string(),
2435
- url: z54.string(),
2436
- cfUrl: z54.string().nullable()
2437
- })
2438
- },
2439
- generateSignedUrl: {
2440
- input: z54.object({
2441
- fileKey: z54.string()
2442
- }),
2443
- output: z54.object({
2444
- url: z54.string()
2445
- })
2446
- }
2447
- };
2448
-
2449
- // src/aws/index.ts
2450
- var awsContract = initContract21().router(
2451
- {
2452
- generatePresignedUrl: {
2453
- method: "POST",
2454
- path: "/presigned-url",
2455
- responses: {
2456
- 200: DefaultSuccessResponseSchema.extend({
2457
- data: AwsContractsValidationSchema.generatePresignedUrl.output
2458
- }),
2459
- ...DefaultResponses,
2460
- 500: DefaultErrorResponseSchema
2461
- },
2462
- body: AwsContractsValidationSchema.generatePresignedUrl.input,
2463
- summary: "Generate a presigned url"
2464
- },
2465
- generateSignedUrl: {
2466
- method: "POST",
2467
- path: "/signed-url",
2468
- responses: {
2469
- 200: DefaultSuccessResponseSchema.extend({
2470
- data: AwsContractsValidationSchema.generateSignedUrl.output
2471
- }),
2472
- ...DefaultResponses,
2473
- 500: DefaultErrorResponseSchema
2474
- },
2475
- body: AwsContractsValidationSchema.generateSignedUrl.input,
2476
- summary: "Generate a signed url using file key"
2477
- }
2478
- },
2479
- {
2480
- pathPrefix: "aws/s3"
2481
- }
2482
- );
2483
-
2484
2740
  // src/contract.ts
2485
- var apiContract = initContract22().router({
2741
+ var apiContract = initContract26().router({
2486
2742
  auth: authContract,
2487
2743
  mail: mailContract,
2488
2744
  cxLog: cxLogContract,
@@ -2495,16 +2751,25 @@ var apiContract = initContract22().router({
2495
2751
  emailEngineWebhooks: emailEngineWebhooksEventsContract,
2496
2752
  category: categoryContract,
2497
2753
  telephonyExtensionContract,
2498
- line: lineContract,
2499
2754
  attribute: attributeContract,
2500
2755
  tag: tagContract,
2501
2756
  chat: chatContract,
2502
- aws: awsContract
2757
+ channel: channelContract,
2758
+ aws: awsContract,
2759
+ userPresenceStatusLog: userPresenceStatusLogContract,
2760
+ agentPresenceStatus: telephonyAgentPresenceStatusContract
2761
+ // contact: contactContract,
2762
+ });
2763
+ var platformContract = initContract26().router({
2764
+ line: lineContract,
2765
+ messenger: messengerContract
2503
2766
  });
2504
2767
  export {
2505
2768
  apiContract,
2506
2769
  attributeContract,
2507
2770
  categoryContract,
2508
- tagContract
2771
+ platformContract,
2772
+ tagContract,
2773
+ wrapUpFormContract
2509
2774
  };
2510
2775
  //# sourceMappingURL=index.mjs.map