@kl1/contracts 1.0.10 → 1.0.12

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