@kl1/contracts 1.0.13 → 1.0.15
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 +37 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +37 -0
- package/dist/index.mjs.map +1 -1
- package/dist/src/contact/index.d.ts +1028 -0
- package/dist/src/contact/index.d.ts.map +1 -1
- package/dist/src/contact/validation.d.ts +749 -0
- package/dist/src/contact/validation.d.ts.map +1 -1
- package/dist/src/contract.d.ts +1026 -0
- package/dist/src/contract.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/src/app/index.d.ts +0 -17
- package/dist/src/app/index.d.ts.map +0 -1
- package/dist/src/mail/mail-server.d.ts +0 -216
- package/dist/src/mail/mail-server.d.ts.map +0 -1
package/dist/index.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../src/contract.ts","../src/attribute/index.ts","../src/base-contract.ts","../src/attribute/schema.ts","../src/attribute/validation.ts","../src/auth/index.ts","../src/user/schema.ts","../src/extension/schema.ts","../src/role/schema.ts","../src/permission/schema.ts","../src/aws/index.ts","../src/aws/validation.ts","../src/category/index.ts","../utils.ts","../src/category/schema.ts","../src/category/validation.ts","../src/channel/index.ts","../src/channel/schema.ts","../src/channel/validation.ts","../src/chat/index.ts","../src/contact/schema.ts","../src/tag/schema.ts","../src/company/schema.ts","../src/upload/schema.ts","../src/chat/schema.ts","../src/chat/validation.ts","../src/custom-field/schema.ts","../src/contact/index.ts","../src/contact/validation.ts","../src/cx-log/index.ts","../src/cx-log/schema.ts","../src/cx-log/validation.ts","../src/extension/index.ts","../src/extension/validation.ts","../src/line/index.ts","../src/line/schema.ts","../src/line/validation.ts","../src/mail/email-engine-webhooks-events.contract.ts","../src/mail/mail-contract.ts","../src/mail/room-contract.ts","../src/mail/schemas/room.schema.ts","../src/mail/schemas/account.schema.ts","../src/mail/schemas/message.schema.ts","../src/mail/account-contract.ts","../src/mail/schemas/account-validation.schema.ts","../src/mail/mail-server-contract.ts","../src/mail/message-contract.ts","../src/mail/schemas/message-validation.schema.ts","../src/messenger/index.ts","../src/permission/index.ts","../src/role/index.ts","../src/role/validation.ts","../src/tag/index.ts","../src/tag/validation.ts","../src/telephony-agent-presence-status/index.ts","../src/telephony-agent-presence-status/schema.ts","../src/telephony-agent-presence-status/validation.ts","../src/telephony-extension/index.ts","../src/telephony-extension/schema.ts","../src/user/index.ts","../src/user/validation.ts","../src/user-presence-status-log/index.ts","../src/user-presence-status-log/schema.ts","../src/user-presence-status-log/validation.ts","../src/widget/index.ts","../src/widget/schema.ts","../src/widget/validation.ts","../src/wrap-up-form/index.ts","../src/wrap-up-form/schema.ts","../src/wrap-up-form/validation.ts"],"sourcesContent":["import { initContract } from '@ts-rest/core';\nimport { attributeContract } from './attribute';\nimport { authContract } from './auth';\nimport { awsContract } from './aws';\nimport { categoryContract } from './category';\nimport { channelContract } from './channel';\nimport { mainChatContract } from './chat';\nimport { contactContract } from './contact';\nimport { cxLogContract } from './cx-log';\nimport { extensionContract } from './extension';\nimport { lineContract } from './line';\nimport { emailEngineWebhooksEventsContract } from './mail/email-engine-webhooks-events.contract';\nimport { mailContract } from './mail/mail-contract';\nimport { messengerContract } from './messenger';\nimport { permissionContract } from './permission';\nimport { roleContract } from './role';\nimport { tagContract } from './tag';\nimport { telephonyAgentPresenceStatusContract } from './telephony-agent-presence-status';\nimport { telephonyExtensionContract } from './telephony-extension/index';\nimport { userContract } from './user';\nimport { userPresenceStatusLogContract } from './user-presence-status-log';\nimport { widgetContract } from './widget/index';\nimport { wrapUpFormContract } from './wrap-up-form/index';\n\nexport const apiContract = initContract().router({\n auth: authContract,\n mail: mailContract,\n cxLog: cxLogContract,\n permission: permissionContract,\n role: roleContract,\n user: userContract,\n extension: extensionContract,\n widget: widgetContract,\n wrapUpForm: wrapUpFormContract,\n emailEngineWebhooks: emailEngineWebhooksEventsContract,\n category: categoryContract,\n telephonyExtensionContract: telephonyExtensionContract,\n attribute: attributeContract,\n tag: tagContract,\n channel: channelContract,\n aws: awsContract,\n agentPresenceStatus: telephonyAgentPresenceStatusContract,\n userPresenceStatusLog: userPresenceStatusLogContract,\n contact: contactContract,\n});\n\nexport const platformContract = initContract().router({\n line: lineContract,\n messenger: messengerContract\n});\n\nexport const chatContract = initContract().router({\n main: mainChatContract,\n});","import { initContract } from '@ts-rest/core';\nimport { z } from 'zod';\nimport {\n DefaultErrorResponseSchema,\n DefaultHeaderSchema,\n DefaultSuccessResponseSchema,\n} from '../base-contract';\nimport { AttributeSchema, AttributeTypeSchema } from './schema';\nimport {\n CreateAttributeSchema,\n GetAttributesSchema,\n UpdateAttributeSchema,\n UpdatePositionSchema,\n} from './validation';\n\n// Request types\nexport type CreateAttributeRequest = z.infer<typeof CreateAttributeSchema>;\nexport type GetAttributesRequest = z.infer<typeof GetAttributesSchema>;\nexport type UpdateAttributeRequest = z.infer<typeof UpdateAttributeSchema>;\nexport type UpdatePositionRequest = z.infer<typeof UpdatePositionSchema>;\nexport type Attribute = z.infer<typeof AttributeSchema>;\nexport type AttributeType = z.infer<typeof AttributeTypeSchema>;\n\nexport const attributeContract = initContract().router(\n {\n createAttribute: {\n method: 'POST',\n path: '',\n body: CreateAttributeSchema,\n responses: {\n 201: DefaultSuccessResponseSchema.extend({\n attribute: AttributeSchema,\n }),\n 500: DefaultErrorResponseSchema,\n },\n headers: DefaultHeaderSchema,\n },\n getAttributes: {\n method: 'GET',\n path: '',\n query: GetAttributesSchema,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n attributes: z.array(AttributeSchema),\n }),\n 500: DefaultErrorResponseSchema,\n },\n headers: DefaultHeaderSchema,\n },\n updateAttribute: {\n method: 'PATCH',\n path: '/:id',\n pathParams: z.object({ id: z.string() }),\n body: UpdateAttributeSchema,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n attribute: AttributeSchema,\n }),\n 500: DefaultErrorResponseSchema,\n },\n headers: DefaultHeaderSchema,\n },\n changeVisibility: {\n method: 'PATCH',\n path: '/visibility/:id',\n pathParams: z.object({ id: z.string() }),\n body: z.object({ isVisible: z.boolean() }),\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n message: z.string().optional(),\n }),\n 500: DefaultErrorResponseSchema,\n },\n headers: DefaultHeaderSchema,\n },\n changeRequired: {\n method: 'PATCH',\n path: '/required/:id',\n pathParams: z.object({ id: z.string() }),\n body: z.object({ isRequired: z.boolean() }),\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n message: z.string().optional(),\n }),\n 500: DefaultErrorResponseSchema,\n },\n headers: DefaultHeaderSchema,\n },\n updatePosition: {\n // To avoid conflict with updateAttribute, I used \"POST\" here.\n method: 'POST',\n path: '/position',\n body: UpdatePositionSchema,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n message: z.string().optional(),\n }),\n 500: DefaultErrorResponseSchema,\n },\n headers: DefaultHeaderSchema,\n },\n deleteAttribute: {\n method: 'DELETE',\n path: '/:id',\n pathParams: z.object({ id: z.string() }),\n body: z.any().optional(),\n responses: {\n 200: DefaultSuccessResponseSchema.extend({ message: z.string() }),\n 500: DefaultErrorResponseSchema,\n },\n headers: DefaultHeaderSchema,\n },\n },\n {\n pathPrefix: 'attributes',\n },\n);\n","import z from 'zod';\n\nexport const DefaultHeaderSchema = z\n .object({\n // biome-ignore lint/style/useNamingConvention: <explanation>\n 'x-tenant': z.string({ required_error: 'Tenant id is required' }),\n authorization: z.string(),\n })\n .optional()\n .nullable();\n\n//#region default entity schema\nexport const DefaultEntitySchema = z.object({\n id: z.string().uuid(),\n createdAt: z.date(),\n updatedAt: z.date(),\n deletedAt: z.date().nullable(),\n});\n//#endregion\n\n//#region Default Query Params\nexport const DefaultQueryParamsSchema = z.object({\n page: z.coerce.number().positive().default(1),\n pageSize: z.coerce.number().positive().default(10),\n});\n//#endregion\n\n// #region base response schema\nexport const DefaultSuccessResponseSchema = z.object({\n requestId: z.string(),\n});\n\nexport const DefaultErrorResponseSchema = z.object({\n message: z.string(),\n error: z.any(),\n});\n\nexport const DefaultNotFoundSchema = DefaultErrorResponseSchema;\n\nexport const DefaultUnprocessibleSchema = DefaultErrorResponseSchema;\n\nexport const DefaultUnauthorizedSchema = DefaultErrorResponseSchema;\nexport const DefaultResponses = {\n 401: DefaultUnauthorizedSchema,\n 404: DefaultNotFoundSchema,\n 422: DefaultUnprocessibleSchema,\n};\n// #endregion\n","import z from 'zod';\nimport { DefaultEntitySchema } from '../base-contract';\n\nexport const AttributeTypeSchema = z.union([\n z.literal('text'),\n z.literal('textarea'),\n z.literal('date'),\n z.literal('select'),\n z.literal('link'),\n z.literal('attachment'),\n]);\n\nexport const AttributeOptionSchema = z.object({\n label: z.string(),\n value: z.string(),\n isDefault: z.boolean(),\n position: z.number(),\n});\n\nconst AttributeGroupSchema = DefaultEntitySchema.extend({\n systemName: z.string(),\n displayName: z.string(),\n});\n\nexport const AttributeSchema = DefaultEntitySchema.extend({\n systemName: z.string(),\n displayName: z.string(),\n type: AttributeTypeSchema,\n position: z.number(),\n isDefault: z.boolean(),\n isArchived: z.boolean(),\n isRequired: z.boolean(),\n isUnique: z.boolean(),\n options: z.array(AttributeOptionSchema.extend({ id: z.string() })),\n group: AttributeGroupSchema,\n});\n","import { z } from 'zod';\nimport { AttributeOptionSchema, AttributeTypeSchema } from './schema';\n\nexport const CreateAttributeSchema = z.object({\n name: z.string(),\n type: AttributeTypeSchema,\n isRequired: z.boolean(),\n isVisible: z.boolean(),\n group: z.string(),\n options: z.array(AttributeOptionSchema),\n});\n\nexport const GetAttributesSchema = z.object({\n group: z.string(),\n visibleOnly: z.boolean().default(false),\n});\n\nexport const UpdateAttributeSchema = CreateAttributeSchema;\n\nexport const UpdatePositionSchema = z.object({\n attributes: z.array(\n z.object({\n // To update the attribute position, the backend need the IDs and the positions.\n attributeId: z.string(),\n position: z.number(),\n }),\n ),\n});\n","import { initContract } from '@ts-rest/core';\nimport { z } from 'zod';\nimport {\n DefaultHeaderSchema,\n DefaultNotFoundSchema,\n DefaultSuccessResponseSchema,\n DefaultUnauthorizedSchema,\n DefaultUnprocessibleSchema,\n} from '../base-contract';\nimport { UserSchema } from '../user/schema';\n\nexport const authContract = initContract().router(\n {\n refreshToken: {\n method: 'POST',\n path: '/refresh-token',\n headers: DefaultHeaderSchema,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n accessToken: z.string(),\n refreshToken: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 404: DefaultNotFoundSchema,\n 422: DefaultUnprocessibleSchema,\n },\n body: null,\n summary: 'Refresh token',\n },\n\n exchangeToken: {\n method: 'POST',\n path: '/exchange-token',\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n accessToken: z.string(),\n refreshToken: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 404: DefaultNotFoundSchema,\n 422: DefaultUnprocessibleSchema,\n },\n body: null,\n headers: DefaultHeaderSchema,\n summary: 'Exchange jwt token',\n },\n\n logout: {\n method: 'POST',\n path: '/logout',\n headers: DefaultHeaderSchema,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 404: DefaultNotFoundSchema,\n 422: DefaultUnprocessibleSchema,\n },\n body: null,\n summary: 'Logout',\n },\n\n me: {\n method: 'GET',\n path: '/me',\n headers: DefaultHeaderSchema,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n user: UserSchema,\n }),\n 401: DefaultUnauthorizedSchema,\n 404: DefaultNotFoundSchema,\n 422: DefaultUnprocessibleSchema,\n },\n summary: 'Get current user',\n },\n\n getAuthUserRole: {\n method: 'GET',\n path: '/user/role',\n headers: DefaultHeaderSchema,\n responses: {\n 200: z.array(z.string()),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n },\n summary: 'Get role by auth user which mean current login user roles',\n },\n },\n { pathPrefix: 'auth' },\n);\n","import z from 'zod';\nimport { ExtensionSchema } from '../extension/schema';\nimport { RoleSchema } from '../role/schema';\n\nexport const UserSchema = z.object({\n id: z.string().uuid(),\n createdAt: z.date(),\n updatedAt: z.date(),\n deletedAt: z.date().nullable(),\n name: z.string(),\n email: z.string().email(),\n emailVerifiedAt: z.date().nullable(),\n password: z.string(),\n address: z.string().nullable(),\n phone: z.string().nullable(),\n notificationCount: z.number().nullable(),\n roles: z.array(RoleSchema),\n extension: ExtensionSchema.optional(),\n});\n","import z from 'zod';\n\nexport const ExtensionSchema = z.object({\n id: z.string().uuid(),\n createdAt: z.date(),\n updatedAt: z.date(),\n deletedAt: z.date().nullable(),\n userId: z.string().nullable(),\n sipServerUrl: z.string(),\n sipUserName: z.string(),\n extensionId: z.coerce.number(),\n extensionName: z.string(),\n telephonySignature: z.string().nullable(),\n});\n","import z from 'zod';\nimport { PermissionSchema } from '../permission/schema';\n\nexport const RoleSchema = z.object({\n id: z.string().uuid(),\n createdAt: z.date(),\n updatedAt: z.date(),\n deletedAt: z.date().nullable(),\n systemName: z.string(),\n displayName: z.string(),\n description: z.string().nullable(),\n permissions: z.array(PermissionSchema),\n});\n","import z from 'zod';\n\nexport const PermissionSchema = z.object({\n id: z.string().uuid(),\n createdAt: z.date(),\n updatedAt: z.date(),\n deletedAt: z.date().nullable(),\n systemName: z.string(),\n displayName: z.string(),\n description: z.string().nullable(),\n});\n","import { initContract } from '@ts-rest/core';\nimport {\n DefaultErrorResponseSchema,\n DefaultResponses,\n DefaultSuccessResponseSchema,\n} from '../base-contract';\nimport { AwsContractsValidationSchema } from './validation';\n\nexport const awsContract = initContract().router(\n {\n generatePresignedUrl: {\n method: 'POST',\n path: '/presigned-url',\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: AwsContractsValidationSchema.generatePresignedUrl.output,\n }),\n ...DefaultResponses,\n 500: DefaultErrorResponseSchema,\n },\n body: AwsContractsValidationSchema.generatePresignedUrl.input,\n summary: 'Generate a presigned url',\n },\n generateSignedUrl: {\n method: 'POST',\n path: '/signed-url',\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: AwsContractsValidationSchema.generateSignedUrl.output,\n }),\n ...DefaultResponses,\n 500: DefaultErrorResponseSchema,\n },\n body: AwsContractsValidationSchema.generateSignedUrl.input,\n summary: 'Generate a signed url using file key',\n },\n },\n {\n pathPrefix: 'aws/s3',\n },\n);\n","import z from 'zod';\n\nexport const AwsContractsValidationSchema = {\n generatePresignedUrl: {\n input: z.object({\n fileName: z.string(),\n fileType: z.string(),\n moduleName: z.string(),\n }),\n output: z.object({\n fileName: z.string(),\n fileKey: z.string(),\n bucketName: z.string(),\n url: z.string(),\n cfUrl: z.string().nullable(),\n }),\n },\n generateSignedUrl: {\n input: z.object({\n fileKey: z.string(),\n }),\n output: z.object({\n url: z.string(),\n }),\n },\n};\n\nexport type GeneratePresignedUrlQuery = z.infer<\n typeof AwsContractsValidationSchema.generatePresignedUrl.input\n>;\n\nexport type GeneratePresignedUrlResponse = z.infer<\n typeof AwsContractsValidationSchema.generatePresignedUrl.output\n>;\n\nexport type GenerateSignedUrlQuery = z.infer<\n typeof AwsContractsValidationSchema.generateSignedUrl.input\n>;\n\nexport type GenerateSignedUrlResponse = z.infer<\n typeof AwsContractsValidationSchema.generateSignedUrl.output\n>;\n","import { initContract } from '@ts-rest/core';\nimport z from 'zod';\nimport { WithPagination } from '../../utils';\nimport {\n DefaultErrorResponseSchema,\n DefaultHeaderSchema,\n DefaultSuccessResponseSchema,\n} from '../base-contract';\nimport { CategoryLevelObjectSchema, CategorySchema } from './schema';\nimport {\n CreateCategoryLevelSchema,\n CreateCategorySchema,\n UpdateCategoryLevelSchema,\n UpdateCategorySchema,\n} from './validation';\n\n// Request types\nexport type CreateCategoryRequest = z.infer<typeof CreateCategorySchema>;\nexport type UpdateCategoryRequest = z.infer<typeof UpdateCategorySchema>;\nexport type Category = z.infer<typeof CategorySchema>;\nexport type CategoryLevel = z.infer<typeof CategoryLevelObjectSchema>;\n\nexport type CreateCategoryLevelRequest = z.infer<\n typeof CreateCategoryLevelSchema\n>;\nexport type UpdateCategoryLevelRequest = z.infer<\n typeof UpdateCategoryLevelSchema\n>;\n\nexport const categoryContract = initContract().router(\n {\n createCategory: {\n method: 'POST',\n path: '',\n headers: DefaultHeaderSchema,\n body: CreateCategorySchema,\n responses: {\n 201: DefaultSuccessResponseSchema.extend({\n category: CategorySchema,\n }),\n 500: DefaultErrorResponseSchema,\n },\n },\n getCategories: {\n method: 'GET',\n path: '',\n query: z\n .object({\n page: z.coerce.number(),\n pageSize: z.coerce.number(),\n })\n .partial()\n .optional(),\n headers: DefaultHeaderSchema,\n responses: {\n 200: WithPagination(CategorySchema),\n 500: DefaultErrorResponseSchema,\n },\n },\n updateCategory: {\n method: 'PATCH',\n path: '/:id',\n pathParams: z.object({ id: z.string() }),\n headers: DefaultHeaderSchema,\n body: UpdateCategorySchema,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({ category: CategorySchema }),\n 500: DefaultErrorResponseSchema,\n },\n },\n deleteCategory: {\n method: 'DELETE',\n path: '/:id',\n pathParams: z.object({ id: z.string() }),\n headers: DefaultHeaderSchema,\n body: z.any().optional(),\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n message: z.string().optional(),\n }),\n 500: DefaultErrorResponseSchema,\n },\n },\n createCategoryLevel: {\n method: 'POST',\n path: '/level',\n headers: DefaultHeaderSchema,\n body: CreateCategoryLevelSchema,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n categoryLevel: CategoryLevelObjectSchema,\n }),\n 500: DefaultErrorResponseSchema,\n },\n },\n getCategoryLevels: {\n method: 'GET',\n path: '/level',\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: z.array(CategoryLevelObjectSchema),\n }),\n 500: DefaultErrorResponseSchema,\n },\n },\n updateCategoryLevel: {\n method: 'PATCH',\n path: '/level/:id',\n pathParams: z.object({ id: z.string() }),\n headers: DefaultHeaderSchema,\n body: UpdateCategoryLevelSchema,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n categoryLevel: CategoryLevelObjectSchema,\n }),\n 500: DefaultErrorResponseSchema,\n },\n },\n },\n {\n pathPrefix: 'categories',\n },\n);\n","import { z } from 'zod';\n\nexport const PaginationSchema = z.object({\n page: z.number().default(1),\n pageSize: z.number().default(10),\n total: z.number(),\n lastPage: z.number().optional().nullable(),\n});\n\nexport const WithPagination = <T>(dataSchema: z.ZodSchema<T>) => {\n return PaginationSchema.extend({\n data: z.array(dataSchema),\n });\n};\n","import { z } from 'zod';\nimport { DefaultEntitySchema } from '../base-contract';\n\n// We allow only 3 levels.\nexport const CategoryLevelSchema = z.union([\n z.literal(1),\n z.literal(2),\n z.literal(3),\n]);\n\nexport const CategorySchema = DefaultEntitySchema.extend({\n value: z.string(),\n level: CategoryLevelSchema,\n parentId: z.string().nullable(),\n childCategoryList: z.array(\n z.object({\n id: z.string(),\n value: z.string(),\n level: CategoryLevelSchema,\n parentId: z.string().nullable(),\n childCategoryList: z.array(\n z.object({\n id: z.string(),\n value: z.string(),\n level: CategoryLevelSchema,\n parentId: z.string().nullable(),\n childCategoryList: z.array(z.any()), // This is an empty array.\n }),\n ),\n }),\n ),\n});\n\nexport const CategoryLevelObjectSchema = z.object({\n id: z.string(),\n name: z.string(),\n level: CategoryLevelSchema,\n});\n","import { z } from 'zod';\nimport { CategoryLevelSchema } from './schema';\n\nexport const CreateCategorySchema = z.object({\n value: z.string(),\n level: CategoryLevelSchema,\n parentId: z.string().nullable(),\n});\n\nexport const UpdateCategorySchema = z.object({ value: z.string() });\n\nexport const CreateCategoryLevelSchema = z.object({\n name: z.string(),\n level: CategoryLevelSchema,\n});\n\nexport const UpdateCategoryLevelSchema = z.object({\n name: z.string(),\n level: CategoryLevelSchema,\n});\n","import { initContract } from '@ts-rest/core';\nimport z from 'zod';\nimport {\n DefaultErrorResponseSchema,\n DefaultHeaderSchema,\n DefaultSuccessResponseSchema,\n} from '../base-contract';\nimport { ChannelSchema } from './schema';\nimport { ConnectChannelSchema } from './validation';\n\nexport type ConnectChannelRequest = z.TypeOf<typeof ConnectChannelSchema>;\n\nexport const channelContract = initContract().router(\n {\n connectChannel: {\n method: 'POST',\n path: '/connect',\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n channel: ChannelSchema,\n }),\n 408: DefaultErrorResponseSchema,\n },\n body: ConnectChannelSchema,\n summary: 'Connect message channel',\n },\n\n getChannels: {\n method: 'GET',\n path: '/channels',\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n channels: ChannelSchema,\n }),\n },\n summary: 'Get Channels',\n },\n },\n {\n baseHeaders: DefaultHeaderSchema,\n },\n);\n","import z from 'zod';\nimport { DefaultEntitySchema } from '../base-contract';\nimport { UserSchema } from '../user/schema';\n\n/**\n * Channel Types Enum\n */\nexport const ChannelTypeSchema = z.enum([\n 'whatsapp',\n 'messenger',\n 'telegram',\n 'line',\n 'viber',\n 'kakao',\n 'shopee',\n 'lazada',\n]);\n\n/**\n * Channel Status Type Enum\n */\nexport const ChannelStatusTypeSchema = z.union([\n z.literal(1), // on\n z.literal(0), // off\n]);\n\n/**\n * Channel metadata\n */\nexport const ChannelMetadataSchema = z.object({\n id: z.string(),\n name: z.string(),\n accessToken: z.string(),\n additionalCredentials: z.any().optional(),\n});\n\n/**\n * Connect channel schema\n */\nexport const ChannelSchema = DefaultEntitySchema.extend({\n name: z.string(),\n type: ChannelTypeSchema,\n metadata: ChannelMetadataSchema,\n brandName: z.string(),\n platformId: z.string().uuid(),\n status: ChannelStatusTypeSchema,\n isReloginRequired: z.boolean(),\n connectedUserName: z.string(),\n connectedUserId: z.string(),\n actor: UserSchema,\n})\n .partial()\n .optional();\n","import z from 'zod';\nimport { UserSchema } from '../user/schema';\nimport { ChannelMetadataSchema, ChannelTypeSchema } from './schema';\n\nexport const ConnectChannelSchema = z.object({\n name: z.string(),\n type: ChannelTypeSchema,\n metadata: ChannelMetadataSchema,\n platformId: z.string(),\n brandName: z.string(),\n connectedUserName: z.string(),\n connectedUserId: z.string(),\n actor: UserSchema,\n});\n","import { initContract } from '@ts-rest/core';\nimport z from 'zod';\nimport {\n DefaultErrorResponseSchema,\n DefaultHeaderSchema,\n DefaultSuccessResponseSchema,\n DefaultUnauthorizedSchema,\n} from '../base-contract';\nimport { ContactSchema } from '../contact/schema';\nimport {\n MessageSchema,\n RoomSchema,\n UnreadCountsByAssigneeSchema,\n} from './schema';\nimport {\n GetRoomsSchema,\n SearchRoomsSchema,\n SendMessageSchema,\n SendMessageToPlatformSchema,\n SolveRoomSchema,\n UpdateAssigneeSchema,\n UpdateRoomAttributesSchema,\n UpdateRoomTagsAndNotesSchema,\n} from './validation';\n\nexport type GetRoomRequest = z.infer<typeof GetRoomsSchema>;\nexport type UpdateRoomAttributesRequest = z.infer<\n typeof UpdateRoomAttributesSchema\n>;\nexport type UpdateRoomTagsAndNotesRequest = z.infer<\n typeof UpdateRoomTagsAndNotesSchema\n>;\nexport type SendMessageRequest = z.infer<typeof SendMessageSchema>;\nexport type SolveRoomRequest = z.infer<typeof SolveRoomSchema>;\nexport type UpdateAssigneeRequest = z.infer<typeof UpdateAssigneeSchema>;\nexport type SearchRoomsRequest = z.infer<typeof SearchRoomsSchema>;\nexport type SendMessageToPlatformRequest = z.infer<typeof SendMessageToPlatformSchema>\n\nexport const mainChatContract = initContract().router(\n {\n getRooms: {\n method: 'GET',\n path: '/rooms',\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n total: z.number(),\n page: z.number(),\n pageSize: z.number(),\n data: z.array(RoomSchema),\n unreadCountsByAssignee: z.array(UnreadCountsByAssigneeSchema),\n }),\n 401: DefaultUnauthorizedSchema,\n },\n query: GetRoomsSchema,\n summary: 'Get rooms',\n },\n\n getRoomContact: {\n method: 'GET',\n path: '/contact/:contactId',\n pathParams: z.object({\n contactId: z.string().uuid(),\n }),\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: ContactSchema,\n }),\n },\n summary: 'Get Contacts',\n },\n\n updateRoomAttributes: {\n method: 'PUT',\n path: '/room',\n body: UpdateRoomAttributesSchema,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: RoomSchema,\n }),\n },\n summary: 'Update room attributes',\n },\n\n updateRoomTagsAndNotes: {\n method: 'PATCH',\n path: '/room/:roomId',\n body: UpdateRoomAttributesSchema,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: RoomSchema,\n }),\n },\n summary: 'Update room tags and notes',\n },\n\n sendMessage: {\n method: 'POST',\n path: '/message',\n body: SendMessageSchema,\n responses: {\n 200: null,\n },\n summary: 'Send message to room',\n },\n\n getMessages: {\n method: 'GET',\n path: '/message/:roomId',\n pathParams: z.object({\n roomId: z.string().uuid(),\n }),\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: z.array(MessageSchema),\n }),\n },\n summary: 'Get messages',\n },\n\n solveRoom: {\n method: 'POST',\n path: '/room/solve',\n body: SolveRoomSchema,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: RoomSchema.extend({\n solveMessage: z.string(),\n }),\n }),\n 409: DefaultErrorResponseSchema,\n },\n summary: 'Solve room',\n },\n\n updateAssignee: {\n method: 'POST',\n path: '/room/assignee/update',\n body: UpdateAssigneeSchema,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: RoomSchema,\n }),\n },\n summary: 'Update room assignee',\n },\n\n getRoom: {\n method: 'GET',\n path: '/room/:roomId',\n pathParams: z.object({\n roomId: z.string().uuid(),\n }),\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: RoomSchema,\n }),\n 404: DefaultErrorResponseSchema,\n },\n summary: 'Get Room by id',\n },\n\n createRoom: {\n method: 'POST',\n path: '/room/create/:roomid',\n pathParams: z.object({\n roomId: z.string().uuid(),\n }),\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: RoomSchema.extend({\n contact: ContactSchema,\n openMessage: z.string(),\n }),\n }),\n },\n body: null,\n summary: 'Create new latest room by room id',\n },\n\n readRoom: {\n method: 'POST',\n path: '/room/:roomid/read',\n pathParams: z.object({\n roomId: z.string().uuid(),\n }),\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: RoomSchema.extend({\n description: z.string().nullable(),\n }),\n }),\n },\n body: null,\n summary: 'Read room messages by room id',\n },\n\n searchRooms: {\n method: 'GET',\n path: '/search',\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n total: z.number(),\n page: z.number(),\n pageSize: z.number(),\n data: z.array(RoomSchema),\n }),\n },\n query: SearchRoomsSchema,\n summary: 'Search Rooms',\n },\n },\n {\n baseHeaders: DefaultHeaderSchema,\n pathPrefix: 'chat'\n },\n);\n","import z from 'zod';\nimport { DefaultEntitySchema } from '../base-contract';\nimport { TagSchema } from '../tag/schema';\nimport { CompanySchema } from '../company/schema';\nimport { AttributeSchema } from '../attribute/schema';\nimport { UploadSchema } from '../upload/schema';\n\nexport const ContactPhonesSchema = z.object({\n id: z.string().uuid(),\n createdAt: z.date(),\n updatedAt: z.date(),\n deletedAt: z.date().nullable(),\n phone: z.string(),\n isPrimary: z.boolean(),\n});\n\nexport const ContactEmailsSchema = z.object({\n id: z.string().uuid(),\n createdAt: z.date(),\n updatedAt: z.date(),\n deletedAt: z.date().nullable(),\n email: z.string(),\n isPrimary: z.boolean(),\n});\n\nexport const ContactCustomFieldSchema = z.object({\n id: z.string().uuid(),\n createdAt: z.date(),\n updatedAt: z.date(),\n deletedAt: z.date().nullable(),\n textValue: z.string().nullable(),\n booleanValue: z.boolean().nullable(),\n numberValue: z.number().nullable(),\n dateValue: z.date().nullable(),\n attribute: AttributeSchema.omit({ options: true, group: true }),\n uploads: z.array(\n DefaultEntitySchema.extend({\n customFieldId: z.string(),\n upload: UploadSchema,\n }),\n ),\n});\n\nexport const ContactEntityTypesSchema = z.object({\n id: z.string().uuid(),\n createdAt: z.date(),\n updatedAt: z.date(),\n deletedAt: z.date().nullable(),\n entity: z.string(),\n description: z.string().nullable(),\n});\n\nexport const ContactActivitySchema = z.object({\n id: z.string().uuid(),\n createdAt: z.date(),\n updatedAt: z.date(),\n deletedAt: z.date().nullable(),\n entityId: z.string(),\n description: z.string(),\n entityType: ContactEntityTypesSchema,\n});\n\nexport const ContactSchema = z.object({\n id: z.string().uuid(),\n createdAt: z.date(),\n updatedAt: z.date(),\n deletedAt: z.date().nullable(),\n name: z.string(),\n address: z.string().nullable(),\n channel: z.string().nullable(),\n notes: z.string().nullable(),\n contactProfile: z.string().nullable(),\n socialProfileUrl: z.string().nullable(),\n tags: z.array(TagSchema),\n company: CompanySchema.omit({ customFields: true }).nullable(),\n // room: z.array(RoomSchema).optional(),\n customFields: z.array(ContactCustomFieldSchema),\n contactEmails: z.array(ContactEmailsSchema),\n contactPhones: z.array(ContactPhonesSchema),\n activityLogs: z.array(ContactActivitySchema).optional(),\n});\n","import z from 'zod';\nimport { DefaultEntitySchema } from '../base-contract';\n\nexport const TagSchema = DefaultEntitySchema.extend({\n name: z.string(),\n});\n\nexport const TagGroupSchema = z.union([\n z.literal('general'),\n z.literal('contact'),\n]);\n","import z from 'zod';\nimport { DefaultEntitySchema } from '../base-contract';\nimport { AttributeSchema } from '../attribute/schema';\n\nconst CompanyCustomFieldSchema = DefaultEntitySchema.extend({\n textValue: z.string().nullable(),\n booleanValue: z.boolean().nullable(),\n numberValue: z.number().nullable(),\n dateValue: z.string().nullable(),\n attribute: AttributeSchema.omit({ options: true, group: true }),\n});\n\n// tempo fix for ooredoo tenant, as they will come undefined\nexport const CompanySchema = DefaultEntitySchema.extend({\n name: z.string().optional(),\n phone: z.string().nullable().optional(),\n address: z.string().nullable().optional(),\n industry: z.string().nullable().optional(),\n customFields: z.array(CompanyCustomFieldSchema).optional(),\n});\n","import z from 'zod';\nimport { DefaultEntitySchema } from '../base-contract';\n\nexport const UploadSchema = DefaultEntitySchema.extend({\n bucketName: z.string(),\n fileName: z.string(),\n fileSize: z.number(),\n fileKey: z.string(),\n});\n","import z from 'zod';\nimport { DefaultEntitySchema } from '../base-contract';\nimport { ChannelSchema, ChannelTypeSchema } from '../channel/schema';\nimport { ContactSchema } from '../contact/schema';\nimport { UploadSchema } from '../upload/schema';\nimport { UserSchema } from '../user/schema';\n\n/**\n * Directions Enum\n */\nexport const MessageDirectionTypeSchema = z.enum([\n 'incoming',\n 'outgoing',\n 'system',\n]);\n\n/**\n * Message Type Enum\n */\nexport const MessageTypeSchema = z.enum([\n 'text',\n 'image',\n 'video',\n 'audio',\n 'file',\n 'fallback',\n 'location',\n 'attachment',\n 'assign',\n 'solve',\n 'reopen',\n 'open',\n 'sticker',\n 'closed',\n 'handed_over',\n 'updated',\n 'started',\n]);\n\n/**\n * Message Type Enum\n */\nexport const MessageLocaleTypeSchema = z.enum([\n 'mm',\n 'en',\n 'th',\n]);\n\n/**\n * Channel metadata\n */\nexport const PlatformContactMetadataSchema = z.object({\n id: z.string(),\n name: z.string(),\n picture: z.string(),\n additionalCredentials: z.any(),\n});\n\n/**\n * Platform Contact\n */\nexport const PlatformContactSchema = DefaultEntitySchema.extend({\n channelId: z.string().uuid(),\n socialPlatformId: z.string().uuid(),\n platform: ChannelTypeSchema,\n metadata: PlatformContactMetadataSchema,\n contact: ContactSchema,\n});\n\n/**\n * Room\n */\nexport const RoomSchema = DefaultEntitySchema.extend({\n lastMessage: z.string(),\n handleTime: z.number(),\n isSolved: z.boolean(),\n closeAt: z.date(),\n unreadCount: z.number(),\n firstResponseTime: z.date(),\n isLatest: z.boolean(),\n direction: MessageDirectionTypeSchema,\n platformContact: PlatformContactSchema,\n actor: UserSchema,\n assignee: UserSchema,\n channel: ChannelSchema,\n});\n\n/**\n * Message\n */\nexport const MessageSchema = DefaultEntitySchema.extend({\n message: z.string(),\n direction: MessageDirectionTypeSchema,\n type: MessageTypeSchema,\n readAt: z.date(),\n metadata: z.any(),\n platformId: z.string(),\n platformMessageId: z.string(),\n replyPlatformMessageId: z.string(),\n template: z.any(),\n locale: MessageLocaleTypeSchema,\n isSent: z.boolean(),\n room: RoomSchema,\n upload: UploadSchema,\n actor: UserSchema,\n assignee: UserSchema,\n sender: UserSchema,\n});\n\n/**\n * Unread Counts\n */\nexport const UnreadCountsByAssigneeSchema = z.object({\n assigneeId: z.string(),\n totalUnreadCount: z.number(),\n});\n","import z from 'zod';\nimport { DefaultQueryParamsSchema } from '../base-contract';\nimport { CustomFieldSchema } from '../custom-field/schema';\nimport { UserSchema } from '../user/schema';\nimport { MessageDirectionTypeSchema, MessageSchema, MessageTypeSchema, RoomSchema } from './schema';\n\nexport const GetRoomsSchema = z.object({\n page: z.coerce.number().positive().default(1),\n pageSize: z.coerce.number().positive().default(20),\n contactTagIds: z.string().array().optional(),\n contactIds: z.string().array().optional(),\n agentIds: z.string().array().optional(),\n roomTagIds: z.string().array().optional(),\n keyword: z.string().optional(),\n company: z.string().array().optional(),\n channel: z.string().array().optional(),\n name: z.string().optional(),\n address: z.string().optional(),\n contactGroups: z.string().array().optional(),\n selectedDate: z.string().optional(),\n customFields: z.array(CustomFieldSchema).optional(),\n tags: z.string().array().optional(),\n phone: z.string().optional(),\n email: z.string().optional(),\n notes: z.string().optional(),\n tab: z.string().optional(),\n});\n\nexport const UpdateRoomTagsAndNotesSchema = z.object({\n notes: z.string().optional(),\n tags: z.string().array().optional(),\n});\n\nexport const UpdateRoomAttributesSchema = UpdateRoomTagsAndNotesSchema.extend({\n roomId: z.string().uuid(),\n});\n\nexport const MessageAttachmentSchema = z.object({\n bucketName: z.string(),\n fileKey: z.string(),\n fileName: z.string(),\n fileSize: z.number(),\n url: z.string(),\n fileType: MessageTypeSchema,\n thumbnailUrl: z.string().optional(),\n});\n\nexport const SendMessageSchema = z.object({\n roomId: z.string().uuid(),\n messageType: MessageTypeSchema,\n message: z.string().optional(),\n direction: MessageDirectionTypeSchema,\n messageAttachments: MessageAttachmentSchema.optional(),\n user: UserSchema.optional(),\n packageId: z.number().optional(),\n stickerId: z.number().optional(),\n});\n\nexport const SolveRoomSchema = z.object({\n roomId: z.string(),\n});\n\nexport const UpdateAssigneeSchema = SolveRoomSchema.extend({\n assigneeId: z.string().uuid(),\n});\n\nexport const SearchRoomsSchema = DefaultQueryParamsSchema.extend({\n query: z.string(),\n});\n\n\nexport const SendMessageToPlatformSchema = z.object({\n room: RoomSchema,\n message: MessageSchema,\n url: z.string().optional()\n})","import z from 'zod';\nimport { DefaultEntitySchema } from '../base-contract';\n\nexport const CustomFieldSchema = DefaultEntitySchema.extend({\n textValue: z.string().nullable(),\n booleanValue: z.boolean().nullable(),\n numberValue: z.number().nullable(),\n dateValue: z.date().nullable(),\n entityId: z.string().uuid(),\n attributeId: z.string().uuid(),\n});\n","import { initContract } from '@ts-rest/core';\nimport {\n DefaultHeaderSchema,\n DefaultNotFoundSchema,\n DefaultSuccessResponseSchema,\n DefaultUnauthorizedSchema,\n DefaultUnprocessibleSchema,\n} from '../base-contract';\nimport z from 'zod';\nimport { ContactContractValidationSchema } from './validation';\nimport { ContactSchema } from './schema';\n\nexport type CreateContactRequest = z.infer<\n typeof ContactContractValidationSchema.create.request\n>;\nexport type CreateContactResponse = z.infer<\n typeof ContactContractValidationSchema.create.response\n>;\nexport type GetAllContactRequest = z.infer<\n typeof ContactContractValidationSchema.getAll.request\n>;\n\nexport type UpdateContactRequest = Partial<CreateContactRequest>;\nexport type UpdateContactResponse = CreateContactResponse;\n\nexport type Contact = z.infer<typeof ContactSchema>;\n\nexport const contactContract = initContract().router(\n {\n create: {\n method: 'POST',\n path: '',\n responses: {\n 201: DefaultSuccessResponseSchema.extend({\n message: ContactContractValidationSchema.create.response,\n }),\n 400: z.object({\n message: z.string(),\n }),\n 409: z.object({\n message: z.string(),\n }),\n 500: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 404: DefaultNotFoundSchema,\n 422: DefaultUnprocessibleSchema,\n },\n body: ContactContractValidationSchema.create.request,\n summary: 'Create a new contact',\n },\n getById: {\n method: 'GET',\n path: '/:id',\n pathParams: ContactContractValidationSchema.getById.request,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: ContactContractValidationSchema.getById.response,\n }),\n 400: z.object({\n message: z.string(),\n }),\n 409: z.object({\n message: z.string(),\n }),\n 500: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 404: DefaultNotFoundSchema,\n 422: DefaultUnprocessibleSchema,\n },\n summary: 'Get a contact by id',\n },\n getAll: {\n method: 'GET',\n path: '',\n query: ContactContractValidationSchema.getAll.request,\n responses: {\n 200: DefaultSuccessResponseSchema.extend(\n ContactContractValidationSchema.getAll.response,\n ),\n 400: z.object({\n message: z.string(),\n }),\n 409: z.object({\n message: z.string(),\n }),\n 500: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 404: DefaultNotFoundSchema,\n 422: DefaultUnprocessibleSchema,\n },\n summary: 'Get all contacts',\n },\n update: {\n method: 'PATCH',\n path: '/:id',\n pathParams: ContactContractValidationSchema.getById.request,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: ContactContractValidationSchema.getById.response,\n }),\n 400: z.object({\n message: z.string(),\n }),\n 409: z.object({\n message: z.string(),\n }),\n 500: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 404: DefaultNotFoundSchema,\n 422: DefaultUnprocessibleSchema,\n },\n body: ContactContractValidationSchema.create.request.partial(),\n summary: 'Update a contact',\n },\n delete: {\n method: 'DELETE',\n path: '/:id',\n pathParams: ContactContractValidationSchema.delete.request,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n message: ContactContractValidationSchema.delete.response,\n }),\n 400: z.object({\n message: z.string(),\n }),\n 409: z.object({\n message: z.string(),\n }),\n 500: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 404: DefaultNotFoundSchema,\n 422: DefaultUnprocessibleSchema,\n },\n body: null,\n summary: 'Delete a contact',\n },\n },\n {\n baseHeaders: DefaultHeaderSchema,\n pathPrefix: 'contact',\n },\n);\n","import z from 'zod';\nimport { ContactSchema } from './schema';\n\nexport const BaseSchema = z.object({\n isRequired: z.boolean(),\n attributeId: z.string(),\n});\n\nconst SingleValue = {\n value: z.string(),\n};\n\nexport const ContactContractValidationSchema = {\n create: {\n request: z.object({\n name: BaseSchema.extend(SingleValue),\n email: BaseSchema.extend({\n value: z.array(\n z.object({\n email: z.string(),\n isPrimary: z.boolean(),\n }),\n ),\n }),\n channel: BaseSchema.extend(SingleValue),\n address: BaseSchema.extend(SingleValue),\n phone: BaseSchema.extend({\n value: z.array(\n z.object({\n phone: z.string(),\n isPrimary: z.boolean(),\n }),\n ),\n }).optional(),\n notes: BaseSchema.extend(SingleValue),\n tags: BaseSchema.extend({\n value: z.array(z.string()),\n }),\n company: BaseSchema.extend(SingleValue),\n customFields: z.array(\n BaseSchema.extend({\n value: z.union([z.string(), z.array(z.string())]),\n type: z.string(),\n isDefaultAttribute: z.boolean(),\n }),\n ),\n }),\n response: z.string(),\n },\n getById: {\n request: z.object({\n id: z.string().uuid(),\n }),\n response: ContactSchema,\n },\n delete: {\n request: z.object({\n id: z.string().uuid(),\n }),\n response: z.string(),\n },\n getAll: {\n request: z\n .object({\n page: z.coerce.number().default(1),\n pageSize: z.coerce.number().default(10),\n keyword: z.string().optional(),\n company: z.array(z.string().uuid()),\n name: z.string(),\n address: z.string(),\n channel: z.array(z.string()),\n selectedDate: z.string(),\n customFields: z.array(\n z.object({\n attributeId: z.string().uuid(),\n type: z.string(),\n value: z.union([z.string(), z.array(z.string())]),\n }),\n ),\n tags: z.array(z.string().uuid()),\n phone: z.string(),\n email: z.string(),\n notes: z.string(),\n })\n .partial(),\n response: {\n page: z.number(),\n pageSize: z.number(),\n total: z.number(),\n data: z.array(ContactSchema),\n },\n },\n};\n","import { initContract } from '@ts-rest/core';\nimport {\n DefaultHeaderSchema,\n DefaultSuccessResponseSchema,\n DefaultUnauthorizedSchema,\n} from '../base-contract';\nimport z from 'zod';\nimport { CxLogSchema } from './schema';\nimport { GetAllCxLogQueryParamsSchema } from './validation';\n\nexport type CXLog = z.infer<typeof CxLogSchema>;\nexport type GetAllCxLogRequest = z.infer<typeof GetAllCxLogQueryParamsSchema>;\n\nexport const cxLogContract = initContract().router({\n findAll: {\n method: 'GET',\n path: '/cx-logs',\n headers: DefaultHeaderSchema,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n total: z.number(),\n page: z.number(),\n pageSize: z.number(),\n cxLogs: z.array(CxLogSchema),\n }),\n 401: DefaultUnauthorizedSchema,\n },\n query: GetAllCxLogQueryParamsSchema,\n summary: 'Get all cx-logs',\n },\n});\n","import z from 'zod';\nimport { DefaultEntitySchema } from '../base-contract';\n\nexport const CxLogSchema = DefaultEntitySchema.extend({\n caseId: z.number(),\n entityId: z.string().uuid(),\n entityName: z.string(),\n contactId: z.string().uuid().nullable(),\n channel: z.string().nullable(),\n queueId: z.string().uuid().nullable(),\n agentId: z.string().uuid().nullable(),\n direction: z.string().nullable(),\n startedDate: z.date().nullable(),\n handledTime: z.number().nullable(),\n firstResponseTime: z.number().nullable(),\n disposition: z.string().nullable(),\n});\n","import z from 'zod';\nimport { DefaultQueryParamsSchema } from '../base-contract';\n\n//#region cx-logs query params\nconst sentimentScoreSchema = z.union([\n z.literal('positive'),\n z.literal('negative'),\n]);\n\nconst CustomFieldQueryParamsSchema = z.object({\n attributeId: z.string(),\n value: z.union([z.string(), z.array(z.string())]),\n type: z.string().optional(),\n});\n\nexport const GetAllCxLogQueryParamsSchema = DefaultQueryParamsSchema.extend({\n contactId: z.string().uuid(),\n caseId: z.string(),\n channelIds: z.array(z.string().uuid()),\n queueId: z.array(z.string()),\n agentIds: z.array(z.string()),\n direction: z.array(z.union([z.literal('inbound'), z.literal('outbound')])),\n disposition: z.array(z.string()),\n sentimentScore: z.array(sentimentScoreSchema),\n csatScore: z.string(),\n sla: z.array(z.union([z.literal('meet'), z.literal('unmeet')])),\n tags: z.array(z.string()), // General tags\n // Default contact attributes\n name: z.string(),\n contactLabels: z.array(z.string()),\n email: z.string(),\n channel: z.array(z.string()),\n phone: z.string(),\n notes: z.string(),\n address: z.string(),\n company: z.array(z.string()),\n // Custom fields\n customFields: z.array(CustomFieldQueryParamsSchema),\n // Date filter\n selectedDate: z.string(),\n})\n .partial()\n .optional();\n//#endregion\n","import { initContract } from '@ts-rest/core';\nimport z from 'zod';\nimport { WithPagination } from '../../utils';\nimport {\n DefaultErrorResponseSchema,\n DefaultHeaderSchema,\n DefaultSuccessResponseSchema,\n DefaultUnauthorizedSchema,\n} from '../base-contract';\nimport { ExtensionSchema } from './schema';\nimport { CreateExtensionSchema, UpdateExtensionSchema } from './validation';\nimport { UserSchema } from '../user/schema';\n\n// Request types\nexport type CreateExtensionRequest = z.infer<typeof CreateExtensionSchema>;\nexport type UpdateExtensionRequest = z.infer<typeof UpdateExtensionSchema>;\n\nexport const extensionContract = initContract().router(\n {\n createExtension: {\n method: 'POST',\n path: '',\n headers: DefaultHeaderSchema,\n body: CreateExtensionSchema,\n responses: {\n 201: DefaultSuccessResponseSchema.extend({\n extension: ExtensionSchema,\n }),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Create a extension.',\n },\n\n getExtensions: {\n method: 'GET',\n path: '',\n query: z\n .object({\n page: z.coerce.number().default(1),\n pageSize: z.coerce.number().default(10),\n keyword: z.string().optional(),\n })\n .optional(),\n headers: DefaultHeaderSchema,\n responses: {\n 200: WithPagination(\n // The response data should contain the user relation.\n ExtensionSchema.extend({\n user: UserSchema,\n }),\n ),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Get all extensions',\n },\n\n getExtensionByUserId: {\n method: 'GET',\n path: '/user/:userId',\n pathParams: z.object({ userId: z.string() }),\n headers: DefaultHeaderSchema,\n responses: {\n 200: ExtensionSchema,\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Get extension by user id',\n },\n\n getExtensionByDialpad: {\n method: 'GET',\n path: '/dialpad',\n query: z\n .object({\n page: z.coerce.number().default(1),\n pageSize: z.coerce.number().default(10),\n keyword: z.string().optional(),\n })\n .optional(),\n headers: DefaultHeaderSchema,\n responses: {\n 200: WithPagination(ExtensionSchema),\n 500: DefaultErrorResponseSchema,\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n },\n summary: 'Get by dialpad',\n },\n\n updateExtension: {\n method: 'PATCH',\n path: '/:id',\n pathParams: z.object({ id: z.string() }),\n headers: DefaultHeaderSchema,\n body: UpdateExtensionSchema,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n extension: ExtensionSchema,\n }),\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Update a extension.',\n },\n\n deleteExtension: {\n method: 'DELETE',\n path: '/:id',\n pathParams: z.object({ id: z.string() }),\n headers: DefaultHeaderSchema,\n body: null,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({ message: z.string() }),\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Delete a extension.',\n },\n },\n { pathPrefix: 'extension' },\n);\n\n// left getExtensionListByYeastar\n","import { z } from 'zod';\n\nexport const CreateExtensionSchema = z.object({\n userId: z.string().nullable(),\n sipUserName: z.string(),\n extensionId: z.coerce.number().nullable(),\n extensionName: z.string().nullable(),\n telephonySignature: z.string().nullable().optional(),\n});\n\nexport const UpdateExtensionSchema = CreateExtensionSchema;\n","import { initContract } from '@ts-rest/core';\nimport z from 'zod';\nimport { DefaultErrorResponseSchema, DefaultSuccessResponseSchema } from '../base-contract';\nimport { ConnectLineSchema } from './schema';\nimport { SendLineStickerSchema } from './validation';\n\nexport type SendLineStickerRequest = z.infer<typeof SendLineStickerSchema>\n\nexport const lineContract = initContract().router({\n sendSticker: {\n method: \"POST\",\n path: 'sticker',\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: z.any()\n }),\n 500: DefaultErrorResponseSchema\n },\n body: SendLineStickerSchema,\n summary: \"Send sticker to LINE\",\n },\n\n connect: {\n method: \"POST\",\n path: 'connect',\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: z.any()\n }),\n 500: DefaultErrorResponseSchema\n },\n body: ConnectLineSchema,\n summary: \"Connect to LINE channel\",\n }\n})\n","import z from 'zod';\n\nexport const ConnectLineSchema = z.object({\n id: z.string(),\n accessToken: z.string()\n});","import z from 'zod';\n\n// #send sticker payload\nexport const SendLineStickerSchema = z.object({\n userId: z.string().uuid(),\n packageId: z.string(),\n stickerId: z.string(),\n accessToken: z.string(),\n})\n","import { initContract } from '@ts-rest/core';\nimport { DefaultSuccessResponseSchema } from '../base-contract';\nimport z from 'zod';\n\nexport const emailEngineWebhooksEventsContract = initContract().router({\n handleWebhooksEvents: {\n method: 'POST',\n path: '/email_engine/webhooks',\n // we don't need to respone anything but added responses just for solving type error\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n message: z.string(),\n }),\n },\n body: null,\n summary:\n 'Handle email engine webhooks events such as authenticationSuccess, messageNew',\n },\n});\n","import { initContract } from '@ts-rest/core';\nimport { roomContract } from './room-contract';\nimport { accountContract } from './account-contract';\nimport { serverContract } from './mail-server-contract';\nimport { messageContract } from './message-contract';\n\nexport const mailContract = initContract().router({\n room: roomContract,\n message: messageContract,\n account: accountContract,\n server: serverContract,\n});\n","import { initContract } from '@ts-rest/core';\nimport z from 'zod';\nimport {\n AttachmentSchema,\n MailRoomSchema,\n MailUserSchema,\n} from './schemas/room.schema';\nimport {\n DefaultSuccessResponseSchema,\n DefaultResponses,\n} from '../base-contract';\n\nexport const roomContract = initContract().router(\n {\n create: {\n method: 'POST',\n path: '/',\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n message: z.string(),\n }),\n ...DefaultResponses,\n },\n body: null,\n summary: 'Create a new room for new incoming mail',\n },\n getAll: {\n method: 'GET',\n path: '',\n query: z.object({\n page: z.coerce.number().default(1),\n pageSize: z.coerce.number().default(10),\n keyword: z.string().optional(),\n assigneeId: z.string().uuid().optional().nullable(),\n resolved: z\n .boolean()\n .or(z.string().transform((value) => value.toLowerCase() === 'true'))\n .optional()\n .nullable(),\n }),\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: z.array(MailRoomSchema),\n total: z.number(),\n page: z.number(),\n pageSize: z.number(),\n }),\n ...DefaultResponses,\n },\n summary: 'Get mail rooms',\n },\n getById: {\n method: 'GET',\n path: '/:id',\n pathParams: z.object({\n id: z.string().uuid(),\n }),\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: MailRoomSchema,\n }),\n ...DefaultResponses,\n },\n summary: 'Get a mail room by id',\n },\n getAttachments: {\n method: 'GET',\n path: '/:id/attachments',\n pathParams: z.object({\n id: z.string().uuid(),\n }),\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: z.array(AttachmentSchema),\n }),\n ...DefaultResponses,\n },\n summary: 'Get all the attachments of a room',\n },\n getParticipants: {\n method: 'GET',\n path: '/:id/participants',\n pathParams: z.object({\n id: z.string().uuid(),\n }),\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: z.array(MailUserSchema),\n }),\n ...DefaultResponses,\n },\n summary: 'Get all the attachments of a room',\n },\n update: {\n method: 'PATCH',\n path: '/:id',\n pathParams: z.object({\n id: z.string(),\n }),\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: MailRoomSchema,\n }),\n ...DefaultResponses,\n },\n body: z.object({\n resolved: z\n .boolean()\n .or(\n z\n .union([z.literal('true'), z.literal('false')])\n .transform((value) => value.toLowerCase() === 'true'),\n )\n .optional()\n .nullable(),\n assigneeId: z.string().uuid().optional().nullable(),\n note: z.string().optional(),\n tags: z.array(z.string().uuid()).optional(),\n handover: z\n .boolean()\n .or(\n z\n .union([z.literal('true'), z.literal('false')])\n .transform((value) => value.toLowerCase() === 'true'),\n )\n .optional()\n .nullable(),\n }),\n summary: 'Update a mail room by id',\n },\n\n markAsRead: {\n method: 'GET',\n path: '/:id',\n pathParams: z.object({\n id: z.string().uuid(),\n }),\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n message: z.string(),\n }),\n ...DefaultResponses,\n },\n summary: 'Mark all the un read messages as read',\n },\n },\n {\n pathPrefix: 'mail/room',\n },\n);\n","import z from 'zod';\nimport { MailAccountSchema } from './account.schema';\nimport { UploadSchema } from '../../upload/schema';\nimport { MessageSchema } from './message.schema';\n\nexport const MailUserSchema = z.object({\n id: z.string(),\n createdAt: z.date(),\n updatedAt: z.date(),\n deletedAt: z.date().nullable(),\n name: z.string(),\n address: z.string(),\n});\n\nexport const TagSchema = z.object({\n color: z.string(),\n id: z.string(),\n createdAt: z.date(),\n updatedAt: z.date(),\n deletedAt: z.date().nullable(),\n name: z.string(),\n});\n\nexport const UserModel = z.object({\n id: z.string().uuid(),\n createdAt: z.date(),\n updatedAt: z.date(),\n deletedAt: z.date().nullable(),\n name: z.string(),\n email: z.string(),\n address: z.string().nullable(),\n phone: z.string().nullable(),\n notification_count: z.number().nullable(),\n});\n\nconst ActivityLogModel = z.object({\n id: z.string(),\n createdAt: z.string(),\n updatedAt: z.string(),\n deletedAt: z.nullable(z.string()),\n description: z.string(),\n actorId: z.string(),\n roomId: z.string(),\n actor: UserModel,\n});\n\nconst MessagesAndLogs = z.array(z.union([MessageSchema, ActivityLogModel]));\n\nexport const MailRoomSchema = z.object({\n id: z.string(),\n createdAt: z.date(),\n updatedAt: z.date(),\n deletedAt: z.date().nullable(),\n subject: z.string(),\n resolved: z.boolean(),\n assigneeId: z.string().nullable(),\n note: z.string(),\n mailId: z.string(),\n direction: z.string(),\n lastMessageId: z.string(),\n firstMessageId: z.string(),\n from: z.array(MailUserSchema),\n to: z.array(MailUserSchema),\n cc: z.array(MailUserSchema),\n bcc: z.array(MailUserSchema),\n firstMessage: MessageSchema,\n lastMessage: MessageSchema,\n tags: z.array(TagSchema),\n assignee: UserModel,\n messages: z.array(MessageSchema),\n messagesAndLogs: MessagesAndLogs,\n mail: MailAccountSchema,\n unReadMessageCount: z.number(),\n});\n\nexport const AttachmentSchema = z.object({\n fileName: z.string(),\n fileType: z.string(),\n emailEngineAttachmentId: z.string(),\n uploadId: z.string(),\n messageId: z.string(),\n roomId: z.string(),\n upload: UploadSchema,\n});\n","import z from 'zod';\n\nexport const MailServerSchema = z.object({\n id: z.string(),\n createdAt: z.date(),\n updatedAt: z.date(),\n deletedAt: z.date().nullable(),\n name: z.string(),\n smtpHost: z.string(),\n smtpPort: z.string(),\n smtpTlsPort: z.string(),\n useTlsForSmtp: z.boolean(),\n imapHost: z.string(),\n imapPort: z.string(),\n imapTlsPort: z.string(),\n useTlsForImap: z.boolean(),\n});\n\nexport const MailAccountSchema = z.object({\n id: z.string(),\n createdAt: z.date(),\n updatedAt: z.date(),\n deletedAt: z.date().nullable(),\n name: z.string(),\n address: z.string(),\n accountId: z.string(),\n mailServerId: z.string(),\n mailServer: MailServerSchema,\n state: z.union([\n z.literal('init'),\n z.literal('syncing'),\n z.literal('connecting'),\n z.literal('connected'),\n z.literal('disconnected'),\n z.literal('authenticationError'),\n z.literal('connectError'),\n z.literal('unset'),\n ]),\n});\n","import z from 'zod';\nimport { MailUserSchema } from './room.schema';\n\nconst AttachmentSchema = z.object({\n id: z.string(),\n createdAt: z.date(),\n updatedAt: z.date(),\n deletedAt: z.nullable(z.date()),\n roomId: z.string(),\n messageId: z.string(),\n fileName: z.string(),\n fileType: z.string(),\n emailEngineAttachmentId: z.string(),\n uploadId: z.string(),\n upload: z.object({\n id: z.string(),\n createdAt: z.date(),\n updatedAt: z.date(),\n deletedAt: z.nullable(z.date()),\n bucket_name: z.string(),\n file_name: z.string(),\n file_key: z.string(),\n file_size: z.number(),\n file_url: z.string(),\n extension_name: z.string(),\n }),\n});\nexport const MessageSchema = z.object({\n id: z.string(),\n createdAt: z.date(),\n updatedAt: z.date(),\n deletedAt: z.nullable(z.date()),\n roomId: z.string(),\n subject: z.string(),\n textPlain: z.string(),\n textHtml: z.string(),\n textId: z.string(),\n emailEngineEmailId: z.string(),\n emailEngineMessageId: z.string(),\n emailEngineReplyTo: z.nullable(z.string()),\n direction: z.string(),\n date: z.date(),\n action: z.string(),\n unseen: z.boolean(),\n seemsLikeNew: z.boolean(),\n from: z.array(MailUserSchema),\n to: z.array(MailUserSchema),\n cc: z.array(MailUserSchema),\n bcc: z.array(MailUserSchema),\n attachments: z.array(AttachmentSchema),\n});\n","import { initContract } from '@ts-rest/core';\nimport z from 'zod';\nimport {\n DefaultHeaderSchema,\n DefaultResponses,\n DefaultSuccessResponseSchema,\n} from '../base-contract';\nimport { AccountContractsValidationSchemas } from './schemas/account-validation.schema';\n\nexport const accountContract = initContract().router(\n {\n //#region ........register account\n create: {\n method: 'POST',\n path: '',\n responses: {\n 201: DefaultSuccessResponseSchema.extend({\n // data: AccountContractsValidationSchemas.create.output,\n message: z.string(),\n }),\n 400: z.object({\n message: z.string(),\n }),\n 409: z.object({\n message: z.string(),\n }),\n 500: z.object({\n message: z.string(),\n }),\n ...DefaultResponses,\n },\n body: AccountContractsValidationSchemas.create.input,\n summary: 'Register a new mail account',\n },\n //#endregion register account\n\n //#region ........get account\n getById: {\n method: 'GET',\n path: '/:id',\n pathParams: AccountContractsValidationSchemas.getById.input,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: AccountContractsValidationSchemas.getById.output,\n }),\n ...DefaultResponses,\n },\n summary: 'Get a account by id',\n },\n //#endregion get account\n\n //#region ........get all account\n //TODO: add pagination parameters\n getAll: {\n method: 'GET',\n path: '',\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: z.any(),\n // data: AccountContractsValidationSchemas.getAll.output,\n }),\n ...DefaultResponses,\n },\n summary: 'Get al accounts',\n },\n //#endregion get all accounts\n\n //#region ........update account\n update: {\n method: 'PATCH',\n path: '/:id',\n pathParams: z.object({\n id: z.string().uuid(),\n }),\n responses: {\n 201: DefaultSuccessResponseSchema.extend({\n data: AccountContractsValidationSchemas.update.output,\n }),\n\n ...DefaultResponses,\n },\n body: AccountContractsValidationSchemas.update.input.partial(),\n summary: 'Update a account by id',\n },\n //#endregion update account\n\n //#region ........disconnect account\n disconnect: {\n method: 'PATCH',\n path: '/:id/disconnect',\n pathParams: AccountContractsValidationSchemas.disconnect.input,\n responses: {\n 201: DefaultSuccessResponseSchema.extend({\n data: AccountContractsValidationSchemas.disconnect.output,\n }),\n ...DefaultResponses,\n },\n body: null,\n summary: 'Disconnect an account',\n },\n //#endregion disconnect account\n\n //#region ........reconnect account\n reconnect: {\n method: 'PATCH',\n path: '/:id/reconnect',\n pathParams: AccountContractsValidationSchemas.reconnect.input,\n responses: {\n 201: DefaultSuccessResponseSchema.extend({\n data: AccountContractsValidationSchemas.reconnect.output,\n }),\n ...DefaultResponses,\n },\n body: null,\n summary: 'Reconnect a disconncted account',\n },\n //#endregion reconnect account\n\n //#region ........delete account\n delete: {\n method: 'DELETE',\n path: '/:id',\n pathParams: AccountContractsValidationSchemas.delete.input,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n message: z.string(),\n }),\n ...DefaultResponses,\n },\n body: null,\n summary: 'Delete an account by id',\n },\n //#endregion delete account\n },\n {\n baseHeaders: DefaultHeaderSchema,\n pathPrefix: 'mail/account',\n },\n);\n","import z from 'zod';\nimport { MailAccountSchema } from './account.schema';\n\nexport const AccountContractsValidationSchemas = {\n create: {\n input: z.object({\n address: z.string().email('Email address must be valid email.'),\n name: z.string().min(1, 'Account name cannot be empty.'),\n password: z.string().min(1, 'Password cannot be empty.'),\n mailServerId: z.string().uuid('Invalid mail_server_id'),\n }),\n },\n getById: {\n input: z.object({\n id: z.string().uuid(),\n }),\n output: MailAccountSchema,\n },\n getAll: {\n output: z.array(MailAccountSchema),\n },\n update: {\n input: MailAccountSchema,\n output: MailAccountSchema,\n },\n disconnect: {\n input: z.object({\n id: z.string().uuid(),\n }),\n output: MailAccountSchema,\n },\n reconnect: {\n input: z.object({\n id: z.string(),\n }),\n output: MailAccountSchema,\n },\n delete: {\n input: z.object({\n id: z.string(),\n }),\n output: MailAccountSchema,\n },\n};\n","import { initContract } from '@ts-rest/core';\nimport z from 'zod';\nimport {\n DefaultResponses,\n DefaultSuccessResponseSchema,\n} from '../base-contract';\n\nexport const serverContract = initContract().router(\n {\n create: {\n method: 'POST',\n path: '/',\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n message: z.string(),\n }),\n ...DefaultResponses,\n },\n body: null,\n summary: 'Register a new mail server',\n },\n get: {\n method: 'GET',\n path: '/:id',\n pathParams: z.object({\n id: z.string(),\n }),\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n message: z.string(),\n }),\n ...DefaultResponses,\n },\n summary: 'Get a mail server by id',\n },\n update: {\n method: 'PATCH',\n path: '/:id',\n pathParams: z.object({\n id: z.string(),\n }),\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n message: z.string(),\n }),\n ...DefaultResponses,\n },\n body: null,\n summary: 'Update a mail server by id',\n },\n\n delete: {\n method: 'PATCH',\n path: '/:id',\n pathParams: z.object({\n id: z.string(),\n }),\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n message: z.string(),\n }),\n ...DefaultResponses,\n },\n body: null,\n summary: 'Delete a mail server by id',\n },\n },\n {\n pathPrefix: 'mail/server',\n },\n);\n","import { initContract } from '@ts-rest/core';\nimport z from 'zod';\nimport {\n DefaultErrorResponseSchema,\n DefaultResponses,\n DefaultSuccessResponseSchema,\n} from '../base-contract';\nimport { MessageSchema } from './schemas/message.schema';\nimport { MessageContractsValidationsSchema } from './schemas/message-validation.schema';\n\nexport const messageContract = initContract().router(\n {\n submit: {\n method: 'POST',\n path: '/submit',\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: MessageContractsValidationsSchema.submit.output,\n }),\n ...DefaultResponses,\n 500: DefaultErrorResponseSchema,\n },\n body: MessageContractsValidationsSchema.submit.input,\n summary: 'Submit a message such compose, reply or forward',\n },\n\n //#region get a message\n getById: {\n method: 'GET',\n path: '/:id',\n pathParams: z.object({\n id: z.string(),\n }),\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: MessageSchema,\n }),\n ...DefaultResponses,\n },\n summary: 'Get a message by id',\n },\n //#endregion get a message\n },\n {\n pathPrefix: 'mail/message',\n },\n);\n","import z from 'zod';\n\nconst MailParticipant = z.object({\n name: z.string().optional(),\n address: z.string().email(),\n});\n\nexport const MessageContractsValidationsSchema = {\n submit: {\n input: z.object({\n subject: z.string(),\n text: z.string(),\n html: z.string(),\n from: MailParticipant,\n to: z.array(MailParticipant),\n cc: z.array(MailParticipant).optional(),\n bcc: z.array(MailParticipant).optional(),\n reference: z\n .object({\n messageId: z.string(),\n action: z.union([z.literal('reply'), z.literal('forward')]),\n })\n .optional(),\n attachments: z\n .array(\n z.object({\n fileType: z.string(),\n fileName: z.string(),\n fileKey: z.string(),\n fileSize: z.number(),\n bucketName: z.string(),\n presignedUrl: z.string(),\n }),\n )\n .optional(),\n }),\n output: z.object({\n response: z.string(),\n messageId: z.string(),\n sendAt: z.string(),\n queueId: z.string(),\n }),\n },\n};\n","import { initContract } from '@ts-rest/core';\nimport { DefaultHeaderSchema, DefaultSuccessResponseSchema } from '../base-contract';\nimport { SendMessageToPlatformSchema } from '../chat/validation';\n\nexport const messengerContract = initContract().router({\n sendMessage: {\n method: \"POST\",\n path: '/message',\n body: SendMessageToPlatformSchema,\n responses: {\n 200: DefaultSuccessResponseSchema\n },\n }\n}, {\n baseHeaders: DefaultHeaderSchema\n})","import { initContract } from '@ts-rest/core';\nimport {\n DefaultErrorResponseSchema,\n DefaultHeaderSchema,\n DefaultUnauthorizedSchema,\n} from '../base-contract';\nimport z from 'zod';\nimport { PermissionSchema } from './schema';\n\nexport type Permission = z.infer<typeof PermissionSchema>;\n\nexport const permissionContract = initContract().router(\n {\n getPermissions: {\n method: 'GET',\n path: '',\n headers: DefaultHeaderSchema,\n responses: {\n 200: z.object({ permissions: PermissionSchema.array() }),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Get all permissions',\n },\n },\n { pathPrefix: 'permission' },\n);\n","import { initContract } from '@ts-rest/core';\nimport z from 'zod';\nimport { WithPagination } from '../../utils';\nimport {\n DefaultErrorResponseSchema,\n DefaultHeaderSchema,\n DefaultSuccessResponseSchema,\n DefaultUnauthorizedSchema,\n} from '../base-contract';\nimport { RoleSchema } from './schema';\nimport { CreateRoleSchema, UpdateRoleSchema } from './validation';\n\n// Request types\nexport type CreateRoleRequest = z.infer<typeof CreateRoleSchema>;\nexport type UpdateRoleRequest = z.infer<typeof UpdateRoleSchema>;\n\nexport const roleContract = initContract().router(\n {\n createRole: {\n method: 'POST',\n path: '',\n headers: DefaultHeaderSchema,\n body: CreateRoleSchema,\n responses: {\n 201: DefaultSuccessResponseSchema.extend({\n role: RoleSchema,\n }),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Create a role.',\n },\n\n getRoles: {\n method: 'GET',\n path: '',\n query: z\n .object({\n page: z.coerce.number().default(1),\n pageSize: z.coerce.number().default(10),\n })\n .optional(),\n headers: DefaultHeaderSchema,\n responses: {\n 200: WithPagination(RoleSchema),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Get all roles',\n },\n\n updateRole: {\n method: 'PATCH',\n path: '/:id',\n pathParams: z.object({ id: z.string() }),\n headers: DefaultHeaderSchema,\n body: UpdateRoleSchema,\n responses: {\n 201: DefaultSuccessResponseSchema.extend({\n role: RoleSchema,\n }),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Update a role.',\n },\n\n deleteRole: {\n method: 'DELETE',\n path: '/:id',\n pathParams: z.object({ id: z.string() }),\n headers: DefaultHeaderSchema,\n body: null,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({ message: z.string() }),\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Delete a role.',\n },\n },\n { pathPrefix: 'role' },\n);\n\n// Left - getAuthUserRole\n","import { z } from 'zod';\n\nexport const CreateRoleSchema = z.object({\n systemName: z.string(),\n displayName: z.string(),\n description: z.string().nullable(),\n permissions: z.array(z.string()),\n});\n\nexport const UpdateRoleSchema = CreateRoleSchema;\n","import { initContract } from '@ts-rest/core';\nimport z from 'zod';\nimport {\n DefaultErrorResponseSchema,\n DefaultHeaderSchema,\n DefaultSuccessResponseSchema,\n} from '../base-contract';\nimport { TagSchema } from './schema';\nimport { CreateTagSchema, GetTagsSchema, UpdateTagSchema } from './validation';\n\n// Request types\nexport type CreateTagRequest = z.infer<typeof CreateTagSchema>;\nexport type GetTagsRequest = z.infer<typeof GetTagsSchema>;\nexport type UpdateTagRequest = z.infer<typeof UpdateTagSchema>;\nexport type Tag = z.infer<typeof TagSchema>;\n\nexport const tagContract = initContract().router(\n {\n createTag: {\n method: 'POST',\n path: '',\n body: CreateTagSchema,\n responses: {\n 201: DefaultSuccessResponseSchema.extend({\n tag: TagSchema,\n }),\n 500: DefaultErrorResponseSchema,\n },\n headers: DefaultHeaderSchema,\n },\n getTags: {\n method: 'GET',\n path: '',\n query: GetTagsSchema,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n tags: z.array(TagSchema),\n }),\n 500: DefaultErrorResponseSchema,\n },\n headers: DefaultHeaderSchema,\n },\n updateTag: {\n method: 'PATCH',\n path: '/:id',\n pathParams: z.object({ id: z.string() }),\n body: UpdateTagSchema,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n tag: TagSchema,\n }),\n 500: DefaultErrorResponseSchema,\n },\n headers: DefaultHeaderSchema,\n },\n deleteTag: {\n method: 'DELETE',\n path: '/:id',\n pathParams: z.object({ id: z.string() }),\n body: z.any().optional(), // We don't need the body.\n responses: {\n 200: DefaultSuccessResponseSchema.extend({ message: z.string() }),\n 500: DefaultErrorResponseSchema,\n },\n headers: DefaultHeaderSchema,\n },\n },\n {\n pathPrefix: 'tags',\n },\n);\n","import { z } from 'zod';\nimport { TagGroupSchema } from './schema';\n\nexport const CreateTagSchema = z.object({\n name: z.string(),\n group: TagGroupSchema,\n});\n\nexport const GetTagsSchema = z\n .object({\n group: TagGroupSchema.default('general'),\n keyword: z.string(),\n })\n .partial()\n .optional();\n\nexport const UpdateTagSchema = z.object({ name: z.string() });\n","import { initContract } from '@ts-rest/core';\nimport z from 'zod';\nimport {\n DefaultErrorResponseSchema,\n DefaultHeaderSchema,\n DefaultSuccessResponseSchema,\n DefaultUnauthorizedSchema,\n} from '../base-contract';\nimport { PresenceStatusSchema, UserPresenceStatusSchema } from './schema';\nimport { UpdateUserStatusSchema } from './validation';\n\nexport type UpdateUserStatusRequest = z.infer<typeof UpdateUserStatusSchema>;\n\nexport const telephonyAgentPresenceStatusContract = initContract().router(\n {\n getAllStatus: {\n method: 'GET',\n path: '/presence_status',\n headers: DefaultHeaderSchema,\n responses: {\n 200: z.array(PresenceStatusSchema),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Get all telephony presence status list.',\n },\n\n getAllAgentStatus: {\n method: 'GET',\n path: '/agents/presence_status',\n headers: DefaultHeaderSchema,\n responses: {\n 200: z.array(UserPresenceStatusSchema),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Get all user presence status list.',\n },\n\n getAgentStatus: {\n method: 'GET',\n path: '/presence_status/check_update/:userId',\n pathParams: z.object({ userId: z.string() }),\n headers: DefaultHeaderSchema,\n responses: {\n 200: UserPresenceStatusSchema,\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary:\n 'Check and update user agent status before getting from telephony server.',\n },\n\n updateUserStatus: {\n method: 'POST',\n path: '/presence_status/user',\n headers: DefaultHeaderSchema,\n body: UpdateUserStatusSchema,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n userPresenceStatu: UserPresenceStatusSchema,\n }),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Update presence status',\n },\n },\n { pathPrefix: 'telephony' },\n);\n","import z from 'zod';\nimport { DefaultEntitySchema } from '../base-contract';\nimport { UserSchema } from '../user/schema';\n\nexport const PresenceStatusSchema = DefaultEntitySchema.extend({\n status: z.string(),\n description: z.string(),\n});\n\nexport const UserPresenceStatusSchema = DefaultEntitySchema.extend({\n user: UserSchema,\n presenceStatus: PresenceStatusSchema,\n customPresenceStatus: z.string().nullable().optional(),\n});\n","import { z } from 'zod';\n\nexport const UpdateUserStatusSchema = z.object({\n userId: z.string(),\n presenceStatusId: z.string().nullable().optional(),\n customPreseneStatus: z.string().nullable().optional(),\n reason: z.string(),\n});\n","import { initContract } from '@ts-rest/core';\nimport {\n DefaultErrorResponseSchema,\n DefaultHeaderSchema,\n DefaultUnauthorizedSchema,\n} from '../base-contract';\nimport z from 'zod';\nimport { TelephonyExtensionSchema } from './schema';\n\nexport const telephonyExtensionContract = initContract().router(\n {\n getTelephonyExtensions: {\n method: 'GET',\n path: '/extension_list',\n headers: DefaultHeaderSchema,\n query: null,\n responses: {\n 200: TelephonyExtensionSchema,\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Get all extension list by yeastar',\n },\n },\n { pathPrefix: 'telephony' },\n);\n","import z from 'zod';\n\nexport const TelephonyExtensionSchema = z.object({\n errcode: z.coerce.number(),\n errmsg: z.string(),\n total_number: z.coerce.number(),\n data: z.array(\n z.object({\n id: z.coerce.number(),\n online_status: z\n .object({\n fx_phone: z.object({ status: z.coerce.number() }),\n sip_phone: z.object({\n status: z.coerce.number(),\n ext_dev_type: z.string().optional(),\n }),\n linkus_desktop: z.object({ status: z.coerce.number() }),\n linkus_mobile: z.object({ status: z.coerce.number() }),\n linkus_web: z.object({\n status: z.coerce.number(),\n ext_dev_type: z.string().optional(),\n }),\n })\n .optional(),\n presence_status: z.string().optional(),\n number: z.string().optional(),\n caller_id_name: z.string().optional(),\n role_name: z.string().optional(),\n email_addr: z.string().optional(),\n }),\n ),\n});\n","import { initContract } from '@ts-rest/core';\nimport z from 'zod';\nimport { WithPagination } from '../../utils';\nimport {\n DefaultErrorResponseSchema,\n DefaultHeaderSchema,\n DefaultSuccessResponseSchema,\n DefaultUnauthorizedSchema,\n} from '../base-contract';\nimport { UserSchema } from './schema';\nimport { CreateUserSchema, UpdateUserSchema } from './validation';\n\n// Request types\nexport type CreateUserRequest = z.infer<typeof CreateUserSchema>;\nexport type UpdateUserRequest = z.infer<typeof UpdateUserSchema>;\n\nexport const userContract = initContract().router(\n {\n createUser: {\n method: 'POST',\n path: '',\n headers: DefaultHeaderSchema,\n body: CreateUserSchema,\n responses: {\n 201: DefaultSuccessResponseSchema.extend({\n user: UserSchema,\n }),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n },\n summary: 'Create a user.',\n },\n\n getUsers: {\n method: 'GET',\n path: '',\n headers: DefaultHeaderSchema,\n query: z\n .object({\n page: z.coerce.number().default(1),\n pageSize: z.coerce.number().default(10),\n keyword: z.string().optional(),\n })\n .optional(),\n responses: {\n 200: WithPagination(UserSchema),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Get all users',\n },\n\n getUserById: {\n method: 'GET',\n path: '/:id',\n pathParams: z.object({ id: z.string() }),\n headers: DefaultHeaderSchema,\n responses: {\n 200: UserSchema,\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n },\n summary: 'Get user by id',\n },\n\n updateUser: {\n method: 'PATCH',\n path: '/:id',\n pathParams: z.object({ id: z.string() }),\n headers: DefaultHeaderSchema,\n body: UpdateUserSchema,\n responses: {\n 201: DefaultSuccessResponseSchema.extend({\n role: UserSchema,\n }),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n },\n\n summary: 'Update a user.',\n },\n\n deleteUser: {\n method: 'DELETE',\n path: '/:id',\n pathParams: z.object({ id: z.string() }),\n headers: DefaultHeaderSchema,\n body: null,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({ message: z.string() }),\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Delete a user.',\n },\n },\n { pathPrefix: 'user' },\n);\n\n// Left - getAgentStatus, getAllStatus, getAllAgentsStatus, updateAgentStatus, getAgentsPresenceStatusLogs\n","import { z } from 'zod';\n\nexport const CreateUserSchema = z.object({\n name: z.string(),\n email: z.string().email(),\n address: z.string().nullable(),\n phone: z.string().nullable(),\n password: z.string(),\n notificationCount: z.number().nullable().optional(),\n roles: z.array(z.string()),\n});\n\nexport const UpdateUserSchema = CreateUserSchema.extend({\n newPassword: z.string(),\n});\n","import { initContract } from '@ts-rest/core';\nimport z from 'zod';\nimport { WithPagination } from '../../utils';\nimport {\n DefaultErrorResponseSchema,\n DefaultHeaderSchema,\n DefaultUnauthorizedSchema,\n} from '../base-contract';\nimport { UserPresenceStatusLogSchema } from './schema';\nimport { UserPresenceStatusLogParamsSchema } from './validation';\n\nexport type GetUserPresenceStatusLogRequest = z.infer<\n typeof UserPresenceStatusLogParamsSchema\n>;\n\nexport const userPresenceStatusLogContract = initContract().router(\n {\n getUserPresenceStatusLog: {\n method: 'GET',\n path: '',\n query: UserPresenceStatusLogParamsSchema,\n headers: DefaultHeaderSchema,\n responses: {\n 200: WithPagination(UserPresenceStatusLogSchema),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Get all user presence status log.',\n },\n },\n { pathPrefix: 'user-presence-status-log' },\n);\n","import z from 'zod';\nimport { DefaultEntitySchema } from '../base-contract';\nimport { UserSchema } from '../user/schema';\nimport { PresenceStatusSchema } from '../telephony-agent-presence-status/schema';\n\nexport const UserPresenceStatusLogSchema = DefaultEntitySchema.extend({\n user: UserSchema,\n previousPresenceStatus: PresenceStatusSchema,\n newPresenceStatus: PresenceStatusSchema,\n reason: z.string(),\n});\n","import z from 'zod';\n\nexport const UserPresenceStatusLogParamsSchema = z\n .object({\n page: z.coerce.number().default(1),\n pageSize: z.coerce.number().default(10),\n selectedDate: z.string().optional(),\n })\n .optional();\n","import { initContract } from '@ts-rest/core';\nimport z from 'zod';\nimport { WithPagination } from '../../utils';\nimport {\n DefaultErrorResponseSchema,\n DefaultHeaderSchema,\n DefaultSuccessResponseSchema,\n DefaultUnauthorizedSchema,\n} from '../base-contract';\nimport { WidgetSchema } from './schema';\nimport { CreateWidgetSchema, UpdateWidgetSchema } from './validation';\n\n// Request types\nexport type CreateWidgetRequest = z.infer<typeof CreateWidgetSchema>;\nexport type UpdateWidgetRequest = z.infer<typeof UpdateWidgetSchema>;\nexport type Widget = z.infer<typeof WidgetSchema>;\n\nexport const widgetContract = initContract().router(\n {\n createWidget: {\n method: 'POST',\n path: '',\n headers: DefaultHeaderSchema,\n body: CreateWidgetSchema,\n responses: {\n 201: DefaultSuccessResponseSchema.extend({\n widget: WidgetSchema,\n }),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Create a widget.',\n },\n\n getWidgets: {\n method: 'GET',\n path: '',\n query: z\n .object({\n page: z.coerce.number().default(1),\n pageSize: z.coerce.number().default(10),\n keyword: z.coerce.string().optional(),\n })\n .optional(),\n headers: DefaultHeaderSchema,\n responses: {\n 200: WithPagination(WidgetSchema),\n 500: DefaultErrorResponseSchema,\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n },\n summary: 'Get all widgets',\n },\n\n getMenuWidgets: {\n method: 'GET',\n path: '/menu',\n headers: DefaultHeaderSchema,\n responses: {\n 200: z.array(WidgetSchema),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Get menu widgets',\n },\n\n getTicketWidgets: {\n method: 'GET',\n path: '/ticket_detail',\n headers: DefaultHeaderSchema,\n responses: {\n 200: z.array(WidgetSchema),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Get ticket widgets',\n },\n\n getContactWidgets: {\n method: 'GET',\n path: '/contact_detail',\n headers: DefaultHeaderSchema,\n responses: {\n 200: z.array(WidgetSchema),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Get contact widgets',\n },\n\n getWidgetById: {\n method: 'GET',\n path: '/:id',\n pathParams: z.object({ id: z.string() }),\n headers: DefaultHeaderSchema,\n responses: {\n 200: WidgetSchema,\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Get widget by id',\n },\n\n // Hold\n // getWidgetUrl: {\n // method: 'GET',\n // path: '/url_token/generate',\n // pathParams: z.object({\n // widgetId: z.string(),\n // // Position ID is ticket ID, contact ID, etc.\n // // TODO: The name \"Position ID\" is confusing. Think of a better name.\n // positionId: z.string(),\n // }),\n // headers: DefaultHeaderSchema,\n // responses: {\n // 201: DefaultSuccessResponseSchema.extend({\n // widget: z.object({\n // url: z.string(),\n // }),\n // }),\n // 400: z.object({\n // message: z.string(),\n // }),\n // 401: DefaultUnauthorizedSchema,\n // },\n // summary: 'Generate url token for widget.',\n // },\n\n updateWidget: {\n method: 'PATCH',\n path: '/:id',\n pathParams: z.object({ id: z.string() }),\n headers: DefaultHeaderSchema,\n responses: {\n 201: DefaultSuccessResponseSchema.extend({\n widget: WidgetSchema,\n }),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n },\n body: UpdateWidgetSchema,\n summary: 'Update a widget.',\n },\n\n deleteWidget: {\n method: 'DELETE',\n path: '/:id',\n pathParams: z.object({ id: z.string() }),\n headers: DefaultHeaderSchema,\n body: null,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({ message: z.string() }),\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Delete a widget.',\n },\n },\n { pathPrefix: 'widget' },\n);\n","import z from 'zod';\nimport { DefaultEntitySchema } from '../base-contract';\n\n// Define fields schema\nconst FieldsSchema = z.object({ data: z.array(z.string()) });\n\nexport const WidgetPositionSchema = z.union([\n z.literal('menu'),\n z.literal('ticket_detail'),\n z.literal('contact_detail'),\n]);\n\nexport const WidgetSchema = DefaultEntitySchema.extend({\n name: z.string(),\n description: z.string().nullable(),\n position: WidgetPositionSchema.nullable(),\n fields: FieldsSchema,\n url: z.string(),\n});\n","import z from 'zod';\nimport { WidgetPositionSchema } from './schema';\n\nexport const CreateWidgetSchema = z.object({\n name: z.string(),\n description: z.string(),\n url: z.string(),\n position: WidgetPositionSchema,\n fields: z\n .object({\n data:\n // Array of attribute system names\n z.array(z.string()),\n })\n // If we want to show the widget on the menu, we don't need the fields.\n .optional(),\n});\n\nexport const UpdateWidgetSchema = CreateWidgetSchema;\n","import { initContract } from '@ts-rest/core';\nimport z from 'zod';\nimport { WithPagination } from '../../utils';\nimport {\n DefaultErrorResponseSchema,\n DefaultHeaderSchema,\n DefaultSuccessResponseSchema,\n DefaultUnauthorizedSchema,\n} from '../base-contract';\nimport { WrapUpFormSchema } from './schema';\nimport { CreateWrapUpFormSchema, UpdateWrapUpFormSchema } from './validation';\n\n// Request types\nexport type CreateWrapUpFormRequest = z.infer<typeof CreateWrapUpFormSchema>;\nexport type UpdateWrapUpFormRequest = z.infer<typeof UpdateWrapUpFormSchema>;\n\nexport const wrapUpFormContract = initContract().router(\n {\n createWrapUpForm: {\n method: 'POST',\n path: '',\n headers: DefaultHeaderSchema,\n body: CreateWrapUpFormSchema,\n responses: {\n 201: DefaultSuccessResponseSchema.extend({\n wrapUpForm: WrapUpFormSchema,\n }),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Create a wrap up form.',\n },\n\n getWrapUpForms: {\n method: 'GET',\n path: '',\n query: z\n .object({\n page: z.coerce.number().default(1),\n pageSize: z.coerce.number().default(10),\n })\n .optional(),\n headers: DefaultHeaderSchema,\n responses: {\n 200: WithPagination(WrapUpFormSchema),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Get all wrap up form',\n },\n\n updateWrapUpForm: {\n method: 'PATCH',\n path: '/:id',\n pathParams: z.object({ id: z.string() }),\n headers: DefaultHeaderSchema,\n body: UpdateWrapUpFormSchema,\n responses: {\n 201: DefaultSuccessResponseSchema.extend({\n wrapUpForm: WrapUpFormSchema,\n }),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Update a wrap up form.',\n },\n },\n { pathPrefix: 'wrap-up-form' },\n);\n","import z from 'zod';\nimport { DefaultEntitySchema } from '../base-contract';\nimport { TagSchema } from '../tag/schema';\n\nexport const WrapUpFormSchema = DefaultEntitySchema.extend({\n note: z.string().nullable(),\n disposition: z.string().nullable(),\n callFrom: z.string().nullable(),\n callTo: z.string().nullable(),\n tags: z.array(TagSchema),\n});\n","import { z } from 'zod';\n\nexport const CreateWrapUpFormSchema = z.object({\n note: z.string().nullable().optional(),\n disposition: z.string().nullable().optional(),\n callFrom: z.string().nullable().optional(),\n callTo: z.string().nullable().optional(),\n});\n\nexport const UpdateWrapUpFormSchema = CreateWrapUpFormSchema.extend({\n tags: z.array(z.string()).optional(),\n});\n"],"mappings":"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","names":["initContract","z","z","z","z","z","z","initContract","z","z","z","z","z","z","z","initContract","z","initContract","z","initContract","initContract","z","z","z","z","z","z","initContract","z","initContract","z","z","z","z","initContract","initContract","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","initContract","z","initContract","z","z","z","initContract","z","initContract","z","z","z","z","z","initContract","z","initContract","z","z","initContract","z","initContract","z","z","z","initContract","z","initContract","z","initContract","initContract","initContract","z","z","z","z","z","MessageSchema","z","TagSchema","MessageSchema","AttachmentSchema","initContract","z","AttachmentSchema","initContract","z","z","z","initContract","z","initContract","z","initContract","z","initContract","z","z","initContract","z","MessageSchema","initContract","initContract","initContract","initContract","z","initContract","z","initContract","z","z","initContract","z","initContract","z","z","z","initContract","z","initContract","z","z","z","z","initContract","z","initContract","z","z","initContract","z","initContract","z","z","initContract","z","initContract","z","z","z","z","initContract","z","initContract","z","z","z","z","z","initContract","z","initContract","z","z","z","z","initContract","z","initContract"]}
|
1
|
+
{"version":3,"sources":["../src/contract.ts","../src/attribute/index.ts","../src/base-contract.ts","../src/attribute/schema.ts","../src/attribute/validation.ts","../src/auth/index.ts","../src/user/schema.ts","../src/extension/schema.ts","../src/role/schema.ts","../src/permission/schema.ts","../src/aws/index.ts","../src/aws/validation.ts","../src/category/index.ts","../utils.ts","../src/category/schema.ts","../src/category/validation.ts","../src/channel/index.ts","../src/channel/schema.ts","../src/channel/validation.ts","../src/chat/index.ts","../src/contact/schema.ts","../src/tag/schema.ts","../src/company/schema.ts","../src/upload/schema.ts","../src/chat/schema.ts","../src/chat/validation.ts","../src/custom-field/schema.ts","../src/contact/index.ts","../src/contact/validation.ts","../src/cx-log/index.ts","../src/cx-log/schema.ts","../src/cx-log/validation.ts","../src/extension/index.ts","../src/extension/validation.ts","../src/line/index.ts","../src/line/schema.ts","../src/line/validation.ts","../src/mail/email-engine-webhooks-events.contract.ts","../src/mail/mail-contract.ts","../src/mail/room-contract.ts","../src/mail/schemas/room.schema.ts","../src/mail/schemas/account.schema.ts","../src/mail/schemas/message.schema.ts","../src/mail/account-contract.ts","../src/mail/schemas/account-validation.schema.ts","../src/mail/mail-server-contract.ts","../src/mail/message-contract.ts","../src/mail/schemas/message-validation.schema.ts","../src/messenger/index.ts","../src/permission/index.ts","../src/role/index.ts","../src/role/validation.ts","../src/tag/index.ts","../src/tag/validation.ts","../src/telephony-agent-presence-status/index.ts","../src/telephony-agent-presence-status/schema.ts","../src/telephony-agent-presence-status/validation.ts","../src/telephony-extension/index.ts","../src/telephony-extension/schema.ts","../src/user/index.ts","../src/user/validation.ts","../src/user-presence-status-log/index.ts","../src/user-presence-status-log/schema.ts","../src/user-presence-status-log/validation.ts","../src/widget/index.ts","../src/widget/schema.ts","../src/widget/validation.ts","../src/wrap-up-form/index.ts","../src/wrap-up-form/schema.ts","../src/wrap-up-form/validation.ts"],"sourcesContent":["import { initContract } from '@ts-rest/core';\nimport { attributeContract } from './attribute';\nimport { authContract } from './auth';\nimport { awsContract } from './aws';\nimport { categoryContract } from './category';\nimport { channelContract } from './channel';\nimport { mainChatContract } from './chat';\nimport { contactContract } from './contact';\nimport { cxLogContract } from './cx-log';\nimport { extensionContract } from './extension';\nimport { lineContract } from './line';\nimport { emailEngineWebhooksEventsContract } from './mail/email-engine-webhooks-events.contract';\nimport { mailContract } from './mail/mail-contract';\nimport { messengerContract } from './messenger';\nimport { permissionContract } from './permission';\nimport { roleContract } from './role';\nimport { tagContract } from './tag';\nimport { telephonyAgentPresenceStatusContract } from './telephony-agent-presence-status';\nimport { telephonyExtensionContract } from './telephony-extension/index';\nimport { userContract } from './user';\nimport { userPresenceStatusLogContract } from './user-presence-status-log';\nimport { widgetContract } from './widget/index';\nimport { wrapUpFormContract } from './wrap-up-form/index';\n\nexport const apiContract = initContract().router({\n auth: authContract,\n mail: mailContract,\n cxLog: cxLogContract,\n permission: permissionContract,\n role: roleContract,\n user: userContract,\n extension: extensionContract,\n widget: widgetContract,\n wrapUpForm: wrapUpFormContract,\n emailEngineWebhooks: emailEngineWebhooksEventsContract,\n category: categoryContract,\n telephonyExtensionContract: telephonyExtensionContract,\n attribute: attributeContract,\n tag: tagContract,\n channel: channelContract,\n aws: awsContract,\n agentPresenceStatus: telephonyAgentPresenceStatusContract,\n userPresenceStatusLog: userPresenceStatusLogContract,\n contact: contactContract,\n});\n\nexport const platformContract = initContract().router({\n line: lineContract,\n messenger: messengerContract,\n});\n\nexport const chatContract = initContract().router({\n main: mainChatContract,\n});\n","import { initContract } from '@ts-rest/core';\nimport { z } from 'zod';\nimport {\n DefaultErrorResponseSchema,\n DefaultHeaderSchema,\n DefaultSuccessResponseSchema,\n} from '../base-contract';\nimport { AttributeSchema, AttributeTypeSchema } from './schema';\nimport {\n CreateAttributeSchema,\n GetAttributesSchema,\n UpdateAttributeSchema,\n UpdatePositionSchema,\n} from './validation';\n\n// Request types\nexport type CreateAttributeRequest = z.infer<typeof CreateAttributeSchema>;\nexport type GetAttributesRequest = z.infer<typeof GetAttributesSchema>;\nexport type UpdateAttributeRequest = z.infer<typeof UpdateAttributeSchema>;\nexport type UpdatePositionRequest = z.infer<typeof UpdatePositionSchema>;\nexport type Attribute = z.infer<typeof AttributeSchema>;\nexport type AttributeType = z.infer<typeof AttributeTypeSchema>;\n\nexport const attributeContract = initContract().router(\n {\n createAttribute: {\n method: 'POST',\n path: '',\n body: CreateAttributeSchema,\n responses: {\n 201: DefaultSuccessResponseSchema.extend({\n attribute: AttributeSchema,\n }),\n 500: DefaultErrorResponseSchema,\n },\n headers: DefaultHeaderSchema,\n },\n getAttributes: {\n method: 'GET',\n path: '',\n query: GetAttributesSchema,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n attributes: z.array(AttributeSchema),\n }),\n 500: DefaultErrorResponseSchema,\n },\n headers: DefaultHeaderSchema,\n },\n updateAttribute: {\n method: 'PATCH',\n path: '/:id',\n pathParams: z.object({ id: z.string() }),\n body: UpdateAttributeSchema,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n attribute: AttributeSchema,\n }),\n 500: DefaultErrorResponseSchema,\n },\n headers: DefaultHeaderSchema,\n },\n changeVisibility: {\n method: 'PATCH',\n path: '/visibility/:id',\n pathParams: z.object({ id: z.string() }),\n body: z.object({ isVisible: z.boolean() }),\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n message: z.string().optional(),\n }),\n 500: DefaultErrorResponseSchema,\n },\n headers: DefaultHeaderSchema,\n },\n changeRequired: {\n method: 'PATCH',\n path: '/required/:id',\n pathParams: z.object({ id: z.string() }),\n body: z.object({ isRequired: z.boolean() }),\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n message: z.string().optional(),\n }),\n 500: DefaultErrorResponseSchema,\n },\n headers: DefaultHeaderSchema,\n },\n updatePosition: {\n // To avoid conflict with updateAttribute, I used \"POST\" here.\n method: 'POST',\n path: '/position',\n body: UpdatePositionSchema,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n message: z.string().optional(),\n }),\n 500: DefaultErrorResponseSchema,\n },\n headers: DefaultHeaderSchema,\n },\n deleteAttribute: {\n method: 'DELETE',\n path: '/:id',\n pathParams: z.object({ id: z.string() }),\n body: z.any().optional(),\n responses: {\n 200: DefaultSuccessResponseSchema.extend({ message: z.string() }),\n 500: DefaultErrorResponseSchema,\n },\n headers: DefaultHeaderSchema,\n },\n },\n {\n pathPrefix: 'attributes',\n },\n);\n","import z from 'zod';\n\nexport const DefaultHeaderSchema = z\n .object({\n // biome-ignore lint/style/useNamingConvention: <explanation>\n 'x-tenant': z.string({ required_error: 'Tenant id is required' }),\n authorization: z.string(),\n })\n .optional()\n .nullable();\n\n//#region default entity schema\nexport const DefaultEntitySchema = z.object({\n id: z.string().uuid(),\n createdAt: z.date(),\n updatedAt: z.date(),\n deletedAt: z.date().nullable(),\n});\n//#endregion\n\n//#region Default Query Params\nexport const DefaultQueryParamsSchema = z.object({\n page: z.coerce.number().positive().default(1),\n pageSize: z.coerce.number().positive().default(10),\n});\n//#endregion\n\n// #region base response schema\nexport const DefaultSuccessResponseSchema = z.object({\n requestId: z.string(),\n});\n\nexport const DefaultErrorResponseSchema = z.object({\n message: z.string(),\n error: z.any(),\n});\n\nexport const DefaultNotFoundSchema = DefaultErrorResponseSchema;\n\nexport const DefaultUnprocessibleSchema = DefaultErrorResponseSchema;\n\nexport const DefaultUnauthorizedSchema = DefaultErrorResponseSchema;\nexport const DefaultResponses = {\n 401: DefaultUnauthorizedSchema,\n 404: DefaultNotFoundSchema,\n 422: DefaultUnprocessibleSchema,\n};\n// #endregion\n","import z from 'zod';\nimport { DefaultEntitySchema } from '../base-contract';\n\nexport const AttributeTypeSchema = z.union([\n z.literal('text'),\n z.literal('textarea'),\n z.literal('date'),\n z.literal('select'),\n z.literal('link'),\n z.literal('attachment'),\n]);\n\nexport const AttributeOptionSchema = z.object({\n label: z.string(),\n value: z.string(),\n isDefault: z.boolean(),\n position: z.number(),\n});\n\nconst AttributeGroupSchema = DefaultEntitySchema.extend({\n systemName: z.string(),\n displayName: z.string(),\n});\n\nexport const AttributeSchema = DefaultEntitySchema.extend({\n systemName: z.string(),\n displayName: z.string(),\n type: AttributeTypeSchema,\n position: z.number(),\n isDefault: z.boolean(),\n isArchived: z.boolean(),\n isRequired: z.boolean(),\n isUnique: z.boolean(),\n options: z.array(AttributeOptionSchema.extend({ id: z.string() })),\n group: AttributeGroupSchema,\n});\n","import { z } from 'zod';\nimport { AttributeOptionSchema, AttributeTypeSchema } from './schema';\n\nexport const CreateAttributeSchema = z.object({\n name: z.string(),\n type: AttributeTypeSchema,\n isRequired: z.boolean(),\n isVisible: z.boolean(),\n group: z.string(),\n options: z.array(AttributeOptionSchema),\n});\n\nexport const GetAttributesSchema = z.object({\n group: z.string(),\n visibleOnly: z.boolean().default(false),\n});\n\nexport const UpdateAttributeSchema = CreateAttributeSchema;\n\nexport const UpdatePositionSchema = z.object({\n attributes: z.array(\n z.object({\n // To update the attribute position, the backend need the IDs and the positions.\n attributeId: z.string(),\n position: z.number(),\n }),\n ),\n});\n","import { initContract } from '@ts-rest/core';\nimport { z } from 'zod';\nimport {\n DefaultHeaderSchema,\n DefaultNotFoundSchema,\n DefaultSuccessResponseSchema,\n DefaultUnauthorizedSchema,\n DefaultUnprocessibleSchema,\n} from '../base-contract';\nimport { UserSchema } from '../user/schema';\n\nexport const authContract = initContract().router(\n {\n refreshToken: {\n method: 'POST',\n path: '/refresh-token',\n headers: DefaultHeaderSchema,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n accessToken: z.string(),\n refreshToken: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 404: DefaultNotFoundSchema,\n 422: DefaultUnprocessibleSchema,\n },\n body: null,\n summary: 'Refresh token',\n },\n\n exchangeToken: {\n method: 'POST',\n path: '/exchange-token',\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n accessToken: z.string(),\n refreshToken: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 404: DefaultNotFoundSchema,\n 422: DefaultUnprocessibleSchema,\n },\n body: null,\n headers: DefaultHeaderSchema,\n summary: 'Exchange jwt token',\n },\n\n logout: {\n method: 'POST',\n path: '/logout',\n headers: DefaultHeaderSchema,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 404: DefaultNotFoundSchema,\n 422: DefaultUnprocessibleSchema,\n },\n body: null,\n summary: 'Logout',\n },\n\n me: {\n method: 'GET',\n path: '/me',\n headers: DefaultHeaderSchema,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n user: UserSchema,\n }),\n 401: DefaultUnauthorizedSchema,\n 404: DefaultNotFoundSchema,\n 422: DefaultUnprocessibleSchema,\n },\n summary: 'Get current user',\n },\n\n getAuthUserRole: {\n method: 'GET',\n path: '/user/role',\n headers: DefaultHeaderSchema,\n responses: {\n 200: z.array(z.string()),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n },\n summary: 'Get role by auth user which mean current login user roles',\n },\n },\n { pathPrefix: 'auth' },\n);\n","import z from 'zod';\nimport { ExtensionSchema } from '../extension/schema';\nimport { RoleSchema } from '../role/schema';\n\nexport const UserSchema = z.object({\n id: z.string().uuid(),\n createdAt: z.date(),\n updatedAt: z.date(),\n deletedAt: z.date().nullable(),\n name: z.string(),\n email: z.string().email(),\n emailVerifiedAt: z.date().nullable(),\n password: z.string(),\n address: z.string().nullable(),\n phone: z.string().nullable(),\n notificationCount: z.number().nullable(),\n roles: z.array(RoleSchema),\n extension: ExtensionSchema.optional(),\n});\n","import z from 'zod';\n\nexport const ExtensionSchema = z.object({\n id: z.string().uuid(),\n createdAt: z.date(),\n updatedAt: z.date(),\n deletedAt: z.date().nullable(),\n userId: z.string().nullable(),\n sipServerUrl: z.string(),\n sipUserName: z.string(),\n extensionId: z.coerce.number(),\n extensionName: z.string(),\n telephonySignature: z.string().nullable(),\n});\n","import z from 'zod';\nimport { PermissionSchema } from '../permission/schema';\n\nexport const RoleSchema = z.object({\n id: z.string().uuid(),\n createdAt: z.date(),\n updatedAt: z.date(),\n deletedAt: z.date().nullable(),\n systemName: z.string(),\n displayName: z.string(),\n description: z.string().nullable(),\n permissions: z.array(PermissionSchema),\n});\n","import z from 'zod';\n\nexport const PermissionSchema = z.object({\n id: z.string().uuid(),\n createdAt: z.date(),\n updatedAt: z.date(),\n deletedAt: z.date().nullable(),\n systemName: z.string(),\n displayName: z.string(),\n description: z.string().nullable(),\n});\n","import { initContract } from '@ts-rest/core';\nimport {\n DefaultErrorResponseSchema,\n DefaultResponses,\n DefaultSuccessResponseSchema,\n} from '../base-contract';\nimport { AwsContractsValidationSchema } from './validation';\n\nexport const awsContract = initContract().router(\n {\n generatePresignedUrl: {\n method: 'POST',\n path: '/presigned-url',\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: AwsContractsValidationSchema.generatePresignedUrl.output,\n }),\n ...DefaultResponses,\n 500: DefaultErrorResponseSchema,\n },\n body: AwsContractsValidationSchema.generatePresignedUrl.input,\n summary: 'Generate a presigned url',\n },\n generateSignedUrl: {\n method: 'POST',\n path: '/signed-url',\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: AwsContractsValidationSchema.generateSignedUrl.output,\n }),\n ...DefaultResponses,\n 500: DefaultErrorResponseSchema,\n },\n body: AwsContractsValidationSchema.generateSignedUrl.input,\n summary: 'Generate a signed url using file key',\n },\n },\n {\n pathPrefix: 'aws/s3',\n },\n);\n","import z from 'zod';\n\nexport const AwsContractsValidationSchema = {\n generatePresignedUrl: {\n input: z.object({\n fileName: z.string(),\n fileType: z.string(),\n moduleName: z.string(),\n }),\n output: z.object({\n fileName: z.string(),\n fileKey: z.string(),\n bucketName: z.string(),\n url: z.string(),\n cfUrl: z.string().nullable(),\n }),\n },\n generateSignedUrl: {\n input: z.object({\n fileKey: z.string(),\n }),\n output: z.object({\n url: z.string(),\n }),\n },\n};\n\nexport type GeneratePresignedUrlQuery = z.infer<\n typeof AwsContractsValidationSchema.generatePresignedUrl.input\n>;\n\nexport type GeneratePresignedUrlResponse = z.infer<\n typeof AwsContractsValidationSchema.generatePresignedUrl.output\n>;\n\nexport type GenerateSignedUrlQuery = z.infer<\n typeof AwsContractsValidationSchema.generateSignedUrl.input\n>;\n\nexport type GenerateSignedUrlResponse = z.infer<\n typeof AwsContractsValidationSchema.generateSignedUrl.output\n>;\n","import { initContract } from '@ts-rest/core';\nimport z from 'zod';\nimport { WithPagination } from '../../utils';\nimport {\n DefaultErrorResponseSchema,\n DefaultHeaderSchema,\n DefaultSuccessResponseSchema,\n} from '../base-contract';\nimport { CategoryLevelObjectSchema, CategorySchema } from './schema';\nimport {\n CreateCategoryLevelSchema,\n CreateCategorySchema,\n UpdateCategoryLevelSchema,\n UpdateCategorySchema,\n} from './validation';\n\n// Request types\nexport type CreateCategoryRequest = z.infer<typeof CreateCategorySchema>;\nexport type UpdateCategoryRequest = z.infer<typeof UpdateCategorySchema>;\nexport type Category = z.infer<typeof CategorySchema>;\nexport type CategoryLevel = z.infer<typeof CategoryLevelObjectSchema>;\n\nexport type CreateCategoryLevelRequest = z.infer<\n typeof CreateCategoryLevelSchema\n>;\nexport type UpdateCategoryLevelRequest = z.infer<\n typeof UpdateCategoryLevelSchema\n>;\n\nexport const categoryContract = initContract().router(\n {\n createCategory: {\n method: 'POST',\n path: '',\n headers: DefaultHeaderSchema,\n body: CreateCategorySchema,\n responses: {\n 201: DefaultSuccessResponseSchema.extend({\n category: CategorySchema,\n }),\n 500: DefaultErrorResponseSchema,\n },\n },\n getCategories: {\n method: 'GET',\n path: '',\n query: z\n .object({\n page: z.coerce.number(),\n pageSize: z.coerce.number(),\n })\n .partial()\n .optional(),\n headers: DefaultHeaderSchema,\n responses: {\n 200: WithPagination(CategorySchema),\n 500: DefaultErrorResponseSchema,\n },\n },\n updateCategory: {\n method: 'PATCH',\n path: '/:id',\n pathParams: z.object({ id: z.string() }),\n headers: DefaultHeaderSchema,\n body: UpdateCategorySchema,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({ category: CategorySchema }),\n 500: DefaultErrorResponseSchema,\n },\n },\n deleteCategory: {\n method: 'DELETE',\n path: '/:id',\n pathParams: z.object({ id: z.string() }),\n headers: DefaultHeaderSchema,\n body: z.any().optional(),\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n message: z.string().optional(),\n }),\n 500: DefaultErrorResponseSchema,\n },\n },\n createCategoryLevel: {\n method: 'POST',\n path: '/level',\n headers: DefaultHeaderSchema,\n body: CreateCategoryLevelSchema,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n categoryLevel: CategoryLevelObjectSchema,\n }),\n 500: DefaultErrorResponseSchema,\n },\n },\n getCategoryLevels: {\n method: 'GET',\n path: '/level',\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: z.array(CategoryLevelObjectSchema),\n }),\n 500: DefaultErrorResponseSchema,\n },\n },\n updateCategoryLevel: {\n method: 'PATCH',\n path: '/level/:id',\n pathParams: z.object({ id: z.string() }),\n headers: DefaultHeaderSchema,\n body: UpdateCategoryLevelSchema,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n categoryLevel: CategoryLevelObjectSchema,\n }),\n 500: DefaultErrorResponseSchema,\n },\n },\n },\n {\n pathPrefix: 'categories',\n },\n);\n","import { z } from 'zod';\n\nexport const PaginationSchema = z.object({\n page: z.number().default(1),\n pageSize: z.number().default(10),\n total: z.number(),\n lastPage: z.number().optional().nullable(),\n});\n\nexport const WithPagination = <T>(dataSchema: z.ZodSchema<T>) => {\n return PaginationSchema.extend({\n data: z.array(dataSchema),\n });\n};\n","import { z } from 'zod';\nimport { DefaultEntitySchema } from '../base-contract';\n\n// We allow only 3 levels.\nexport const CategoryLevelSchema = z.union([\n z.literal(1),\n z.literal(2),\n z.literal(3),\n]);\n\nexport const CategorySchema = DefaultEntitySchema.extend({\n value: z.string(),\n level: CategoryLevelSchema,\n parentId: z.string().nullable(),\n childCategoryList: z.array(\n z.object({\n id: z.string(),\n value: z.string(),\n level: CategoryLevelSchema,\n parentId: z.string().nullable(),\n childCategoryList: z.array(\n z.object({\n id: z.string(),\n value: z.string(),\n level: CategoryLevelSchema,\n parentId: z.string().nullable(),\n childCategoryList: z.array(z.any()), // This is an empty array.\n }),\n ),\n }),\n ),\n});\n\nexport const CategoryLevelObjectSchema = z.object({\n id: z.string(),\n name: z.string(),\n level: CategoryLevelSchema,\n});\n","import { z } from 'zod';\nimport { CategoryLevelSchema } from './schema';\n\nexport const CreateCategorySchema = z.object({\n value: z.string(),\n level: CategoryLevelSchema,\n parentId: z.string().nullable(),\n});\n\nexport const UpdateCategorySchema = z.object({ value: z.string() });\n\nexport const CreateCategoryLevelSchema = z.object({\n name: z.string(),\n level: CategoryLevelSchema,\n});\n\nexport const UpdateCategoryLevelSchema = z.object({\n name: z.string(),\n level: CategoryLevelSchema,\n});\n","import { initContract } from '@ts-rest/core';\nimport z from 'zod';\nimport {\n DefaultErrorResponseSchema,\n DefaultHeaderSchema,\n DefaultSuccessResponseSchema,\n} from '../base-contract';\nimport { ChannelSchema } from './schema';\nimport { ConnectChannelSchema } from './validation';\n\nexport type ConnectChannelRequest = z.TypeOf<typeof ConnectChannelSchema>;\n\nexport const channelContract = initContract().router(\n {\n connectChannel: {\n method: 'POST',\n path: '/connect',\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n channel: ChannelSchema,\n }),\n 408: DefaultErrorResponseSchema,\n },\n body: ConnectChannelSchema,\n summary: 'Connect message channel',\n },\n\n getChannels: {\n method: 'GET',\n path: '/channels',\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n channels: ChannelSchema,\n }),\n },\n summary: 'Get Channels',\n },\n },\n {\n baseHeaders: DefaultHeaderSchema,\n },\n);\n","import z from 'zod';\nimport { DefaultEntitySchema } from '../base-contract';\nimport { UserSchema } from '../user/schema';\n\n/**\n * Channel Types Enum\n */\nexport const ChannelTypeSchema = z.enum([\n 'whatsapp',\n 'messenger',\n 'telegram',\n 'line',\n 'viber',\n 'kakao',\n 'shopee',\n 'lazada',\n]);\n\n/**\n * Channel Status Type Enum\n */\nexport const ChannelStatusTypeSchema = z.union([\n z.literal(1), // on\n z.literal(0), // off\n]);\n\n/**\n * Channel metadata\n */\nexport const ChannelMetadataSchema = z.object({\n id: z.string(),\n name: z.string(),\n accessToken: z.string(),\n additionalCredentials: z.any().optional(),\n});\n\n/**\n * Connect channel schema\n */\nexport const ChannelSchema = DefaultEntitySchema.extend({\n name: z.string(),\n type: ChannelTypeSchema,\n metadata: ChannelMetadataSchema,\n brandName: z.string(),\n platformId: z.string().uuid(),\n status: ChannelStatusTypeSchema,\n isReloginRequired: z.boolean(),\n connectedUserName: z.string(),\n connectedUserId: z.string(),\n actor: UserSchema,\n})\n .partial()\n .optional();\n","import z from 'zod';\nimport { UserSchema } from '../user/schema';\nimport { ChannelMetadataSchema, ChannelTypeSchema } from './schema';\n\nexport const ConnectChannelSchema = z.object({\n name: z.string(),\n type: ChannelTypeSchema,\n metadata: ChannelMetadataSchema,\n platformId: z.string(),\n brandName: z.string(),\n connectedUserName: z.string(),\n connectedUserId: z.string(),\n actor: UserSchema,\n});\n","import { initContract } from '@ts-rest/core';\nimport z from 'zod';\nimport {\n DefaultErrorResponseSchema,\n DefaultHeaderSchema,\n DefaultSuccessResponseSchema,\n DefaultUnauthorizedSchema,\n} from '../base-contract';\nimport { ContactSchema } from '../contact/schema';\nimport {\n MessageSchema,\n RoomSchema,\n UnreadCountsByAssigneeSchema,\n} from './schema';\nimport {\n GetRoomsSchema,\n SearchRoomsSchema,\n SendMessageSchema,\n SendMessageToPlatformSchema,\n SolveRoomSchema,\n UpdateAssigneeSchema,\n UpdateRoomAttributesSchema,\n UpdateRoomTagsAndNotesSchema,\n} from './validation';\n\nexport type GetRoomRequest = z.infer<typeof GetRoomsSchema>;\nexport type UpdateRoomAttributesRequest = z.infer<\n typeof UpdateRoomAttributesSchema\n>;\nexport type UpdateRoomTagsAndNotesRequest = z.infer<\n typeof UpdateRoomTagsAndNotesSchema\n>;\nexport type SendMessageRequest = z.infer<typeof SendMessageSchema>;\nexport type SolveRoomRequest = z.infer<typeof SolveRoomSchema>;\nexport type UpdateAssigneeRequest = z.infer<typeof UpdateAssigneeSchema>;\nexport type SearchRoomsRequest = z.infer<typeof SearchRoomsSchema>;\nexport type SendMessageToPlatformRequest = z.infer<typeof SendMessageToPlatformSchema>\n\nexport const mainChatContract = initContract().router(\n {\n getRooms: {\n method: 'GET',\n path: '/rooms',\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n total: z.number(),\n page: z.number(),\n pageSize: z.number(),\n data: z.array(RoomSchema),\n unreadCountsByAssignee: z.array(UnreadCountsByAssigneeSchema),\n }),\n 401: DefaultUnauthorizedSchema,\n },\n query: GetRoomsSchema,\n summary: 'Get rooms',\n },\n\n getRoomContact: {\n method: 'GET',\n path: '/contact/:contactId',\n pathParams: z.object({\n contactId: z.string().uuid(),\n }),\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: ContactSchema,\n }),\n },\n summary: 'Get Contacts',\n },\n\n updateRoomAttributes: {\n method: 'PUT',\n path: '/room',\n body: UpdateRoomAttributesSchema,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: RoomSchema,\n }),\n },\n summary: 'Update room attributes',\n },\n\n updateRoomTagsAndNotes: {\n method: 'PATCH',\n path: '/room/:roomId',\n body: UpdateRoomAttributesSchema,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: RoomSchema,\n }),\n },\n summary: 'Update room tags and notes',\n },\n\n sendMessage: {\n method: 'POST',\n path: '/message',\n body: SendMessageSchema,\n responses: {\n 200: null,\n },\n summary: 'Send message to room',\n },\n\n getMessages: {\n method: 'GET',\n path: '/message/:roomId',\n pathParams: z.object({\n roomId: z.string().uuid(),\n }),\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: z.array(MessageSchema),\n }),\n },\n summary: 'Get messages',\n },\n\n solveRoom: {\n method: 'POST',\n path: '/room/solve',\n body: SolveRoomSchema,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: RoomSchema.extend({\n solveMessage: z.string(),\n }),\n }),\n 409: DefaultErrorResponseSchema,\n },\n summary: 'Solve room',\n },\n\n updateAssignee: {\n method: 'POST',\n path: '/room/assignee/update',\n body: UpdateAssigneeSchema,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: RoomSchema,\n }),\n },\n summary: 'Update room assignee',\n },\n\n getRoom: {\n method: 'GET',\n path: '/room/:roomId',\n pathParams: z.object({\n roomId: z.string().uuid(),\n }),\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: RoomSchema,\n }),\n 404: DefaultErrorResponseSchema,\n },\n summary: 'Get Room by id',\n },\n\n createRoom: {\n method: 'POST',\n path: '/room/create/:roomid',\n pathParams: z.object({\n roomId: z.string().uuid(),\n }),\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: RoomSchema.extend({\n contact: ContactSchema,\n openMessage: z.string(),\n }),\n }),\n },\n body: null,\n summary: 'Create new latest room by room id',\n },\n\n readRoom: {\n method: 'POST',\n path: '/room/:roomid/read',\n pathParams: z.object({\n roomId: z.string().uuid(),\n }),\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: RoomSchema.extend({\n description: z.string().nullable(),\n }),\n }),\n },\n body: null,\n summary: 'Read room messages by room id',\n },\n\n searchRooms: {\n method: 'GET',\n path: '/search',\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n total: z.number(),\n page: z.number(),\n pageSize: z.number(),\n data: z.array(RoomSchema),\n }),\n },\n query: SearchRoomsSchema,\n summary: 'Search Rooms',\n },\n },\n {\n baseHeaders: DefaultHeaderSchema,\n pathPrefix: 'chat'\n },\n);\n","import z from 'zod';\nimport { DefaultEntitySchema } from '../base-contract';\nimport { TagSchema } from '../tag/schema';\nimport { CompanySchema } from '../company/schema';\nimport { AttributeSchema } from '../attribute/schema';\nimport { UploadSchema } from '../upload/schema';\n\nexport const ContactPhonesSchema = z.object({\n id: z.string().uuid(),\n createdAt: z.date(),\n updatedAt: z.date(),\n deletedAt: z.date().nullable(),\n phone: z.string(),\n isPrimary: z.boolean(),\n});\n\nexport const ContactEmailsSchema = z.object({\n id: z.string().uuid(),\n createdAt: z.date(),\n updatedAt: z.date(),\n deletedAt: z.date().nullable(),\n email: z.string(),\n isPrimary: z.boolean(),\n});\n\nexport const ContactCustomFieldSchema = z.object({\n id: z.string().uuid(),\n createdAt: z.date(),\n updatedAt: z.date(),\n deletedAt: z.date().nullable(),\n textValue: z.string().nullable(),\n booleanValue: z.boolean().nullable(),\n numberValue: z.number().nullable(),\n dateValue: z.date().nullable(),\n attribute: AttributeSchema.omit({ options: true, group: true }),\n uploads: z.array(\n DefaultEntitySchema.extend({\n customFieldId: z.string(),\n upload: UploadSchema,\n }),\n ),\n});\n\nexport const ContactEntityTypesSchema = z.object({\n id: z.string().uuid(),\n createdAt: z.date(),\n updatedAt: z.date(),\n deletedAt: z.date().nullable(),\n entity: z.string(),\n description: z.string().nullable(),\n});\n\nexport const ContactActivitySchema = z.object({\n id: z.string().uuid(),\n createdAt: z.date(),\n updatedAt: z.date(),\n deletedAt: z.date().nullable(),\n entityId: z.string(),\n description: z.string(),\n entityType: ContactEntityTypesSchema,\n});\n\nexport const ContactSchema = z.object({\n id: z.string().uuid(),\n createdAt: z.date(),\n updatedAt: z.date(),\n deletedAt: z.date().nullable(),\n name: z.string(),\n address: z.string().nullable(),\n channel: z.string().nullable(),\n notes: z.string().nullable(),\n contactProfile: z.string().nullable(),\n socialProfileUrl: z.string().nullable(),\n tags: z.array(TagSchema),\n company: CompanySchema.omit({ customFields: true }).nullable(),\n // room: z.array(RoomSchema).optional(),\n customFields: z.array(ContactCustomFieldSchema),\n contactEmails: z.array(ContactEmailsSchema),\n contactPhones: z.array(ContactPhonesSchema),\n activityLogs: z.array(ContactActivitySchema).optional(),\n});\n","import z from 'zod';\nimport { DefaultEntitySchema } from '../base-contract';\n\nexport const TagSchema = DefaultEntitySchema.extend({\n name: z.string(),\n});\n\nexport const TagGroupSchema = z.union([\n z.literal('general'),\n z.literal('contact'),\n]);\n","import z from 'zod';\nimport { DefaultEntitySchema } from '../base-contract';\nimport { AttributeSchema } from '../attribute/schema';\n\nconst CompanyCustomFieldSchema = DefaultEntitySchema.extend({\n textValue: z.string().nullable(),\n booleanValue: z.boolean().nullable(),\n numberValue: z.number().nullable(),\n dateValue: z.string().nullable(),\n attribute: AttributeSchema.omit({ options: true, group: true }),\n});\n\n// tempo fix for ooredoo tenant, as they will come undefined\nexport const CompanySchema = DefaultEntitySchema.extend({\n name: z.string().optional(),\n phone: z.string().nullable().optional(),\n address: z.string().nullable().optional(),\n industry: z.string().nullable().optional(),\n customFields: z.array(CompanyCustomFieldSchema).optional(),\n});\n","import z from 'zod';\nimport { DefaultEntitySchema } from '../base-contract';\n\nexport const UploadSchema = DefaultEntitySchema.extend({\n bucketName: z.string(),\n fileName: z.string(),\n fileSize: z.number(),\n fileKey: z.string(),\n});\n","import z from 'zod';\nimport { DefaultEntitySchema } from '../base-contract';\nimport { ChannelSchema, ChannelTypeSchema } from '../channel/schema';\nimport { ContactSchema } from '../contact/schema';\nimport { UploadSchema } from '../upload/schema';\nimport { UserSchema } from '../user/schema';\n\n/**\n * Directions Enum\n */\nexport const MessageDirectionTypeSchema = z.enum([\n 'incoming',\n 'outgoing',\n 'system',\n]);\n\n/**\n * Message Type Enum\n */\nexport const MessageTypeSchema = z.enum([\n 'text',\n 'image',\n 'video',\n 'audio',\n 'file',\n 'fallback',\n 'location',\n 'attachment',\n 'assign',\n 'solve',\n 'reopen',\n 'open',\n 'sticker',\n 'closed',\n 'handed_over',\n 'updated',\n 'started',\n]);\n\n/**\n * Message Type Enum\n */\nexport const MessageLocaleTypeSchema = z.enum([\n 'mm',\n 'en',\n 'th',\n]);\n\n/**\n * Channel metadata\n */\nexport const PlatformContactMetadataSchema = z.object({\n id: z.string(),\n name: z.string(),\n picture: z.string(),\n additionalCredentials: z.any(),\n});\n\n/**\n * Platform Contact\n */\nexport const PlatformContactSchema = DefaultEntitySchema.extend({\n channelId: z.string().uuid(),\n socialPlatformId: z.string().uuid(),\n platform: ChannelTypeSchema,\n metadata: PlatformContactMetadataSchema,\n contact: ContactSchema,\n});\n\n/**\n * Room\n */\nexport const RoomSchema = DefaultEntitySchema.extend({\n lastMessage: z.string(),\n handleTime: z.number(),\n isSolved: z.boolean(),\n closeAt: z.date(),\n unreadCount: z.number(),\n firstResponseTime: z.date(),\n isLatest: z.boolean(),\n direction: MessageDirectionTypeSchema,\n platformContact: PlatformContactSchema,\n actor: UserSchema,\n assignee: UserSchema,\n channel: ChannelSchema,\n});\n\n/**\n * Message\n */\nexport const MessageSchema = DefaultEntitySchema.extend({\n message: z.string(),\n direction: MessageDirectionTypeSchema,\n type: MessageTypeSchema,\n readAt: z.date(),\n metadata: z.any(),\n platformId: z.string(),\n platformMessageId: z.string(),\n replyPlatformMessageId: z.string(),\n template: z.any(),\n locale: MessageLocaleTypeSchema,\n isSent: z.boolean(),\n room: RoomSchema,\n upload: UploadSchema,\n actor: UserSchema,\n assignee: UserSchema,\n sender: UserSchema,\n});\n\n/**\n * Unread Counts\n */\nexport const UnreadCountsByAssigneeSchema = z.object({\n assigneeId: z.string(),\n totalUnreadCount: z.number(),\n});\n","import z from 'zod';\nimport { DefaultQueryParamsSchema } from '../base-contract';\nimport { CustomFieldSchema } from '../custom-field/schema';\nimport { UserSchema } from '../user/schema';\nimport { MessageDirectionTypeSchema, MessageSchema, MessageTypeSchema, RoomSchema } from './schema';\n\nexport const GetRoomsSchema = z.object({\n page: z.coerce.number().positive().default(1),\n pageSize: z.coerce.number().positive().default(20),\n contactTagIds: z.string().array().optional(),\n contactIds: z.string().array().optional(),\n agentIds: z.string().array().optional(),\n roomTagIds: z.string().array().optional(),\n keyword: z.string().optional(),\n company: z.string().array().optional(),\n channel: z.string().array().optional(),\n name: z.string().optional(),\n address: z.string().optional(),\n contactGroups: z.string().array().optional(),\n selectedDate: z.string().optional(),\n customFields: z.array(CustomFieldSchema).optional(),\n tags: z.string().array().optional(),\n phone: z.string().optional(),\n email: z.string().optional(),\n notes: z.string().optional(),\n tab: z.string().optional(),\n});\n\nexport const UpdateRoomTagsAndNotesSchema = z.object({\n notes: z.string().optional(),\n tags: z.string().array().optional(),\n});\n\nexport const UpdateRoomAttributesSchema = UpdateRoomTagsAndNotesSchema.extend({\n roomId: z.string().uuid(),\n});\n\nexport const MessageAttachmentSchema = z.object({\n bucketName: z.string(),\n fileKey: z.string(),\n fileName: z.string(),\n fileSize: z.number(),\n url: z.string(),\n fileType: MessageTypeSchema,\n thumbnailUrl: z.string().optional(),\n});\n\nexport const SendMessageSchema = z.object({\n roomId: z.string().uuid(),\n messageType: MessageTypeSchema,\n message: z.string().optional(),\n direction: MessageDirectionTypeSchema,\n messageAttachments: MessageAttachmentSchema.optional(),\n user: UserSchema.optional(),\n packageId: z.number().optional(),\n stickerId: z.number().optional(),\n});\n\nexport const SolveRoomSchema = z.object({\n roomId: z.string(),\n});\n\nexport const UpdateAssigneeSchema = SolveRoomSchema.extend({\n assigneeId: z.string().uuid(),\n});\n\nexport const SearchRoomsSchema = DefaultQueryParamsSchema.extend({\n query: z.string(),\n});\n\n\nexport const SendMessageToPlatformSchema = z.object({\n room: RoomSchema,\n message: MessageSchema,\n url: z.string().optional()\n})","import z from 'zod';\nimport { DefaultEntitySchema } from '../base-contract';\n\nexport const CustomFieldSchema = DefaultEntitySchema.extend({\n textValue: z.string().nullable(),\n booleanValue: z.boolean().nullable(),\n numberValue: z.number().nullable(),\n dateValue: z.date().nullable(),\n entityId: z.string().uuid(),\n attributeId: z.string().uuid(),\n});\n","import { initContract } from '@ts-rest/core';\nimport {\n DefaultHeaderSchema,\n DefaultNotFoundSchema,\n DefaultSuccessResponseSchema,\n DefaultUnauthorizedSchema,\n DefaultUnprocessibleSchema,\n} from '../base-contract';\nimport z from 'zod';\nimport { ContactContractValidationSchema } from './validation';\nimport { ContactSchema } from './schema';\n\nexport type CreateContactRequest = z.infer<\n typeof ContactContractValidationSchema.create.request\n>;\nexport type CreateContactResponse = z.infer<\n typeof ContactContractValidationSchema.create.response\n>;\nexport type CreateContactByPhoneRequest = z.infer<\n typeof ContactContractValidationSchema.createContactByPhone.request\n>;\nexport type CreateContactByPhoneResponse = z.infer<\n typeof ContactContractValidationSchema.createContactByPhone.response\n>;\nexport type GetAllContactRequest = z.infer<\n typeof ContactContractValidationSchema.getAll.request\n>;\n\nexport type UpdateContactRequest = Partial<CreateContactRequest>;\nexport type UpdateContactResponse = CreateContactResponse;\n\nexport type Contact = z.infer<typeof ContactSchema>;\n\nexport const contactContract = initContract().router(\n {\n create: {\n method: 'POST',\n path: '',\n responses: {\n 201: DefaultSuccessResponseSchema.extend({\n message: ContactContractValidationSchema.create.response,\n }),\n 400: z.object({\n message: z.string(),\n }),\n 409: z.object({\n message: z.string(),\n }),\n 500: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 404: DefaultNotFoundSchema,\n 422: DefaultUnprocessibleSchema,\n },\n body: ContactContractValidationSchema.create.request,\n summary: 'Create a new contact',\n },\n getById: {\n method: 'GET',\n path: '/:id',\n pathParams: ContactContractValidationSchema.getById.request,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: ContactContractValidationSchema.getById.response,\n }),\n 400: z.object({\n message: z.string(),\n }),\n 409: z.object({\n message: z.string(),\n }),\n 500: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 404: DefaultNotFoundSchema,\n 422: DefaultUnprocessibleSchema,\n },\n summary: 'Get a contact by id',\n },\n getAll: {\n method: 'GET',\n path: '',\n query: ContactContractValidationSchema.getAll.request,\n responses: {\n 200: DefaultSuccessResponseSchema.extend(\n ContactContractValidationSchema.getAll.response,\n ),\n 400: z.object({\n message: z.string(),\n }),\n 409: z.object({\n message: z.string(),\n }),\n 500: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 404: DefaultNotFoundSchema,\n 422: DefaultUnprocessibleSchema,\n },\n summary: 'Get all contacts',\n },\n update: {\n method: 'PATCH',\n path: '/:id',\n pathParams: ContactContractValidationSchema.getById.request,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: ContactContractValidationSchema.getById.response,\n }),\n 400: z.object({\n message: z.string(),\n }),\n 409: z.object({\n message: z.string(),\n }),\n 500: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 404: DefaultNotFoundSchema,\n 422: DefaultUnprocessibleSchema,\n },\n body: ContactContractValidationSchema.create.request.partial(),\n summary: 'Update a contact',\n },\n delete: {\n method: 'DELETE',\n path: '/:id',\n pathParams: ContactContractValidationSchema.delete.request,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n message: ContactContractValidationSchema.delete.response,\n }),\n 400: z.object({\n message: z.string(),\n }),\n 409: z.object({\n message: z.string(),\n }),\n 500: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 404: DefaultNotFoundSchema,\n 422: DefaultUnprocessibleSchema,\n },\n body: null,\n summary: 'Delete a contact',\n },\n createContactByPhone: {\n method: 'POST',\n path: '/phone',\n responses: {\n 201: DefaultSuccessResponseSchema.extend({\n data: ContactContractValidationSchema.createContactByPhone.response,\n }),\n 400: z.object({\n message: z.string(),\n }),\n 409: z.object({\n message: z.string(),\n }),\n 500: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 404: DefaultNotFoundSchema,\n 422: DefaultUnprocessibleSchema,\n },\n body: ContactContractValidationSchema.createContactByPhone.request,\n summary: 'Create a new contact using phone number',\n },\n },\n {\n baseHeaders: DefaultHeaderSchema,\n pathPrefix: 'contact',\n },\n);\n","import z from 'zod';\nimport { ContactSchema } from './schema';\n\nexport const BaseSchema = z.object({\n isRequired: z.boolean(),\n attributeId: z.string(),\n});\n\nconst SingleValue = {\n value: z.string(),\n};\n\nexport const ContactContractValidationSchema = {\n create: {\n request: z.object({\n name: BaseSchema.extend(SingleValue),\n email: BaseSchema.extend({\n value: z.array(\n z.object({\n email: z.string(),\n isPrimary: z.boolean(),\n }),\n ),\n }),\n channel: BaseSchema.extend(SingleValue),\n address: BaseSchema.extend(SingleValue),\n phone: BaseSchema.extend({\n value: z.array(\n z.object({\n phone: z.string(),\n isPrimary: z.boolean(),\n }),\n ),\n }).optional(),\n notes: BaseSchema.extend(SingleValue),\n tags: BaseSchema.extend({\n value: z.array(z.string()),\n }),\n company: BaseSchema.extend(SingleValue),\n customFields: z.array(\n BaseSchema.extend({\n value: z.union([z.string(), z.array(z.string())]),\n type: z.string(),\n isDefaultAttribute: z.boolean(),\n }),\n ),\n }),\n response: z.string(),\n },\n getById: {\n request: z.object({\n id: z.string().uuid(),\n }),\n response: ContactSchema,\n },\n delete: {\n request: z.object({\n id: z.string().uuid(),\n }),\n response: z.string(),\n },\n getAll: {\n request: z\n .object({\n page: z.coerce.number().default(1),\n pageSize: z.coerce.number().default(10),\n keyword: z.string().optional(),\n company: z.array(z.string().uuid()),\n name: z.string(),\n address: z.string(),\n channel: z.array(z.string()),\n selectedDate: z.string(),\n customFields: z.array(\n z.object({\n attributeId: z.string().uuid(),\n type: z.string(),\n value: z.union([z.string(), z.array(z.string())]),\n }),\n ),\n tags: z.array(z.string().uuid()),\n phone: z.string(),\n email: z.string(),\n notes: z.string(),\n })\n .partial(),\n response: {\n page: z.number(),\n pageSize: z.number(),\n total: z.number(),\n data: z.array(ContactSchema),\n },\n },\n createContactByPhone: {\n request: z.object({\n phoneNumber: z.string().refine(\n (value) => {\n // Remove spaces and check if the remaining characters are numeric\n const numericValue = value.replace(/\\s/g, '');\n return /^\\d+$/.test(numericValue);\n },\n {\n message: 'Phone number must contain only numeric characters',\n },\n ),\n }),\n response: ContactSchema,\n },\n};\n","import { initContract } from '@ts-rest/core';\nimport {\n DefaultHeaderSchema,\n DefaultSuccessResponseSchema,\n DefaultUnauthorizedSchema,\n} from '../base-contract';\nimport z from 'zod';\nimport { CxLogSchema } from './schema';\nimport { GetAllCxLogQueryParamsSchema } from './validation';\n\nexport type CXLog = z.infer<typeof CxLogSchema>;\nexport type GetAllCxLogRequest = z.infer<typeof GetAllCxLogQueryParamsSchema>;\n\nexport const cxLogContract = initContract().router({\n findAll: {\n method: 'GET',\n path: '/cx-logs',\n headers: DefaultHeaderSchema,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n total: z.number(),\n page: z.number(),\n pageSize: z.number(),\n cxLogs: z.array(CxLogSchema),\n }),\n 401: DefaultUnauthorizedSchema,\n },\n query: GetAllCxLogQueryParamsSchema,\n summary: 'Get all cx-logs',\n },\n});\n","import z from 'zod';\nimport { DefaultEntitySchema } from '../base-contract';\n\nexport const CxLogSchema = DefaultEntitySchema.extend({\n caseId: z.number(),\n entityId: z.string().uuid(),\n entityName: z.string(),\n contactId: z.string().uuid().nullable(),\n channel: z.string().nullable(),\n queueId: z.string().uuid().nullable(),\n agentId: z.string().uuid().nullable(),\n direction: z.string().nullable(),\n startedDate: z.date().nullable(),\n handledTime: z.number().nullable(),\n firstResponseTime: z.number().nullable(),\n disposition: z.string().nullable(),\n});\n","import z from 'zod';\nimport { DefaultQueryParamsSchema } from '../base-contract';\n\n//#region cx-logs query params\nconst sentimentScoreSchema = z.union([\n z.literal('positive'),\n z.literal('negative'),\n]);\n\nconst CustomFieldQueryParamsSchema = z.object({\n attributeId: z.string(),\n value: z.union([z.string(), z.array(z.string())]),\n type: z.string().optional(),\n});\n\nexport const GetAllCxLogQueryParamsSchema = DefaultQueryParamsSchema.extend({\n contactId: z.string().uuid(),\n caseId: z.string(),\n channelIds: z.array(z.string().uuid()),\n queueId: z.array(z.string()),\n agentIds: z.array(z.string()),\n direction: z.array(z.union([z.literal('inbound'), z.literal('outbound')])),\n disposition: z.array(z.string()),\n sentimentScore: z.array(sentimentScoreSchema),\n csatScore: z.string(),\n sla: z.array(z.union([z.literal('meet'), z.literal('unmeet')])),\n tags: z.array(z.string()), // General tags\n // Default contact attributes\n name: z.string(),\n contactLabels: z.array(z.string()),\n email: z.string(),\n channel: z.array(z.string()),\n phone: z.string(),\n notes: z.string(),\n address: z.string(),\n company: z.array(z.string()),\n // Custom fields\n customFields: z.array(CustomFieldQueryParamsSchema),\n // Date filter\n selectedDate: z.string(),\n})\n .partial()\n .optional();\n//#endregion\n","import { initContract } from '@ts-rest/core';\nimport z from 'zod';\nimport { WithPagination } from '../../utils';\nimport {\n DefaultErrorResponseSchema,\n DefaultHeaderSchema,\n DefaultSuccessResponseSchema,\n DefaultUnauthorizedSchema,\n} from '../base-contract';\nimport { ExtensionSchema } from './schema';\nimport { CreateExtensionSchema, UpdateExtensionSchema } from './validation';\nimport { UserSchema } from '../user/schema';\n\n// Request types\nexport type CreateExtensionRequest = z.infer<typeof CreateExtensionSchema>;\nexport type UpdateExtensionRequest = z.infer<typeof UpdateExtensionSchema>;\n\nexport const extensionContract = initContract().router(\n {\n createExtension: {\n method: 'POST',\n path: '',\n headers: DefaultHeaderSchema,\n body: CreateExtensionSchema,\n responses: {\n 201: DefaultSuccessResponseSchema.extend({\n extension: ExtensionSchema,\n }),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Create a extension.',\n },\n\n getExtensions: {\n method: 'GET',\n path: '',\n query: z\n .object({\n page: z.coerce.number().default(1),\n pageSize: z.coerce.number().default(10),\n keyword: z.string().optional(),\n })\n .optional(),\n headers: DefaultHeaderSchema,\n responses: {\n 200: WithPagination(\n // The response data should contain the user relation.\n ExtensionSchema.extend({\n user: UserSchema,\n }),\n ),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Get all extensions',\n },\n\n getExtensionByUserId: {\n method: 'GET',\n path: '/user/:userId',\n pathParams: z.object({ userId: z.string() }),\n headers: DefaultHeaderSchema,\n responses: {\n 200: ExtensionSchema,\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Get extension by user id',\n },\n\n getExtensionByDialpad: {\n method: 'GET',\n path: '/dialpad',\n query: z\n .object({\n page: z.coerce.number().default(1),\n pageSize: z.coerce.number().default(10),\n keyword: z.string().optional(),\n })\n .optional(),\n headers: DefaultHeaderSchema,\n responses: {\n 200: WithPagination(ExtensionSchema),\n 500: DefaultErrorResponseSchema,\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n },\n summary: 'Get by dialpad',\n },\n\n updateExtension: {\n method: 'PATCH',\n path: '/:id',\n pathParams: z.object({ id: z.string() }),\n headers: DefaultHeaderSchema,\n body: UpdateExtensionSchema,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n extension: ExtensionSchema,\n }),\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Update a extension.',\n },\n\n deleteExtension: {\n method: 'DELETE',\n path: '/:id',\n pathParams: z.object({ id: z.string() }),\n headers: DefaultHeaderSchema,\n body: null,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({ message: z.string() }),\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Delete a extension.',\n },\n },\n { pathPrefix: 'extension' },\n);\n\n// left getExtensionListByYeastar\n","import { z } from 'zod';\n\nexport const CreateExtensionSchema = z.object({\n userId: z.string().nullable(),\n sipUserName: z.string(),\n extensionId: z.coerce.number().nullable(),\n extensionName: z.string().nullable(),\n telephonySignature: z.string().nullable().optional(),\n});\n\nexport const UpdateExtensionSchema = CreateExtensionSchema;\n","import { initContract } from '@ts-rest/core';\nimport z from 'zod';\nimport { DefaultErrorResponseSchema, DefaultSuccessResponseSchema } from '../base-contract';\nimport { ConnectLineSchema } from './schema';\nimport { SendLineStickerSchema } from './validation';\n\nexport type SendLineStickerRequest = z.infer<typeof SendLineStickerSchema>\n\nexport const lineContract = initContract().router({\n sendSticker: {\n method: \"POST\",\n path: 'sticker',\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: z.any()\n }),\n 500: DefaultErrorResponseSchema\n },\n body: SendLineStickerSchema,\n summary: \"Send sticker to LINE\",\n },\n\n connect: {\n method: \"POST\",\n path: 'connect',\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: z.any()\n }),\n 500: DefaultErrorResponseSchema\n },\n body: ConnectLineSchema,\n summary: \"Connect to LINE channel\",\n }\n})\n","import z from 'zod';\n\nexport const ConnectLineSchema = z.object({\n id: z.string(),\n accessToken: z.string()\n});","import z from 'zod';\n\n// #send sticker payload\nexport const SendLineStickerSchema = z.object({\n userId: z.string().uuid(),\n packageId: z.string(),\n stickerId: z.string(),\n accessToken: z.string(),\n})\n","import { initContract } from '@ts-rest/core';\nimport { DefaultSuccessResponseSchema } from '../base-contract';\nimport z from 'zod';\n\nexport const emailEngineWebhooksEventsContract = initContract().router({\n handleWebhooksEvents: {\n method: 'POST',\n path: '/email_engine/webhooks',\n // we don't need to respone anything but added responses just for solving type error\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n message: z.string(),\n }),\n },\n body: null,\n summary:\n 'Handle email engine webhooks events such as authenticationSuccess, messageNew',\n },\n});\n","import { initContract } from '@ts-rest/core';\nimport { roomContract } from './room-contract';\nimport { accountContract } from './account-contract';\nimport { serverContract } from './mail-server-contract';\nimport { messageContract } from './message-contract';\n\nexport const mailContract = initContract().router({\n room: roomContract,\n message: messageContract,\n account: accountContract,\n server: serverContract,\n});\n","import { initContract } from '@ts-rest/core';\nimport z from 'zod';\nimport {\n AttachmentSchema,\n MailRoomSchema,\n MailUserSchema,\n} from './schemas/room.schema';\nimport {\n DefaultSuccessResponseSchema,\n DefaultResponses,\n} from '../base-contract';\n\nexport const roomContract = initContract().router(\n {\n create: {\n method: 'POST',\n path: '/',\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n message: z.string(),\n }),\n ...DefaultResponses,\n },\n body: null,\n summary: 'Create a new room for new incoming mail',\n },\n getAll: {\n method: 'GET',\n path: '',\n query: z.object({\n page: z.coerce.number().default(1),\n pageSize: z.coerce.number().default(10),\n keyword: z.string().optional(),\n assigneeId: z.string().uuid().optional().nullable(),\n resolved: z\n .boolean()\n .or(z.string().transform((value) => value.toLowerCase() === 'true'))\n .optional()\n .nullable(),\n }),\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: z.array(MailRoomSchema),\n total: z.number(),\n page: z.number(),\n pageSize: z.number(),\n }),\n ...DefaultResponses,\n },\n summary: 'Get mail rooms',\n },\n getById: {\n method: 'GET',\n path: '/:id',\n pathParams: z.object({\n id: z.string().uuid(),\n }),\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: MailRoomSchema,\n }),\n ...DefaultResponses,\n },\n summary: 'Get a mail room by id',\n },\n getAttachments: {\n method: 'GET',\n path: '/:id/attachments',\n pathParams: z.object({\n id: z.string().uuid(),\n }),\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: z.array(AttachmentSchema),\n }),\n ...DefaultResponses,\n },\n summary: 'Get all the attachments of a room',\n },\n getParticipants: {\n method: 'GET',\n path: '/:id/participants',\n pathParams: z.object({\n id: z.string().uuid(),\n }),\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: z.array(MailUserSchema),\n }),\n ...DefaultResponses,\n },\n summary: 'Get all the attachments of a room',\n },\n update: {\n method: 'PATCH',\n path: '/:id',\n pathParams: z.object({\n id: z.string(),\n }),\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: MailRoomSchema,\n }),\n ...DefaultResponses,\n },\n body: z.object({\n resolved: z\n .boolean()\n .or(\n z\n .union([z.literal('true'), z.literal('false')])\n .transform((value) => value.toLowerCase() === 'true'),\n )\n .optional()\n .nullable(),\n assigneeId: z.string().uuid().optional().nullable(),\n note: z.string().optional(),\n tags: z.array(z.string().uuid()).optional(),\n handover: z\n .boolean()\n .or(\n z\n .union([z.literal('true'), z.literal('false')])\n .transform((value) => value.toLowerCase() === 'true'),\n )\n .optional()\n .nullable(),\n }),\n summary: 'Update a mail room by id',\n },\n\n markAsRead: {\n method: 'GET',\n path: '/:id',\n pathParams: z.object({\n id: z.string().uuid(),\n }),\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n message: z.string(),\n }),\n ...DefaultResponses,\n },\n summary: 'Mark all the un read messages as read',\n },\n },\n {\n pathPrefix: 'mail/room',\n },\n);\n","import z from 'zod';\nimport { MailAccountSchema } from './account.schema';\nimport { UploadSchema } from '../../upload/schema';\nimport { MessageSchema } from './message.schema';\n\nexport const MailUserSchema = z.object({\n id: z.string(),\n createdAt: z.date(),\n updatedAt: z.date(),\n deletedAt: z.date().nullable(),\n name: z.string(),\n address: z.string(),\n});\n\nexport const TagSchema = z.object({\n color: z.string(),\n id: z.string(),\n createdAt: z.date(),\n updatedAt: z.date(),\n deletedAt: z.date().nullable(),\n name: z.string(),\n});\n\nexport const UserModel = z.object({\n id: z.string().uuid(),\n createdAt: z.date(),\n updatedAt: z.date(),\n deletedAt: z.date().nullable(),\n name: z.string(),\n email: z.string(),\n address: z.string().nullable(),\n phone: z.string().nullable(),\n notification_count: z.number().nullable(),\n});\n\nconst ActivityLogModel = z.object({\n id: z.string(),\n createdAt: z.string(),\n updatedAt: z.string(),\n deletedAt: z.nullable(z.string()),\n description: z.string(),\n actorId: z.string(),\n roomId: z.string(),\n actor: UserModel,\n});\n\nconst MessagesAndLogs = z.array(z.union([MessageSchema, ActivityLogModel]));\n\nexport const MailRoomSchema = z.object({\n id: z.string(),\n createdAt: z.date(),\n updatedAt: z.date(),\n deletedAt: z.date().nullable(),\n subject: z.string(),\n resolved: z.boolean(),\n assigneeId: z.string().nullable(),\n note: z.string(),\n mailId: z.string(),\n direction: z.string(),\n lastMessageId: z.string(),\n firstMessageId: z.string(),\n from: z.array(MailUserSchema),\n to: z.array(MailUserSchema),\n cc: z.array(MailUserSchema),\n bcc: z.array(MailUserSchema),\n firstMessage: MessageSchema,\n lastMessage: MessageSchema,\n tags: z.array(TagSchema),\n assignee: UserModel,\n messages: z.array(MessageSchema),\n messagesAndLogs: MessagesAndLogs,\n mail: MailAccountSchema,\n unReadMessageCount: z.number(),\n});\n\nexport const AttachmentSchema = z.object({\n fileName: z.string(),\n fileType: z.string(),\n emailEngineAttachmentId: z.string(),\n uploadId: z.string(),\n messageId: z.string(),\n roomId: z.string(),\n upload: UploadSchema,\n});\n","import z from 'zod';\n\nexport const MailServerSchema = z.object({\n id: z.string(),\n createdAt: z.date(),\n updatedAt: z.date(),\n deletedAt: z.date().nullable(),\n name: z.string(),\n smtpHost: z.string(),\n smtpPort: z.string(),\n smtpTlsPort: z.string(),\n useTlsForSmtp: z.boolean(),\n imapHost: z.string(),\n imapPort: z.string(),\n imapTlsPort: z.string(),\n useTlsForImap: z.boolean(),\n});\n\nexport const MailAccountSchema = z.object({\n id: z.string(),\n createdAt: z.date(),\n updatedAt: z.date(),\n deletedAt: z.date().nullable(),\n name: z.string(),\n address: z.string(),\n accountId: z.string(),\n mailServerId: z.string(),\n mailServer: MailServerSchema,\n state: z.union([\n z.literal('init'),\n z.literal('syncing'),\n z.literal('connecting'),\n z.literal('connected'),\n z.literal('disconnected'),\n z.literal('authenticationError'),\n z.literal('connectError'),\n z.literal('unset'),\n ]),\n});\n","import z from 'zod';\nimport { MailUserSchema } from './room.schema';\n\nconst AttachmentSchema = z.object({\n id: z.string(),\n createdAt: z.date(),\n updatedAt: z.date(),\n deletedAt: z.nullable(z.date()),\n roomId: z.string(),\n messageId: z.string(),\n fileName: z.string(),\n fileType: z.string(),\n emailEngineAttachmentId: z.string(),\n uploadId: z.string(),\n upload: z.object({\n id: z.string(),\n createdAt: z.date(),\n updatedAt: z.date(),\n deletedAt: z.nullable(z.date()),\n bucket_name: z.string(),\n file_name: z.string(),\n file_key: z.string(),\n file_size: z.number(),\n file_url: z.string(),\n extension_name: z.string(),\n }),\n});\nexport const MessageSchema = z.object({\n id: z.string(),\n createdAt: z.date(),\n updatedAt: z.date(),\n deletedAt: z.nullable(z.date()),\n roomId: z.string(),\n subject: z.string(),\n textPlain: z.string(),\n textHtml: z.string(),\n textId: z.string(),\n emailEngineEmailId: z.string(),\n emailEngineMessageId: z.string(),\n emailEngineReplyTo: z.nullable(z.string()),\n direction: z.string(),\n date: z.date(),\n action: z.string(),\n unseen: z.boolean(),\n seemsLikeNew: z.boolean(),\n from: z.array(MailUserSchema),\n to: z.array(MailUserSchema),\n cc: z.array(MailUserSchema),\n bcc: z.array(MailUserSchema),\n attachments: z.array(AttachmentSchema),\n});\n","import { initContract } from '@ts-rest/core';\nimport z from 'zod';\nimport {\n DefaultHeaderSchema,\n DefaultResponses,\n DefaultSuccessResponseSchema,\n} from '../base-contract';\nimport { AccountContractsValidationSchemas } from './schemas/account-validation.schema';\n\nexport const accountContract = initContract().router(\n {\n //#region ........register account\n create: {\n method: 'POST',\n path: '',\n responses: {\n 201: DefaultSuccessResponseSchema.extend({\n // data: AccountContractsValidationSchemas.create.output,\n message: z.string(),\n }),\n 400: z.object({\n message: z.string(),\n }),\n 409: z.object({\n message: z.string(),\n }),\n 500: z.object({\n message: z.string(),\n }),\n ...DefaultResponses,\n },\n body: AccountContractsValidationSchemas.create.input,\n summary: 'Register a new mail account',\n },\n //#endregion register account\n\n //#region ........get account\n getById: {\n method: 'GET',\n path: '/:id',\n pathParams: AccountContractsValidationSchemas.getById.input,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: AccountContractsValidationSchemas.getById.output,\n }),\n ...DefaultResponses,\n },\n summary: 'Get a account by id',\n },\n //#endregion get account\n\n //#region ........get all account\n //TODO: add pagination parameters\n getAll: {\n method: 'GET',\n path: '',\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: z.any(),\n // data: AccountContractsValidationSchemas.getAll.output,\n }),\n ...DefaultResponses,\n },\n summary: 'Get al accounts',\n },\n //#endregion get all accounts\n\n //#region ........update account\n update: {\n method: 'PATCH',\n path: '/:id',\n pathParams: z.object({\n id: z.string().uuid(),\n }),\n responses: {\n 201: DefaultSuccessResponseSchema.extend({\n data: AccountContractsValidationSchemas.update.output,\n }),\n\n ...DefaultResponses,\n },\n body: AccountContractsValidationSchemas.update.input.partial(),\n summary: 'Update a account by id',\n },\n //#endregion update account\n\n //#region ........disconnect account\n disconnect: {\n method: 'PATCH',\n path: '/:id/disconnect',\n pathParams: AccountContractsValidationSchemas.disconnect.input,\n responses: {\n 201: DefaultSuccessResponseSchema.extend({\n data: AccountContractsValidationSchemas.disconnect.output,\n }),\n ...DefaultResponses,\n },\n body: null,\n summary: 'Disconnect an account',\n },\n //#endregion disconnect account\n\n //#region ........reconnect account\n reconnect: {\n method: 'PATCH',\n path: '/:id/reconnect',\n pathParams: AccountContractsValidationSchemas.reconnect.input,\n responses: {\n 201: DefaultSuccessResponseSchema.extend({\n data: AccountContractsValidationSchemas.reconnect.output,\n }),\n ...DefaultResponses,\n },\n body: null,\n summary: 'Reconnect a disconncted account',\n },\n //#endregion reconnect account\n\n //#region ........delete account\n delete: {\n method: 'DELETE',\n path: '/:id',\n pathParams: AccountContractsValidationSchemas.delete.input,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n message: z.string(),\n }),\n ...DefaultResponses,\n },\n body: null,\n summary: 'Delete an account by id',\n },\n //#endregion delete account\n },\n {\n baseHeaders: DefaultHeaderSchema,\n pathPrefix: 'mail/account',\n },\n);\n","import z from 'zod';\nimport { MailAccountSchema } from './account.schema';\n\nexport const AccountContractsValidationSchemas = {\n create: {\n input: z.object({\n address: z.string().email('Email address must be valid email.'),\n name: z.string().min(1, 'Account name cannot be empty.'),\n password: z.string().min(1, 'Password cannot be empty.'),\n mailServerId: z.string().uuid('Invalid mail_server_id'),\n }),\n },\n getById: {\n input: z.object({\n id: z.string().uuid(),\n }),\n output: MailAccountSchema,\n },\n getAll: {\n output: z.array(MailAccountSchema),\n },\n update: {\n input: MailAccountSchema,\n output: MailAccountSchema,\n },\n disconnect: {\n input: z.object({\n id: z.string().uuid(),\n }),\n output: MailAccountSchema,\n },\n reconnect: {\n input: z.object({\n id: z.string(),\n }),\n output: MailAccountSchema,\n },\n delete: {\n input: z.object({\n id: z.string(),\n }),\n output: MailAccountSchema,\n },\n};\n","import { initContract } from '@ts-rest/core';\nimport z from 'zod';\nimport {\n DefaultResponses,\n DefaultSuccessResponseSchema,\n} from '../base-contract';\n\nexport const serverContract = initContract().router(\n {\n create: {\n method: 'POST',\n path: '/',\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n message: z.string(),\n }),\n ...DefaultResponses,\n },\n body: null,\n summary: 'Register a new mail server',\n },\n get: {\n method: 'GET',\n path: '/:id',\n pathParams: z.object({\n id: z.string(),\n }),\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n message: z.string(),\n }),\n ...DefaultResponses,\n },\n summary: 'Get a mail server by id',\n },\n update: {\n method: 'PATCH',\n path: '/:id',\n pathParams: z.object({\n id: z.string(),\n }),\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n message: z.string(),\n }),\n ...DefaultResponses,\n },\n body: null,\n summary: 'Update a mail server by id',\n },\n\n delete: {\n method: 'PATCH',\n path: '/:id',\n pathParams: z.object({\n id: z.string(),\n }),\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n message: z.string(),\n }),\n ...DefaultResponses,\n },\n body: null,\n summary: 'Delete a mail server by id',\n },\n },\n {\n pathPrefix: 'mail/server',\n },\n);\n","import { initContract } from '@ts-rest/core';\nimport z from 'zod';\nimport {\n DefaultErrorResponseSchema,\n DefaultResponses,\n DefaultSuccessResponseSchema,\n} from '../base-contract';\nimport { MessageSchema } from './schemas/message.schema';\nimport { MessageContractsValidationsSchema } from './schemas/message-validation.schema';\n\nexport const messageContract = initContract().router(\n {\n submit: {\n method: 'POST',\n path: '/submit',\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: MessageContractsValidationsSchema.submit.output,\n }),\n ...DefaultResponses,\n 500: DefaultErrorResponseSchema,\n },\n body: MessageContractsValidationsSchema.submit.input,\n summary: 'Submit a message such compose, reply or forward',\n },\n\n //#region get a message\n getById: {\n method: 'GET',\n path: '/:id',\n pathParams: z.object({\n id: z.string(),\n }),\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n data: MessageSchema,\n }),\n ...DefaultResponses,\n },\n summary: 'Get a message by id',\n },\n //#endregion get a message\n },\n {\n pathPrefix: 'mail/message',\n },\n);\n","import z from 'zod';\n\nconst MailParticipant = z.object({\n name: z.string().optional(),\n address: z.string().email(),\n});\n\nexport const MessageContractsValidationsSchema = {\n submit: {\n input: z.object({\n subject: z.string(),\n text: z.string(),\n html: z.string(),\n from: MailParticipant,\n to: z.array(MailParticipant),\n cc: z.array(MailParticipant).optional(),\n bcc: z.array(MailParticipant).optional(),\n reference: z\n .object({\n messageId: z.string(),\n action: z.union([z.literal('reply'), z.literal('forward')]),\n })\n .optional(),\n attachments: z\n .array(\n z.object({\n fileType: z.string(),\n fileName: z.string(),\n fileKey: z.string(),\n fileSize: z.number(),\n bucketName: z.string(),\n presignedUrl: z.string(),\n }),\n )\n .optional(),\n }),\n output: z.object({\n response: z.string(),\n messageId: z.string(),\n sendAt: z.string(),\n queueId: z.string(),\n }),\n },\n};\n","import { initContract } from '@ts-rest/core';\nimport { DefaultHeaderSchema, DefaultSuccessResponseSchema } from '../base-contract';\nimport { SendMessageToPlatformSchema } from '../chat/validation';\n\nexport const messengerContract = initContract().router({\n sendMessage: {\n method: \"POST\",\n path: '/message',\n body: SendMessageToPlatformSchema,\n responses: {\n 200: DefaultSuccessResponseSchema\n },\n }\n}, {\n baseHeaders: DefaultHeaderSchema\n})","import { initContract } from '@ts-rest/core';\nimport {\n DefaultErrorResponseSchema,\n DefaultHeaderSchema,\n DefaultUnauthorizedSchema,\n} from '../base-contract';\nimport z from 'zod';\nimport { PermissionSchema } from './schema';\n\nexport type Permission = z.infer<typeof PermissionSchema>;\n\nexport const permissionContract = initContract().router(\n {\n getPermissions: {\n method: 'GET',\n path: '',\n headers: DefaultHeaderSchema,\n responses: {\n 200: z.object({ permissions: PermissionSchema.array() }),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Get all permissions',\n },\n },\n { pathPrefix: 'permission' },\n);\n","import { initContract } from '@ts-rest/core';\nimport z from 'zod';\nimport { WithPagination } from '../../utils';\nimport {\n DefaultErrorResponseSchema,\n DefaultHeaderSchema,\n DefaultSuccessResponseSchema,\n DefaultUnauthorizedSchema,\n} from '../base-contract';\nimport { RoleSchema } from './schema';\nimport { CreateRoleSchema, UpdateRoleSchema } from './validation';\n\n// Request types\nexport type CreateRoleRequest = z.infer<typeof CreateRoleSchema>;\nexport type UpdateRoleRequest = z.infer<typeof UpdateRoleSchema>;\n\nexport const roleContract = initContract().router(\n {\n createRole: {\n method: 'POST',\n path: '',\n headers: DefaultHeaderSchema,\n body: CreateRoleSchema,\n responses: {\n 201: DefaultSuccessResponseSchema.extend({\n role: RoleSchema,\n }),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Create a role.',\n },\n\n getRoles: {\n method: 'GET',\n path: '',\n query: z\n .object({\n page: z.coerce.number().default(1),\n pageSize: z.coerce.number().default(10),\n })\n .optional(),\n headers: DefaultHeaderSchema,\n responses: {\n 200: WithPagination(RoleSchema),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Get all roles',\n },\n\n updateRole: {\n method: 'PATCH',\n path: '/:id',\n pathParams: z.object({ id: z.string() }),\n headers: DefaultHeaderSchema,\n body: UpdateRoleSchema,\n responses: {\n 201: DefaultSuccessResponseSchema.extend({\n role: RoleSchema,\n }),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Update a role.',\n },\n\n deleteRole: {\n method: 'DELETE',\n path: '/:id',\n pathParams: z.object({ id: z.string() }),\n headers: DefaultHeaderSchema,\n body: null,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({ message: z.string() }),\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Delete a role.',\n },\n },\n { pathPrefix: 'role' },\n);\n\n// Left - getAuthUserRole\n","import { z } from 'zod';\n\nexport const CreateRoleSchema = z.object({\n systemName: z.string(),\n displayName: z.string(),\n description: z.string().nullable(),\n permissions: z.array(z.string()),\n});\n\nexport const UpdateRoleSchema = CreateRoleSchema;\n","import { initContract } from '@ts-rest/core';\nimport z from 'zod';\nimport {\n DefaultErrorResponseSchema,\n DefaultHeaderSchema,\n DefaultSuccessResponseSchema,\n} from '../base-contract';\nimport { TagSchema } from './schema';\nimport { CreateTagSchema, GetTagsSchema, UpdateTagSchema } from './validation';\n\n// Request types\nexport type CreateTagRequest = z.infer<typeof CreateTagSchema>;\nexport type GetTagsRequest = z.infer<typeof GetTagsSchema>;\nexport type UpdateTagRequest = z.infer<typeof UpdateTagSchema>;\nexport type Tag = z.infer<typeof TagSchema>;\n\nexport const tagContract = initContract().router(\n {\n createTag: {\n method: 'POST',\n path: '',\n body: CreateTagSchema,\n responses: {\n 201: DefaultSuccessResponseSchema.extend({\n tag: TagSchema,\n }),\n 500: DefaultErrorResponseSchema,\n },\n headers: DefaultHeaderSchema,\n },\n getTags: {\n method: 'GET',\n path: '',\n query: GetTagsSchema,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n tags: z.array(TagSchema),\n }),\n 500: DefaultErrorResponseSchema,\n },\n headers: DefaultHeaderSchema,\n },\n updateTag: {\n method: 'PATCH',\n path: '/:id',\n pathParams: z.object({ id: z.string() }),\n body: UpdateTagSchema,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n tag: TagSchema,\n }),\n 500: DefaultErrorResponseSchema,\n },\n headers: DefaultHeaderSchema,\n },\n deleteTag: {\n method: 'DELETE',\n path: '/:id',\n pathParams: z.object({ id: z.string() }),\n body: z.any().optional(), // We don't need the body.\n responses: {\n 200: DefaultSuccessResponseSchema.extend({ message: z.string() }),\n 500: DefaultErrorResponseSchema,\n },\n headers: DefaultHeaderSchema,\n },\n },\n {\n pathPrefix: 'tags',\n },\n);\n","import { z } from 'zod';\nimport { TagGroupSchema } from './schema';\n\nexport const CreateTagSchema = z.object({\n name: z.string(),\n group: TagGroupSchema,\n});\n\nexport const GetTagsSchema = z\n .object({\n group: TagGroupSchema.default('general'),\n keyword: z.string(),\n })\n .partial()\n .optional();\n\nexport const UpdateTagSchema = z.object({ name: z.string() });\n","import { initContract } from '@ts-rest/core';\nimport z from 'zod';\nimport {\n DefaultErrorResponseSchema,\n DefaultHeaderSchema,\n DefaultSuccessResponseSchema,\n DefaultUnauthorizedSchema,\n} from '../base-contract';\nimport { PresenceStatusSchema, UserPresenceStatusSchema } from './schema';\nimport { UpdateUserStatusSchema } from './validation';\n\nexport type UpdateUserStatusRequest = z.infer<typeof UpdateUserStatusSchema>;\n\nexport const telephonyAgentPresenceStatusContract = initContract().router(\n {\n getAllStatus: {\n method: 'GET',\n path: '/presence_status',\n headers: DefaultHeaderSchema,\n responses: {\n 200: z.array(PresenceStatusSchema),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Get all telephony presence status list.',\n },\n\n getAllAgentStatus: {\n method: 'GET',\n path: '/agents/presence_status',\n headers: DefaultHeaderSchema,\n responses: {\n 200: z.array(UserPresenceStatusSchema),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Get all user presence status list.',\n },\n\n getAgentStatus: {\n method: 'GET',\n path: '/presence_status/check_update/:userId',\n pathParams: z.object({ userId: z.string() }),\n headers: DefaultHeaderSchema,\n responses: {\n 200: UserPresenceStatusSchema,\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary:\n 'Check and update user agent status before getting from telephony server.',\n },\n\n updateUserStatus: {\n method: 'POST',\n path: '/presence_status/user',\n headers: DefaultHeaderSchema,\n body: UpdateUserStatusSchema,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({\n userPresenceStatu: UserPresenceStatusSchema,\n }),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Update presence status',\n },\n },\n { pathPrefix: 'telephony' },\n);\n","import z from 'zod';\nimport { DefaultEntitySchema } from '../base-contract';\nimport { UserSchema } from '../user/schema';\n\nexport const PresenceStatusSchema = DefaultEntitySchema.extend({\n status: z.string(),\n description: z.string(),\n});\n\nexport const UserPresenceStatusSchema = DefaultEntitySchema.extend({\n user: UserSchema,\n presenceStatus: PresenceStatusSchema,\n customPresenceStatus: z.string().nullable().optional(),\n});\n","import { z } from 'zod';\n\nexport const UpdateUserStatusSchema = z.object({\n userId: z.string(),\n presenceStatusId: z.string().nullable().optional(),\n customPreseneStatus: z.string().nullable().optional(),\n reason: z.string(),\n});\n","import { initContract } from '@ts-rest/core';\nimport {\n DefaultErrorResponseSchema,\n DefaultHeaderSchema,\n DefaultUnauthorizedSchema,\n} from '../base-contract';\nimport z from 'zod';\nimport { TelephonyExtensionSchema } from './schema';\n\nexport const telephonyExtensionContract = initContract().router(\n {\n getTelephonyExtensions: {\n method: 'GET',\n path: '/extension_list',\n headers: DefaultHeaderSchema,\n query: null,\n responses: {\n 200: TelephonyExtensionSchema,\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Get all extension list by yeastar',\n },\n },\n { pathPrefix: 'telephony' },\n);\n","import z from 'zod';\n\nexport const TelephonyExtensionSchema = z.object({\n errcode: z.coerce.number(),\n errmsg: z.string(),\n total_number: z.coerce.number(),\n data: z.array(\n z.object({\n id: z.coerce.number(),\n online_status: z\n .object({\n fx_phone: z.object({ status: z.coerce.number() }),\n sip_phone: z.object({\n status: z.coerce.number(),\n ext_dev_type: z.string().optional(),\n }),\n linkus_desktop: z.object({ status: z.coerce.number() }),\n linkus_mobile: z.object({ status: z.coerce.number() }),\n linkus_web: z.object({\n status: z.coerce.number(),\n ext_dev_type: z.string().optional(),\n }),\n })\n .optional(),\n presence_status: z.string().optional(),\n number: z.string().optional(),\n caller_id_name: z.string().optional(),\n role_name: z.string().optional(),\n email_addr: z.string().optional(),\n }),\n ),\n});\n","import { initContract } from '@ts-rest/core';\nimport z from 'zod';\nimport { WithPagination } from '../../utils';\nimport {\n DefaultErrorResponseSchema,\n DefaultHeaderSchema,\n DefaultSuccessResponseSchema,\n DefaultUnauthorizedSchema,\n} from '../base-contract';\nimport { UserSchema } from './schema';\nimport { CreateUserSchema, UpdateUserSchema } from './validation';\n\n// Request types\nexport type CreateUserRequest = z.infer<typeof CreateUserSchema>;\nexport type UpdateUserRequest = z.infer<typeof UpdateUserSchema>;\n\nexport const userContract = initContract().router(\n {\n createUser: {\n method: 'POST',\n path: '',\n headers: DefaultHeaderSchema,\n body: CreateUserSchema,\n responses: {\n 201: DefaultSuccessResponseSchema.extend({\n user: UserSchema,\n }),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n },\n summary: 'Create a user.',\n },\n\n getUsers: {\n method: 'GET',\n path: '',\n headers: DefaultHeaderSchema,\n query: z\n .object({\n page: z.coerce.number().default(1),\n pageSize: z.coerce.number().default(10),\n keyword: z.string().optional(),\n })\n .optional(),\n responses: {\n 200: WithPagination(UserSchema),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Get all users',\n },\n\n getUserById: {\n method: 'GET',\n path: '/:id',\n pathParams: z.object({ id: z.string() }),\n headers: DefaultHeaderSchema,\n responses: {\n 200: UserSchema,\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n },\n summary: 'Get user by id',\n },\n\n updateUser: {\n method: 'PATCH',\n path: '/:id',\n pathParams: z.object({ id: z.string() }),\n headers: DefaultHeaderSchema,\n body: UpdateUserSchema,\n responses: {\n 201: DefaultSuccessResponseSchema.extend({\n role: UserSchema,\n }),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n },\n\n summary: 'Update a user.',\n },\n\n deleteUser: {\n method: 'DELETE',\n path: '/:id',\n pathParams: z.object({ id: z.string() }),\n headers: DefaultHeaderSchema,\n body: null,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({ message: z.string() }),\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Delete a user.',\n },\n },\n { pathPrefix: 'user' },\n);\n\n// Left - getAgentStatus, getAllStatus, getAllAgentsStatus, updateAgentStatus, getAgentsPresenceStatusLogs\n","import { z } from 'zod';\n\nexport const CreateUserSchema = z.object({\n name: z.string(),\n email: z.string().email(),\n address: z.string().nullable(),\n phone: z.string().nullable(),\n password: z.string(),\n notificationCount: z.number().nullable().optional(),\n roles: z.array(z.string()),\n});\n\nexport const UpdateUserSchema = CreateUserSchema.extend({\n newPassword: z.string(),\n});\n","import { initContract } from '@ts-rest/core';\nimport z from 'zod';\nimport { WithPagination } from '../../utils';\nimport {\n DefaultErrorResponseSchema,\n DefaultHeaderSchema,\n DefaultUnauthorizedSchema,\n} from '../base-contract';\nimport { UserPresenceStatusLogSchema } from './schema';\nimport { UserPresenceStatusLogParamsSchema } from './validation';\n\nexport type GetUserPresenceStatusLogRequest = z.infer<\n typeof UserPresenceStatusLogParamsSchema\n>;\n\nexport const userPresenceStatusLogContract = initContract().router(\n {\n getUserPresenceStatusLog: {\n method: 'GET',\n path: '',\n query: UserPresenceStatusLogParamsSchema,\n headers: DefaultHeaderSchema,\n responses: {\n 200: WithPagination(UserPresenceStatusLogSchema),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Get all user presence status log.',\n },\n },\n { pathPrefix: 'user-presence-status-log' },\n);\n","import z from 'zod';\nimport { DefaultEntitySchema } from '../base-contract';\nimport { UserSchema } from '../user/schema';\nimport { PresenceStatusSchema } from '../telephony-agent-presence-status/schema';\n\nexport const UserPresenceStatusLogSchema = DefaultEntitySchema.extend({\n user: UserSchema,\n previousPresenceStatus: PresenceStatusSchema,\n newPresenceStatus: PresenceStatusSchema,\n reason: z.string(),\n});\n","import z from 'zod';\n\nexport const UserPresenceStatusLogParamsSchema = z\n .object({\n page: z.coerce.number().default(1),\n pageSize: z.coerce.number().default(10),\n selectedDate: z.string().optional(),\n })\n .optional();\n","import { initContract } from '@ts-rest/core';\nimport z from 'zod';\nimport { WithPagination } from '../../utils';\nimport {\n DefaultErrorResponseSchema,\n DefaultHeaderSchema,\n DefaultSuccessResponseSchema,\n DefaultUnauthorizedSchema,\n} from '../base-contract';\nimport { WidgetSchema } from './schema';\nimport { CreateWidgetSchema, UpdateWidgetSchema } from './validation';\n\n// Request types\nexport type CreateWidgetRequest = z.infer<typeof CreateWidgetSchema>;\nexport type UpdateWidgetRequest = z.infer<typeof UpdateWidgetSchema>;\nexport type Widget = z.infer<typeof WidgetSchema>;\n\nexport const widgetContract = initContract().router(\n {\n createWidget: {\n method: 'POST',\n path: '',\n headers: DefaultHeaderSchema,\n body: CreateWidgetSchema,\n responses: {\n 201: DefaultSuccessResponseSchema.extend({\n widget: WidgetSchema,\n }),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Create a widget.',\n },\n\n getWidgets: {\n method: 'GET',\n path: '',\n query: z\n .object({\n page: z.coerce.number().default(1),\n pageSize: z.coerce.number().default(10),\n keyword: z.coerce.string().optional(),\n })\n .optional(),\n headers: DefaultHeaderSchema,\n responses: {\n 200: WithPagination(WidgetSchema),\n 500: DefaultErrorResponseSchema,\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n },\n summary: 'Get all widgets',\n },\n\n getMenuWidgets: {\n method: 'GET',\n path: '/menu',\n headers: DefaultHeaderSchema,\n responses: {\n 200: z.array(WidgetSchema),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Get menu widgets',\n },\n\n getTicketWidgets: {\n method: 'GET',\n path: '/ticket_detail',\n headers: DefaultHeaderSchema,\n responses: {\n 200: z.array(WidgetSchema),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Get ticket widgets',\n },\n\n getContactWidgets: {\n method: 'GET',\n path: '/contact_detail',\n headers: DefaultHeaderSchema,\n responses: {\n 200: z.array(WidgetSchema),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Get contact widgets',\n },\n\n getWidgetById: {\n method: 'GET',\n path: '/:id',\n pathParams: z.object({ id: z.string() }),\n headers: DefaultHeaderSchema,\n responses: {\n 200: WidgetSchema,\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Get widget by id',\n },\n\n // Hold\n // getWidgetUrl: {\n // method: 'GET',\n // path: '/url_token/generate',\n // pathParams: z.object({\n // widgetId: z.string(),\n // // Position ID is ticket ID, contact ID, etc.\n // // TODO: The name \"Position ID\" is confusing. Think of a better name.\n // positionId: z.string(),\n // }),\n // headers: DefaultHeaderSchema,\n // responses: {\n // 201: DefaultSuccessResponseSchema.extend({\n // widget: z.object({\n // url: z.string(),\n // }),\n // }),\n // 400: z.object({\n // message: z.string(),\n // }),\n // 401: DefaultUnauthorizedSchema,\n // },\n // summary: 'Generate url token for widget.',\n // },\n\n updateWidget: {\n method: 'PATCH',\n path: '/:id',\n pathParams: z.object({ id: z.string() }),\n headers: DefaultHeaderSchema,\n responses: {\n 201: DefaultSuccessResponseSchema.extend({\n widget: WidgetSchema,\n }),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n },\n body: UpdateWidgetSchema,\n summary: 'Update a widget.',\n },\n\n deleteWidget: {\n method: 'DELETE',\n path: '/:id',\n pathParams: z.object({ id: z.string() }),\n headers: DefaultHeaderSchema,\n body: null,\n responses: {\n 200: DefaultSuccessResponseSchema.extend({ message: z.string() }),\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Delete a widget.',\n },\n },\n { pathPrefix: 'widget' },\n);\n","import z from 'zod';\nimport { DefaultEntitySchema } from '../base-contract';\n\n// Define fields schema\nconst FieldsSchema = z.object({ data: z.array(z.string()) });\n\nexport const WidgetPositionSchema = z.union([\n z.literal('menu'),\n z.literal('ticket_detail'),\n z.literal('contact_detail'),\n]);\n\nexport const WidgetSchema = DefaultEntitySchema.extend({\n name: z.string(),\n description: z.string().nullable(),\n position: WidgetPositionSchema.nullable(),\n fields: FieldsSchema,\n url: z.string(),\n});\n","import z from 'zod';\nimport { WidgetPositionSchema } from './schema';\n\nexport const CreateWidgetSchema = z.object({\n name: z.string(),\n description: z.string(),\n url: z.string(),\n position: WidgetPositionSchema,\n fields: z\n .object({\n data:\n // Array of attribute system names\n z.array(z.string()),\n })\n // If we want to show the widget on the menu, we don't need the fields.\n .optional(),\n});\n\nexport const UpdateWidgetSchema = CreateWidgetSchema;\n","import { initContract } from '@ts-rest/core';\nimport z from 'zod';\nimport { WithPagination } from '../../utils';\nimport {\n DefaultErrorResponseSchema,\n DefaultHeaderSchema,\n DefaultSuccessResponseSchema,\n DefaultUnauthorizedSchema,\n} from '../base-contract';\nimport { WrapUpFormSchema } from './schema';\nimport { CreateWrapUpFormSchema, UpdateWrapUpFormSchema } from './validation';\n\n// Request types\nexport type CreateWrapUpFormRequest = z.infer<typeof CreateWrapUpFormSchema>;\nexport type UpdateWrapUpFormRequest = z.infer<typeof UpdateWrapUpFormSchema>;\n\nexport const wrapUpFormContract = initContract().router(\n {\n createWrapUpForm: {\n method: 'POST',\n path: '',\n headers: DefaultHeaderSchema,\n body: CreateWrapUpFormSchema,\n responses: {\n 201: DefaultSuccessResponseSchema.extend({\n wrapUpForm: WrapUpFormSchema,\n }),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Create a wrap up form.',\n },\n\n getWrapUpForms: {\n method: 'GET',\n path: '',\n query: z\n .object({\n page: z.coerce.number().default(1),\n pageSize: z.coerce.number().default(10),\n })\n .optional(),\n headers: DefaultHeaderSchema,\n responses: {\n 200: WithPagination(WrapUpFormSchema),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Get all wrap up form',\n },\n\n updateWrapUpForm: {\n method: 'PATCH',\n path: '/:id',\n pathParams: z.object({ id: z.string() }),\n headers: DefaultHeaderSchema,\n body: UpdateWrapUpFormSchema,\n responses: {\n 201: DefaultSuccessResponseSchema.extend({\n wrapUpForm: WrapUpFormSchema,\n }),\n 400: z.object({\n message: z.string(),\n }),\n 401: DefaultUnauthorizedSchema,\n 500: DefaultErrorResponseSchema,\n },\n summary: 'Update a wrap up form.',\n },\n },\n { pathPrefix: 'wrap-up-form' },\n);\n","import z from 'zod';\nimport { DefaultEntitySchema } from '../base-contract';\nimport { TagSchema } from '../tag/schema';\n\nexport const WrapUpFormSchema = DefaultEntitySchema.extend({\n note: z.string().nullable(),\n disposition: z.string().nullable(),\n callFrom: z.string().nullable(),\n callTo: z.string().nullable(),\n tags: z.array(TagSchema),\n});\n","import { z } from 'zod';\n\nexport const CreateWrapUpFormSchema = z.object({\n note: z.string().nullable().optional(),\n disposition: z.string().nullable().optional(),\n callFrom: z.string().nullable().optional(),\n callTo: z.string().nullable().optional(),\n});\n\nexport const UpdateWrapUpFormSchema = CreateWrapUpFormSchema.extend({\n tags: z.array(z.string()).optional(),\n});\n"],"mappings":"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","names":["initContract","z","z","z","z","z","z","initContract","z","z","z","z","z","z","z","initContract","z","initContract","z","initContract","initContract","z","z","z","z","z","z","initContract","z","initContract","z","z","z","z","initContract","initContract","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","initContract","z","initContract","z","z","z","initContract","z","initContract","z","z","z","z","z","initContract","z","initContract","z","z","initContract","z","initContract","z","z","z","initContract","z","initContract","z","initContract","initContract","initContract","z","z","z","z","z","MessageSchema","z","TagSchema","MessageSchema","AttachmentSchema","initContract","z","AttachmentSchema","initContract","z","z","z","initContract","z","initContract","z","initContract","z","initContract","z","z","initContract","z","MessageSchema","initContract","initContract","initContract","initContract","z","initContract","z","initContract","z","z","initContract","z","initContract","z","z","z","initContract","z","initContract","z","z","z","z","initContract","z","initContract","z","z","initContract","z","initContract","z","z","initContract","z","initContract","z","z","z","z","initContract","z","initContract","z","z","z","z","z","initContract","z","initContract","z","z","z","z","initContract","z","initContract"]}
|