@kl1/contracts 1.1.5-uat → 1.1.16-uat

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -49,6 +49,7 @@ __export(src_exports, {
49
49
  notificationContract: () => notificationContract,
50
50
  permissionContract: () => permissionContract,
51
51
  platformContract: () => platformContract,
52
+ publicApiContract: () => publicApiContract2,
52
53
  receiveMessageContract: () => receiveMessageContract,
53
54
  tagContract: () => tagContract,
54
55
  telephonyCdrContract: () => telephonyCdrContract,
@@ -63,7 +64,7 @@ __export(src_exports, {
63
64
  module.exports = __toCommonJS(src_exports);
64
65
 
65
66
  // src/contract.ts
66
- var import_core38 = require("@ts-rest/core");
67
+ var import_core39 = require("@ts-rest/core");
67
68
 
68
69
  // src/activity-log/index.ts
69
70
  var import_core = require("@ts-rest/core");
@@ -4242,8 +4243,15 @@ var RoomContractsValidationSchema = {
4242
4243
  input: import_zod59.default.object({
4243
4244
  page: import_zod59.default.coerce.number().default(1),
4244
4245
  pageSize: import_zod59.default.coerce.number().default(10),
4245
- keyword: import_zod59.default.string().optional(),
4246
+ keyword: import_zod59.default.object({
4247
+ value: import_zod59.default.string(),
4248
+ category: import_zod59.default.union([import_zod59.default.literal("contact"), import_zod59.default.literal("message")])
4249
+ }).optional(),
4246
4250
  contactLabels: import_zod59.default.array(import_zod59.default.string()).optional(),
4251
+ channels: import_zod59.default.array(import_zod59.default.string().email()).optional(),
4252
+ date: import_zod59.default.string().optional(),
4253
+ contacts: import_zod59.default.array(import_zod59.default.string()).optional(),
4254
+ assignees: import_zod59.default.array(import_zod59.default.string()).optional(),
4247
4255
  level1: import_zod59.default.union([
4248
4256
  import_zod59.default.literal("open"),
4249
4257
  import_zod59.default.literal("close"),
@@ -4268,9 +4276,14 @@ var RoomContractsValidationSchema = {
4268
4276
  },
4269
4277
  update: {
4270
4278
  input: import_zod59.default.object({
4271
- resolved: import_zod59.default.boolean().or(
4272
- import_zod59.default.union([import_zod59.default.literal("true"), import_zod59.default.literal("false")]).transform((value) => value.toLowerCase() === "true")
4273
- ).optional().nullable(),
4279
+ disposition: import_zod59.default.union([
4280
+ import_zod59.default.literal("resolved"),
4281
+ import_zod59.default.literal("follow_up"),
4282
+ import_zod59.default.literal("escalated"),
4283
+ import_zod59.default.literal("dropped"),
4284
+ import_zod59.default.literal("prank"),
4285
+ import_zod59.default.literal("blank")
4286
+ ]).optional().nullable(),
4274
4287
  assigneeId: import_zod59.default.string().uuid().optional().nullable(),
4275
4288
  note: import_zod59.default.string().optional(),
4276
4289
  tags: import_zod59.default.array(import_zod59.default.string().uuid()).optional(),
@@ -4730,8 +4743,55 @@ var messageContract = (0, import_core21.initContract)().router(
4730
4743
  500: DefaultErrorResponseSchema
4731
4744
  },
4732
4745
  body: MessageContractsValidationsSchema.submit.input,
4733
- summary: "Submit a message such compose, reply or forward"
4746
+ summary: "Submit a message such as compose, reply or forward"
4734
4747
  },
4748
+ //#region get room counts for filter like 'open', 'close', 'inbox' and etc...
4749
+ getRoomCounts: {
4750
+ method: "GET",
4751
+ path: "/room_counts",
4752
+ responses: {
4753
+ 200: DefaultSuccessResponseSchema.extend({
4754
+ data: import_zod66.default.object({
4755
+ general: import_zod66.default.array(
4756
+ import_zod66.default.object({
4757
+ name: import_zod66.default.string(),
4758
+ count: import_zod66.default.number()
4759
+ })
4760
+ ),
4761
+ channels: import_zod66.default.array(
4762
+ import_zod66.default.object({
4763
+ channel: MailAccountSchema,
4764
+ count: import_zod66.default.number()
4765
+ })
4766
+ ),
4767
+ contactLabels: import_zod66.default.array(
4768
+ import_zod66.default.object({
4769
+ label: TagSchema,
4770
+ count: import_zod66.default.number()
4771
+ })
4772
+ )
4773
+ })
4774
+ }),
4775
+ ...DefaultResponses
4776
+ },
4777
+ summary: 'Get unread message counts for filter like "open", "close", "inbox" and etc...'
4778
+ },
4779
+ //#endregion get unread message counts for filter like 'open', 'close', 'inbox' and etc...
4780
+ //#region get total unread messages counts
4781
+ getTotalUnreadMessageCount: {
4782
+ method: "GET",
4783
+ path: "/new_message_count",
4784
+ responses: {
4785
+ 200: DefaultSuccessResponseSchema.extend({
4786
+ data: import_zod66.default.object({
4787
+ count: import_zod66.default.number()
4788
+ })
4789
+ }),
4790
+ ...DefaultResponses
4791
+ },
4792
+ summary: "Get total unread messages counts"
4793
+ },
4794
+ //#endregion get total unread messages counts
4735
4795
  //#region get a message
4736
4796
  getById: {
4737
4797
  method: "GET",
@@ -6868,8 +6928,366 @@ var userNotificationContract = (0, import_core37.initContract)().router(
6868
6928
  }
6869
6929
  );
6870
6930
 
6931
+ // src/public-api/index.ts
6932
+ var import_core38 = require("@ts-rest/core");
6933
+ var import_zod101 = __toESM(require("zod"));
6934
+
6935
+ // src/public-api/validation.ts
6936
+ var import_zod100 = __toESM(require("zod"));
6937
+
6938
+ // src/public-api/schema.ts
6939
+ var import_zod99 = __toESM(require("zod"));
6940
+ var ContactPhonesSchema2 = import_zod99.default.object({
6941
+ id: import_zod99.default.string().uuid(),
6942
+ createdAt: import_zod99.default.date(),
6943
+ updatedAt: import_zod99.default.date(),
6944
+ deletedAt: import_zod99.default.date().nullable(),
6945
+ phone: import_zod99.default.string(),
6946
+ isPrimary: import_zod99.default.boolean()
6947
+ });
6948
+ var ContactEmailsSchema2 = import_zod99.default.object({
6949
+ id: import_zod99.default.string().uuid(),
6950
+ createdAt: import_zod99.default.date(),
6951
+ updatedAt: import_zod99.default.date(),
6952
+ deletedAt: import_zod99.default.date().nullable(),
6953
+ email: import_zod99.default.string(),
6954
+ isPrimary: import_zod99.default.boolean()
6955
+ });
6956
+ var ContactCustomFieldSchema2 = import_zod99.default.object({
6957
+ id: import_zod99.default.string().uuid(),
6958
+ createdAt: import_zod99.default.date(),
6959
+ updatedAt: import_zod99.default.date(),
6960
+ deletedAt: import_zod99.default.date().nullable(),
6961
+ textValue: import_zod99.default.string().nullable(),
6962
+ booleanValue: import_zod99.default.boolean().nullable(),
6963
+ numberValue: import_zod99.default.number().nullable(),
6964
+ dateValue: import_zod99.default.date().nullable(),
6965
+ attribute: AttributeSchema.omit({ options: true, group: true }),
6966
+ uploads: import_zod99.default.array(UploadSchema)
6967
+ });
6968
+ var ContactEntityTypesSchema2 = import_zod99.default.object({
6969
+ id: import_zod99.default.string().uuid(),
6970
+ createdAt: import_zod99.default.date(),
6971
+ updatedAt: import_zod99.default.date(),
6972
+ deletedAt: import_zod99.default.date().nullable(),
6973
+ entity: import_zod99.default.string(),
6974
+ description: import_zod99.default.string().nullable()
6975
+ });
6976
+ var ContactActivitySchema2 = import_zod99.default.object({
6977
+ id: import_zod99.default.string().uuid(),
6978
+ createdAt: import_zod99.default.date(),
6979
+ updatedAt: import_zod99.default.date(),
6980
+ deletedAt: import_zod99.default.date().nullable(),
6981
+ entityId: import_zod99.default.string(),
6982
+ description: import_zod99.default.string(),
6983
+ entityType: ContactEntityTypesSchema2
6984
+ });
6985
+ var ContactSchema2 = import_zod99.default.object({
6986
+ id: import_zod99.default.string().uuid(),
6987
+ createdAt: import_zod99.default.date(),
6988
+ updatedAt: import_zod99.default.date(),
6989
+ deletedAt: import_zod99.default.date().nullable(),
6990
+ name: import_zod99.default.string(),
6991
+ address: import_zod99.default.string().nullable(),
6992
+ channel: import_zod99.default.string().nullable(),
6993
+ notes: import_zod99.default.string().nullable(),
6994
+ contactProfile: import_zod99.default.string().nullable(),
6995
+ socialProfileUrl: import_zod99.default.string().nullable(),
6996
+ tags: import_zod99.default.array(TagSchema),
6997
+ company: CompanySchema.omit({ customFields: true }).nullable(),
6998
+ customFields: import_zod99.default.array(ContactCustomFieldSchema2),
6999
+ contactEmails: import_zod99.default.array(ContactEmailsSchema2),
7000
+ contactPhones: import_zod99.default.array(ContactPhonesSchema2),
7001
+ activityLogs: import_zod99.default.array(ContactActivitySchema2).optional()
7002
+ });
7003
+
7004
+ // src/public-api/validation.ts
7005
+ var ContactContractValidationSchema2 = {
7006
+ create: {
7007
+ request: import_zod100.default.object({
7008
+ name: import_zod100.default.string(),
7009
+ email: import_zod100.default.array(
7010
+ import_zod100.default.object({
7011
+ email: import_zod100.default.string().email(),
7012
+ isPrimary: import_zod100.default.boolean()
7013
+ })
7014
+ ).optional(),
7015
+ channel: import_zod100.default.string().optional(),
7016
+ address: import_zod100.default.string().optional(),
7017
+ phone: import_zod100.default.array(
7018
+ import_zod100.default.object({
7019
+ phone: import_zod100.default.string(),
7020
+ isPrimary: import_zod100.default.boolean()
7021
+ })
7022
+ ).optional(),
7023
+ notes: import_zod100.default.string().optional(),
7024
+ tags: import_zod100.default.array(import_zod100.default.string()).optional(),
7025
+ company: import_zod100.default.string().optional(),
7026
+ customFields: import_zod100.default.record(import_zod100.default.string())
7027
+ // Dynamic keys with string values
7028
+ }),
7029
+ response: ContactSchema2
7030
+ },
7031
+ getById: {
7032
+ request: import_zod100.default.object({
7033
+ id: import_zod100.default.string().uuid()
7034
+ })
7035
+ },
7036
+ delete: {
7037
+ request: import_zod100.default.object({
7038
+ id: import_zod100.default.string().uuid()
7039
+ })
7040
+ },
7041
+ getAll: {
7042
+ request: import_zod100.default.object({
7043
+ page: import_zod100.default.coerce.number().default(1),
7044
+ pageSize: import_zod100.default.coerce.number().default(10),
7045
+ keyword: import_zod100.default.string().optional(),
7046
+ company: import_zod100.default.array(import_zod100.default.string().uuid()),
7047
+ name: import_zod100.default.string(),
7048
+ address: import_zod100.default.string(),
7049
+ channel: import_zod100.default.array(import_zod100.default.string()),
7050
+ selectedDate: import_zod100.default.string(),
7051
+ customFields: import_zod100.default.array(
7052
+ import_zod100.default.object({
7053
+ attributeId: import_zod100.default.string().uuid(),
7054
+ type: import_zod100.default.string(),
7055
+ value: import_zod100.default.union([import_zod100.default.string(), import_zod100.default.array(import_zod100.default.string())])
7056
+ })
7057
+ ),
7058
+ tags: import_zod100.default.array(import_zod100.default.string().uuid()),
7059
+ phone: import_zod100.default.string(),
7060
+ email: import_zod100.default.string(),
7061
+ notes: import_zod100.default.string()
7062
+ }).partial(),
7063
+ response: {
7064
+ page: import_zod100.default.number(),
7065
+ pageSize: import_zod100.default.number(),
7066
+ total: import_zod100.default.number(),
7067
+ lastPage: import_zod100.default.number(),
7068
+ data: import_zod100.default.array(ContactSchema2)
7069
+ }
7070
+ },
7071
+ getContactFields: {
7072
+ request: import_zod100.default.object({
7073
+ page: import_zod100.default.coerce.number().default(1),
7074
+ pageSize: import_zod100.default.coerce.number().default(10)
7075
+ }).partial(),
7076
+ response: {
7077
+ page: import_zod100.default.number(),
7078
+ pageSize: import_zod100.default.number(),
7079
+ total: import_zod100.default.number(),
7080
+ lastPage: import_zod100.default.number(),
7081
+ data: import_zod100.default.array(ContactCustomFieldSchema2)
7082
+ }
7083
+ },
7084
+ addAttachments: {
7085
+ request: import_zod100.default.object({
7086
+ contactId: import_zod100.default.string(),
7087
+ attributeId: import_zod100.default.string().uuid(),
7088
+ contactAttachmentRecords: import_zod100.default.array(
7089
+ import_zod100.default.object({
7090
+ bucketName: import_zod100.default.string(),
7091
+ fileKey: import_zod100.default.string(),
7092
+ fileName: import_zod100.default.string(),
7093
+ fileSize: import_zod100.default.coerce.number(),
7094
+ url: import_zod100.default.string()
7095
+ })
7096
+ )
7097
+ }),
7098
+ response: CustomFieldSchema
7099
+ }
7100
+ };
7101
+
7102
+ // src/public-api/index.ts
7103
+ var publicApiContract = (0, import_core38.initContract)().router(
7104
+ {
7105
+ createContact: {
7106
+ method: "POST",
7107
+ path: "/contacts",
7108
+ body: ContactContractValidationSchema2.create.request,
7109
+ responses: {
7110
+ 201: DefaultSuccessResponseSchema.extend({
7111
+ data: ContactSchema2
7112
+ }),
7113
+ 400: import_zod101.default.object({
7114
+ message: import_zod101.default.string()
7115
+ }),
7116
+ 409: import_zod101.default.object({
7117
+ message: import_zod101.default.string()
7118
+ }),
7119
+ 401: DefaultUnauthorizedSchema,
7120
+ 404: DefaultNotFoundSchema,
7121
+ 422: DefaultUnprocessibleSchema,
7122
+ 500: DefaultErrorResponseSchema
7123
+ },
7124
+ summary: "Create a new contact"
7125
+ },
7126
+ getAllTags: {
7127
+ method: "GET",
7128
+ path: "/tags",
7129
+ query: GetTagsSchema,
7130
+ responses: {
7131
+ 200: DefaultSuccessResponseSchema.extend({
7132
+ tags: import_zod101.default.array(TagSchema)
7133
+ }),
7134
+ 400: import_zod101.default.object({
7135
+ message: import_zod101.default.string()
7136
+ }),
7137
+ 409: import_zod101.default.object({
7138
+ message: import_zod101.default.string()
7139
+ }),
7140
+ 401: DefaultUnauthorizedSchema,
7141
+ 404: DefaultNotFoundSchema,
7142
+ 422: DefaultUnprocessibleSchema,
7143
+ 500: DefaultErrorResponseSchema
7144
+ }
7145
+ },
7146
+ getAllContact: {
7147
+ method: "GET",
7148
+ path: "/contacts",
7149
+ query: ContactContractValidationSchema2.getAll.request,
7150
+ responses: {
7151
+ 200: DefaultSuccessResponseSchema.extend(
7152
+ ContactContractValidationSchema2.getAll.response
7153
+ ),
7154
+ 400: import_zod101.default.object({
7155
+ message: import_zod101.default.string()
7156
+ }),
7157
+ 409: import_zod101.default.object({
7158
+ message: import_zod101.default.string()
7159
+ }),
7160
+ 401: DefaultUnauthorizedSchema,
7161
+ 404: DefaultNotFoundSchema,
7162
+ 422: DefaultUnprocessibleSchema,
7163
+ 500: DefaultErrorResponseSchema
7164
+ },
7165
+ summary: "Get all contacts"
7166
+ },
7167
+ getContactFields: {
7168
+ method: "GET",
7169
+ path: "/contacts/fields",
7170
+ query: ContactContractValidationSchema2.getContactFields.request,
7171
+ responses: {
7172
+ 200: DefaultSuccessResponseSchema.extend(
7173
+ ContactContractValidationSchema2.getContactFields.response
7174
+ ),
7175
+ 400: import_zod101.default.object({
7176
+ message: import_zod101.default.string()
7177
+ }),
7178
+ 409: import_zod101.default.object({
7179
+ message: import_zod101.default.string()
7180
+ }),
7181
+ 401: DefaultUnauthorizedSchema,
7182
+ 404: DefaultNotFoundSchema,
7183
+ 422: DefaultUnprocessibleSchema,
7184
+ 500: DefaultErrorResponseSchema
7185
+ },
7186
+ summary: "Get contact custom fields."
7187
+ },
7188
+ updateContact: {
7189
+ method: "PATCH",
7190
+ path: "/contacts/:id",
7191
+ pathParams: ContactContractValidationSchema2.getById.request,
7192
+ responses: {
7193
+ 200: import_zod101.default.object({
7194
+ status: import_zod101.default.string(),
7195
+ message: import_zod101.default.string(),
7196
+ data: ContactSchema2,
7197
+ requestId: import_zod101.default.string()
7198
+ }),
7199
+ 400: import_zod101.default.object({
7200
+ message: import_zod101.default.string()
7201
+ }),
7202
+ 409: import_zod101.default.object({
7203
+ message: import_zod101.default.string()
7204
+ }),
7205
+ 401: DefaultUnauthorizedSchema,
7206
+ 404: DefaultNotFoundSchema,
7207
+ 422: DefaultUnprocessibleSchema,
7208
+ 500: DefaultErrorResponseSchema
7209
+ },
7210
+ body: ContactContractValidationSchema2.create.request.partial(),
7211
+ summary: "Update a contact"
7212
+ },
7213
+ createContactAttachmentRecords: {
7214
+ method: "POST",
7215
+ path: "/contacts/attachments",
7216
+ body: ContactContractValidationSchema2.addAttachments.request,
7217
+ responses: {
7218
+ 201: DefaultSuccessResponseSchema.extend({
7219
+ message: ContactCustomFieldSchema2
7220
+ }),
7221
+ 400: import_zod101.default.object({
7222
+ message: import_zod101.default.string()
7223
+ }),
7224
+ 409: import_zod101.default.object({
7225
+ message: import_zod101.default.string()
7226
+ }),
7227
+ 401: DefaultUnauthorizedSchema,
7228
+ 404: DefaultNotFoundSchema,
7229
+ 422: DefaultUnprocessibleSchema,
7230
+ 500: DefaultErrorResponseSchema
7231
+ },
7232
+ summary: "Create a new contact attachment"
7233
+ },
7234
+ getContactById: {
7235
+ method: "GET",
7236
+ path: "/contacts/:id",
7237
+ pathParams: ContactContractValidationSchema2.getById.request,
7238
+ responses: {
7239
+ 200: import_zod101.default.object({
7240
+ status: import_zod101.default.string(),
7241
+ message: import_zod101.default.string(),
7242
+ data: ContactSchema2,
7243
+ requestId: import_zod101.default.string()
7244
+ }),
7245
+ 400: import_zod101.default.object({
7246
+ message: import_zod101.default.string()
7247
+ }),
7248
+ 409: import_zod101.default.object({
7249
+ message: import_zod101.default.string()
7250
+ }),
7251
+ 401: DefaultUnauthorizedSchema,
7252
+ 404: DefaultNotFoundSchema,
7253
+ 422: DefaultUnprocessibleSchema,
7254
+ 500: DefaultErrorResponseSchema
7255
+ },
7256
+ summary: "Get a contact by id"
7257
+ },
7258
+ deleteContact: {
7259
+ method: "DELETE",
7260
+ path: "/contacts/:id",
7261
+ pathParams: ContactContractValidationSchema2.delete.request,
7262
+ responses: {
7263
+ 200: import_zod101.default.object({
7264
+ status: import_zod101.default.string(),
7265
+ message: import_zod101.default.string(),
7266
+ data: ContactSchema2,
7267
+ requestId: import_zod101.default.string()
7268
+ }),
7269
+ 400: import_zod101.default.object({
7270
+ message: import_zod101.default.string()
7271
+ }),
7272
+ 409: import_zod101.default.object({
7273
+ message: import_zod101.default.string()
7274
+ }),
7275
+ 401: DefaultUnauthorizedSchema,
7276
+ 404: DefaultNotFoundSchema,
7277
+ 422: DefaultUnprocessibleSchema,
7278
+ 500: DefaultErrorResponseSchema
7279
+ },
7280
+ body: null,
7281
+ summary: "Delete a contact"
7282
+ }
7283
+ },
7284
+ {
7285
+ pathPrefix: "api/v1"
7286
+ }
7287
+ );
7288
+
6871
7289
  // src/contract.ts
6872
- var apiContract = (0, import_core38.initContract)().router({
7290
+ var apiContract = (0, import_core39.initContract)().router({
6873
7291
  auth: authContract,
6874
7292
  mail: mailContract,
6875
7293
  cxLog: cxLogContract,
@@ -6892,34 +7310,37 @@ var apiContract = (0, import_core38.initContract)().router({
6892
7310
  evaluateForm: evaluateFormContract,
6893
7311
  upload: uploadContract
6894
7312
  });
6895
- var contactContract2 = (0, import_core38.initContract)().router({
7313
+ var contactContract2 = (0, import_core39.initContract)().router({
6896
7314
  contact: contactContract
6897
7315
  });
6898
- var ticketContract2 = (0, import_core38.initContract)().router({
7316
+ var ticketContract2 = (0, import_core39.initContract)().router({
6899
7317
  ticket: ticketContract
6900
7318
  });
6901
- var extensionContract2 = (0, import_core38.initContract)().router({
7319
+ var extensionContract2 = (0, import_core39.initContract)().router({
6902
7320
  extension: extensionContract
6903
7321
  });
6904
- var commentActivityContract = (0, import_core38.initContract)().router({
7322
+ var commentActivityContract = (0, import_core39.initContract)().router({
6905
7323
  comment: commentContract,
6906
7324
  activityLog: activityLogContract
6907
7325
  });
6908
- var platformContract = (0, import_core38.initContract)().router({
7326
+ var platformContract = (0, import_core39.initContract)().router({
6909
7327
  line: lineContract,
6910
7328
  messenger: messengerContract,
6911
7329
  instagram: instagramContract,
6912
7330
  viber: viberContract
6913
7331
  });
6914
- var chatContract = (0, import_core38.initContract)().router({
7332
+ var chatContract = (0, import_core39.initContract)().router({
6915
7333
  main: mainChatContract
6916
7334
  });
6917
- var telephonyContract = (0, import_core38.initContract)().router({
7335
+ var telephonyContract = (0, import_core39.initContract)().router({
6918
7336
  telephonyCdr: telephonyCdrContract
6919
7337
  });
6920
- var notificationContract = (0, import_core38.initContract)().router({
7338
+ var notificationContract = (0, import_core39.initContract)().router({
6921
7339
  notification: userNotificationContract
6922
7340
  });
7341
+ var publicApiContract2 = (0, import_core39.initContract)().router({
7342
+ publicApi: publicApiContract
7343
+ });
6923
7344
  // Annotate the CommonJS export names for ESM import in node:
6924
7345
  0 && (module.exports = {
6925
7346
  activityLogContract,
@@ -6941,6 +7362,7 @@ var notificationContract = (0, import_core38.initContract)().router({
6941
7362
  notificationContract,
6942
7363
  permissionContract,
6943
7364
  platformContract,
7365
+ publicApiContract,
6944
7366
  receiveMessageContract,
6945
7367
  tagContract,
6946
7368
  telephonyCdrContract,