/** * Generated by orval v8.19.0 🍺 * Do not edit manually. * Webitel API * OpenAPI spec version: 24.04.0 */ import { faker } from '@faker-js/faker'; import type { RequestHandlerOptions } from 'msw'; import { HttpResponse, http } from 'msw'; import type { WebitelImApiGatewayV1AddMemberResponse, WebitelImApiGatewayV1RemoveMemberResponse, WebitelImApiGatewayV1SearchLeftResponse, WebitelImApiGatewayV1SearchThreadResponse, WebitelImApiGatewayV1SearchVariablesResponse, WebitelImApiGatewayV1Thread, WebitelImApiGatewayV1ThreadManagementCreateResponse, WebitelImApiGatewayV1ThreadVariables, WebitelImApiGatewayV1TransferResponse, } from '../_models'; import { WebitelImApiGatewayV1ThreadKind, WebitelImApiGatewayV1ThreadRole, } from '../_models'; export const getThreadManagementSearchResponseMock = ( overrideResponse: Partial< Extract > = {}, ): WebitelImApiGatewayV1SearchThreadResponse => ({ items: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), description: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), lastMsg: faker.helpers.arrayElement([ { body: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), contact: faker.helpers.arrayElement([ { email: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), name: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), phone: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), documents: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), fileId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), messageId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), mime: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), name: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), size: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), url: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), })), undefined, ]), editedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), images: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), fileId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), height: faker.helpers.arrayElement([ faker.number.int(), undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), messageId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), mime: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), url: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), width: faker.helpers.arrayElement([ faker.number.int(), undefined, ]), })), undefined, ]), interactive: faker.helpers.arrayElement([ { documents: faker.helpers.arrayElement([ { documents: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ fileName: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), mimeType: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), sizeBytes: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), url: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), })), undefined, ]), }, undefined, ]), images: faker.helpers.arrayElement([ { images: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), link: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), mimeType: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), name: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), })), undefined, ]), }, undefined, ]), listReply: faker.helpers.arrayElement([ { mainButtonTitle: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), sections: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ buttons: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ callback: faker.helpers.arrayElement([ { data: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), label: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ {}, undefined, ]), request: faker.helpers.arrayElement([ { action: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), url: faker.helpers.arrayElement([ { url: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), })), undefined, ]), section: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), })), undefined, ]), }, undefined, ]), markup: faker.helpers.arrayElement([ { rows: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ buttons: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ callback: faker.helpers.arrayElement([ { data: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), label: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ {}, undefined, ]), request: faker.helpers.arrayElement([ { action: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), url: faker.helpers.arrayElement([ { url: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), })), undefined, ]), })), undefined, ]), }, undefined, ]), singleUse: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), }, undefined, ]), location: faker.helpers.arrayElement([ { address: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), latitude: faker.helpers.arrayElement([ faker.number.float({ fractionDigits: 2, }), undefined, ]), longitude: faker.helpers.arrayElement([ faker.number.float({ fractionDigits: 2, }), undefined, ]), name: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), metadata: faker.helpers.arrayElement([ {}, undefined, ]), reactedMetadata: faker.helpers.arrayElement([ { buttonCode: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), callbackData: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), inReplyTo: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), reactedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), reactedBy: faker.helpers.arrayElement([ { contact: faker.helpers.arrayElement([ { appId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), isBot: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), iss: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ { [faker.string.alphanumeric(5)]: faker.string.alpha({ length: { min: 10, max: 20, }, }), }, undefined, ]), name: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), sub: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), type: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), username: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), vias: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ contactId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), disable: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), disableReason: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ {}, undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), via: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), })), undefined, ]), }, undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), permissions: faker.helpers.arrayElement([ { canAddMembers: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canChangeMembersPermissions: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canChangeThreadInfo: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canRemoveMembers: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canSendMessages: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), memberId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), role: faker.helpers.arrayElement([ faker.helpers.arrayElement( Object.values(WebitelImApiGatewayV1ThreadRole), ), undefined, ]), }, undefined, ]), }, undefined, ]), sender: faker.helpers.arrayElement([ { contact: faker.helpers.arrayElement([ { appId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), isBot: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), iss: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ { [faker.string.alphanumeric(5)]: faker.string.alpha({ length: { min: 10, max: 20, }, }), }, undefined, ]), name: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), sub: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), type: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), username: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), vias: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ contactId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), disable: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), disableReason: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ {}, undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), via: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), })), undefined, ]), }, undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), permissions: faker.helpers.arrayElement([ { canAddMembers: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canChangeMembersPermissions: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canChangeThreadInfo: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canRemoveMembers: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canSendMessages: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), memberId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), role: faker.helpers.arrayElement([ faker.helpers.arrayElement( Object.values(WebitelImApiGatewayV1ThreadRole), ), undefined, ]), }, undefined, ]), system: faker.helpers.arrayElement([ { messageId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ {}, undefined, ]), type: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), threadId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), type: faker.helpers.arrayElement([ faker.number.int(), undefined, ]), }, undefined, ]), members: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ contact: faker.helpers.arrayElement([ { appId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), isBot: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), iss: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ { [faker.string.alphanumeric(5)]: faker.string.alpha({ length: { min: 10, max: 20, }, }), }, undefined, ]), name: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), sub: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), type: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), username: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), vias: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ contactId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), disable: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), disableReason: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ {}, undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), via: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), })), undefined, ]), }, undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), permissions: faker.helpers.arrayElement([ { canAddMembers: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canChangeMembersPermissions: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canChangeThreadInfo: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canRemoveMembers: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canSendMessages: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), memberId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), role: faker.helpers.arrayElement([ faker.helpers.arrayElement( Object.values(WebitelImApiGatewayV1ThreadRole), ), undefined, ]), })), undefined, ]), settings: faker.helpers.arrayElement([ { createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), domainId: faker.helpers.arrayElement([ faker.number.int(), undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), title: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), subject: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), type: faker.helpers.arrayElement([ faker.helpers.arrayElement( Object.values(WebitelImApiGatewayV1ThreadKind), ), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), variables: faker.helpers.arrayElement([ { threadId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), variables: faker.helpers.arrayElement([ { [faker.string.alphanumeric(5)]: { setAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), setBy: faker.helpers.arrayElement([ { appId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), isBot: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), iss: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ { [faker.string.alphanumeric(5)]: faker.string.alpha({ length: { min: 10, max: 20, }, }), }, undefined, ]), name: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), sub: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), type: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), username: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), vias: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ contactId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), disable: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), disableReason: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ {}, undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), via: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), })), undefined, ]), }, undefined, ]), value: faker.helpers.arrayElement([ {}, undefined, ]), }, }, undefined, ]), }, undefined, ]), })), undefined, ]), next: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), ...overrideResponse, }); export const getThreadManagementCreateResponseMock = ( overrideResponse: Partial< Extract > = {}, ): WebitelImApiGatewayV1ThreadManagementCreateResponse => ({ thread: faker.helpers.arrayElement([ { createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), description: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), lastMsg: faker.helpers.arrayElement([ { body: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), contact: faker.helpers.arrayElement([ { email: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), name: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), phone: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), documents: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), fileId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), messageId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), mime: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), name: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), size: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), url: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), })), undefined, ]), editedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), images: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), fileId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), height: faker.helpers.arrayElement([ faker.number.int(), undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), messageId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), mime: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), url: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), width: faker.helpers.arrayElement([ faker.number.int(), undefined, ]), })), undefined, ]), interactive: faker.helpers.arrayElement([ { documents: faker.helpers.arrayElement([ { documents: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ fileName: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), mimeType: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), sizeBytes: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), url: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), })), undefined, ]), }, undefined, ]), images: faker.helpers.arrayElement([ { images: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), link: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), mimeType: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), name: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), })), undefined, ]), }, undefined, ]), listReply: faker.helpers.arrayElement([ { mainButtonTitle: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), sections: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ buttons: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ callback: faker.helpers.arrayElement([ { data: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), label: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ {}, undefined, ]), request: faker.helpers.arrayElement([ { action: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), url: faker.helpers.arrayElement([ { url: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), })), undefined, ]), section: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), })), undefined, ]), }, undefined, ]), markup: faker.helpers.arrayElement([ { rows: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ buttons: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ callback: faker.helpers.arrayElement([ { data: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), label: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ {}, undefined, ]), request: faker.helpers.arrayElement([ { action: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), url: faker.helpers.arrayElement([ { url: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), })), undefined, ]), })), undefined, ]), }, undefined, ]), singleUse: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), }, undefined, ]), location: faker.helpers.arrayElement([ { address: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), latitude: faker.helpers.arrayElement([ faker.number.float({ fractionDigits: 2, }), undefined, ]), longitude: faker.helpers.arrayElement([ faker.number.float({ fractionDigits: 2, }), undefined, ]), name: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), metadata: faker.helpers.arrayElement([ {}, undefined, ]), reactedMetadata: faker.helpers.arrayElement([ { buttonCode: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), callbackData: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), inReplyTo: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), reactedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), reactedBy: faker.helpers.arrayElement([ { contact: faker.helpers.arrayElement([ { appId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), isBot: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), iss: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ { [faker.string.alphanumeric(5)]: faker.string.alpha({ length: { min: 10, max: 20, }, }), }, undefined, ]), name: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), sub: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), type: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), username: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), vias: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ contactId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), disable: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), disableReason: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ {}, undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), via: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), })), undefined, ]), }, undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), permissions: faker.helpers.arrayElement([ { canAddMembers: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canChangeMembersPermissions: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canChangeThreadInfo: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canRemoveMembers: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canSendMessages: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), memberId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), role: faker.helpers.arrayElement([ faker.helpers.arrayElement( Object.values(WebitelImApiGatewayV1ThreadRole), ), undefined, ]), }, undefined, ]), }, undefined, ]), sender: faker.helpers.arrayElement([ { contact: faker.helpers.arrayElement([ { appId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), isBot: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), iss: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ { [faker.string.alphanumeric(5)]: faker.string.alpha({ length: { min: 10, max: 20, }, }), }, undefined, ]), name: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), sub: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), type: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), username: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), vias: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ contactId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), disable: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), disableReason: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ {}, undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), via: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), })), undefined, ]), }, undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), permissions: faker.helpers.arrayElement([ { canAddMembers: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canChangeMembersPermissions: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canChangeThreadInfo: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canRemoveMembers: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canSendMessages: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), memberId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), role: faker.helpers.arrayElement([ faker.helpers.arrayElement( Object.values(WebitelImApiGatewayV1ThreadRole), ), undefined, ]), }, undefined, ]), system: faker.helpers.arrayElement([ { messageId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ {}, undefined, ]), type: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), threadId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), type: faker.helpers.arrayElement([ faker.number.int(), undefined, ]), }, undefined, ]), members: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ contact: faker.helpers.arrayElement([ { appId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), isBot: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), iss: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ { [faker.string.alphanumeric(5)]: faker.string.alpha({ length: { min: 10, max: 20, }, }), }, undefined, ]), name: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), sub: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), type: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), username: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), vias: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ contactId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), disable: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), disableReason: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ {}, undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), via: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), })), undefined, ]), }, undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), permissions: faker.helpers.arrayElement([ { canAddMembers: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canChangeMembersPermissions: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canChangeThreadInfo: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canRemoveMembers: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canSendMessages: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), memberId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), role: faker.helpers.arrayElement([ faker.helpers.arrayElement( Object.values(WebitelImApiGatewayV1ThreadRole), ), undefined, ]), })), undefined, ]), settings: faker.helpers.arrayElement([ { createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), domainId: faker.helpers.arrayElement([ faker.number.int(), undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), title: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), subject: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), type: faker.helpers.arrayElement([ faker.helpers.arrayElement( Object.values(WebitelImApiGatewayV1ThreadKind), ), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), variables: faker.helpers.arrayElement([ { threadId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), variables: faker.helpers.arrayElement([ { [faker.string.alphanumeric(5)]: { setAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), setBy: faker.helpers.arrayElement([ { appId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), isBot: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), iss: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ { [faker.string.alphanumeric(5)]: faker.string.alpha({ length: { min: 10, max: 20, }, }), }, undefined, ]), name: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), sub: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), type: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), username: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), vias: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ contactId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), disable: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), disableReason: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ {}, undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), via: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), })), undefined, ]), }, undefined, ]), value: faker.helpers.arrayElement([ {}, undefined, ]), }, }, undefined, ]), }, undefined, ]), }, undefined, ]), ...overrideResponse, }); export const getThreadManagementSearchLeftResponseMock = ( overrideResponse: Partial< Extract > = {}, ): WebitelImApiGatewayV1SearchLeftResponse => ({ items: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), description: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), lastMsg: faker.helpers.arrayElement([ { body: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), contact: faker.helpers.arrayElement([ { email: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), name: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), phone: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), documents: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), fileId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), messageId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), mime: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), name: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), size: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), url: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), })), undefined, ]), editedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), images: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), fileId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), height: faker.helpers.arrayElement([ faker.number.int(), undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), messageId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), mime: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), url: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), width: faker.helpers.arrayElement([ faker.number.int(), undefined, ]), })), undefined, ]), interactive: faker.helpers.arrayElement([ { documents: faker.helpers.arrayElement([ { documents: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ fileName: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), mimeType: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), sizeBytes: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), url: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), })), undefined, ]), }, undefined, ]), images: faker.helpers.arrayElement([ { images: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), link: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), mimeType: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), name: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), })), undefined, ]), }, undefined, ]), listReply: faker.helpers.arrayElement([ { mainButtonTitle: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), sections: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ buttons: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ callback: faker.helpers.arrayElement([ { data: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), label: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ {}, undefined, ]), request: faker.helpers.arrayElement([ { action: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), url: faker.helpers.arrayElement([ { url: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), })), undefined, ]), section: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), })), undefined, ]), }, undefined, ]), markup: faker.helpers.arrayElement([ { rows: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ buttons: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ callback: faker.helpers.arrayElement([ { data: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), label: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ {}, undefined, ]), request: faker.helpers.arrayElement([ { action: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), url: faker.helpers.arrayElement([ { url: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), })), undefined, ]), })), undefined, ]), }, undefined, ]), singleUse: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), }, undefined, ]), location: faker.helpers.arrayElement([ { address: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), latitude: faker.helpers.arrayElement([ faker.number.float({ fractionDigits: 2, }), undefined, ]), longitude: faker.helpers.arrayElement([ faker.number.float({ fractionDigits: 2, }), undefined, ]), name: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), metadata: faker.helpers.arrayElement([ {}, undefined, ]), reactedMetadata: faker.helpers.arrayElement([ { buttonCode: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), callbackData: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), inReplyTo: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), reactedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), reactedBy: faker.helpers.arrayElement([ { contact: faker.helpers.arrayElement([ { appId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), isBot: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), iss: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ { [faker.string.alphanumeric(5)]: faker.string.alpha({ length: { min: 10, max: 20, }, }), }, undefined, ]), name: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), sub: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), type: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), username: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), vias: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ contactId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), disable: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), disableReason: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ {}, undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), via: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), })), undefined, ]), }, undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), permissions: faker.helpers.arrayElement([ { canAddMembers: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canChangeMembersPermissions: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canChangeThreadInfo: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canRemoveMembers: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canSendMessages: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), memberId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), role: faker.helpers.arrayElement([ faker.helpers.arrayElement( Object.values(WebitelImApiGatewayV1ThreadRole), ), undefined, ]), }, undefined, ]), }, undefined, ]), sender: faker.helpers.arrayElement([ { contact: faker.helpers.arrayElement([ { appId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), isBot: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), iss: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ { [faker.string.alphanumeric(5)]: faker.string.alpha({ length: { min: 10, max: 20, }, }), }, undefined, ]), name: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), sub: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), type: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), username: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), vias: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ contactId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), disable: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), disableReason: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ {}, undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), via: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), })), undefined, ]), }, undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), permissions: faker.helpers.arrayElement([ { canAddMembers: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canChangeMembersPermissions: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canChangeThreadInfo: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canRemoveMembers: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canSendMessages: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), memberId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), role: faker.helpers.arrayElement([ faker.helpers.arrayElement( Object.values(WebitelImApiGatewayV1ThreadRole), ), undefined, ]), }, undefined, ]), system: faker.helpers.arrayElement([ { messageId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ {}, undefined, ]), type: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), threadId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), type: faker.helpers.arrayElement([ faker.number.int(), undefined, ]), }, undefined, ]), members: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ contact: faker.helpers.arrayElement([ { appId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), isBot: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), iss: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ { [faker.string.alphanumeric(5)]: faker.string.alpha({ length: { min: 10, max: 20, }, }), }, undefined, ]), name: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), sub: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), type: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), username: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), vias: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ contactId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), disable: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), disableReason: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ {}, undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), via: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), })), undefined, ]), }, undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), permissions: faker.helpers.arrayElement([ { canAddMembers: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canChangeMembersPermissions: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canChangeThreadInfo: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canRemoveMembers: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canSendMessages: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), memberId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), role: faker.helpers.arrayElement([ faker.helpers.arrayElement( Object.values(WebitelImApiGatewayV1ThreadRole), ), undefined, ]), })), undefined, ]), settings: faker.helpers.arrayElement([ { createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), domainId: faker.helpers.arrayElement([ faker.number.int(), undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), title: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), subject: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), type: faker.helpers.arrayElement([ faker.helpers.arrayElement( Object.values(WebitelImApiGatewayV1ThreadKind), ), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), variables: faker.helpers.arrayElement([ { threadId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), variables: faker.helpers.arrayElement([ { [faker.string.alphanumeric(5)]: { setAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), setBy: faker.helpers.arrayElement([ { appId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), isBot: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), iss: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ { [faker.string.alphanumeric(5)]: faker.string.alpha({ length: { min: 10, max: 20, }, }), }, undefined, ]), name: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), sub: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), type: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), username: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), vias: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ contactId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), disable: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), disableReason: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ {}, undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), via: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), })), undefined, ]), }, undefined, ]), value: faker.helpers.arrayElement([ {}, undefined, ]), }, }, undefined, ]), }, undefined, ]), })), undefined, ]), next: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), ...overrideResponse, }); export const getThreadManagementGetResponseMock = ( overrideResponse: Partial> = {}, ): WebitelImApiGatewayV1Thread => ({ createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), description: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), lastMsg: faker.helpers.arrayElement([ { body: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), contact: faker.helpers.arrayElement([ { email: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), name: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), phone: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), documents: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), fileId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), messageId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), mime: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), name: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), size: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), url: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), })), undefined, ]), editedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), images: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), fileId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), height: faker.helpers.arrayElement([ faker.number.int(), undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), messageId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), mime: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), url: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), width: faker.helpers.arrayElement([ faker.number.int(), undefined, ]), })), undefined, ]), interactive: faker.helpers.arrayElement([ { documents: faker.helpers.arrayElement([ { documents: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ fileName: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), mimeType: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), sizeBytes: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), url: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), })), undefined, ]), }, undefined, ]), images: faker.helpers.arrayElement([ { images: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), link: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), mimeType: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), name: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), })), undefined, ]), }, undefined, ]), listReply: faker.helpers.arrayElement([ { mainButtonTitle: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), sections: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ buttons: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ callback: faker.helpers.arrayElement([ { data: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), label: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ {}, undefined, ]), request: faker.helpers.arrayElement([ { action: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), url: faker.helpers.arrayElement([ { url: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), })), undefined, ]), section: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), })), undefined, ]), }, undefined, ]), markup: faker.helpers.arrayElement([ { rows: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ buttons: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ callback: faker.helpers.arrayElement([ { data: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), label: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ {}, undefined, ]), request: faker.helpers.arrayElement([ { action: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), url: faker.helpers.arrayElement([ { url: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), })), undefined, ]), })), undefined, ]), }, undefined, ]), singleUse: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), }, undefined, ]), location: faker.helpers.arrayElement([ { address: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), latitude: faker.helpers.arrayElement([ faker.number.float({ fractionDigits: 2, }), undefined, ]), longitude: faker.helpers.arrayElement([ faker.number.float({ fractionDigits: 2, }), undefined, ]), name: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), metadata: faker.helpers.arrayElement([ {}, undefined, ]), reactedMetadata: faker.helpers.arrayElement([ { buttonCode: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), callbackData: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), inReplyTo: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), reactedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), reactedBy: faker.helpers.arrayElement([ { contact: faker.helpers.arrayElement([ { appId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), isBot: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), iss: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ { [faker.string.alphanumeric(5)]: faker.string.alpha({ length: { min: 10, max: 20, }, }), }, undefined, ]), name: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), sub: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), type: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), username: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), vias: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ contactId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), disable: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), disableReason: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ {}, undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), via: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), })), undefined, ]), }, undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), permissions: faker.helpers.arrayElement([ { canAddMembers: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canChangeMembersPermissions: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canChangeThreadInfo: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canRemoveMembers: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canSendMessages: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), memberId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), role: faker.helpers.arrayElement([ faker.helpers.arrayElement( Object.values(WebitelImApiGatewayV1ThreadRole), ), undefined, ]), }, undefined, ]), }, undefined, ]), sender: faker.helpers.arrayElement([ { contact: faker.helpers.arrayElement([ { appId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), isBot: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), iss: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ { [faker.string.alphanumeric(5)]: faker.string.alpha({ length: { min: 10, max: 20, }, }), }, undefined, ]), name: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), sub: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), type: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), username: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), vias: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ contactId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), disable: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), disableReason: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ {}, undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), via: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), })), undefined, ]), }, undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), permissions: faker.helpers.arrayElement([ { canAddMembers: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canChangeMembersPermissions: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canChangeThreadInfo: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canRemoveMembers: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canSendMessages: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), memberId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), role: faker.helpers.arrayElement([ faker.helpers.arrayElement( Object.values(WebitelImApiGatewayV1ThreadRole), ), undefined, ]), }, undefined, ]), system: faker.helpers.arrayElement([ { messageId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ {}, undefined, ]), type: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), threadId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), type: faker.helpers.arrayElement([ faker.number.int(), undefined, ]), }, undefined, ]), members: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ contact: faker.helpers.arrayElement([ { appId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), isBot: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), iss: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ { [faker.string.alphanumeric(5)]: faker.string.alpha({ length: { min: 10, max: 20, }, }), }, undefined, ]), name: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), sub: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), type: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), username: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), vias: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ contactId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), disable: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), disableReason: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ {}, undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), via: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), })), undefined, ]), }, undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), permissions: faker.helpers.arrayElement([ { canAddMembers: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canChangeMembersPermissions: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canChangeThreadInfo: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canRemoveMembers: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canSendMessages: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), memberId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), role: faker.helpers.arrayElement([ faker.helpers.arrayElement( Object.values(WebitelImApiGatewayV1ThreadRole), ), undefined, ]), })), undefined, ]), settings: faker.helpers.arrayElement([ { createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), domainId: faker.helpers.arrayElement([ faker.number.int(), undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), title: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), subject: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), type: faker.helpers.arrayElement([ faker.helpers.arrayElement(Object.values(WebitelImApiGatewayV1ThreadKind)), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), variables: faker.helpers.arrayElement([ { threadId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), variables: faker.helpers.arrayElement([ { [faker.string.alphanumeric(5)]: { setAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), setBy: faker.helpers.arrayElement([ { appId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), isBot: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), iss: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ { [faker.string.alphanumeric(5)]: faker.string.alpha({ length: { min: 10, max: 20, }, }), }, undefined, ]), name: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), sub: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), type: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), username: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), vias: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ contactId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), disable: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), disableReason: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ {}, undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), via: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), })), undefined, ]), }, undefined, ]), value: faker.helpers.arrayElement([ {}, undefined, ]), }, }, undefined, ]), }, undefined, ]), ...overrideResponse, }); export const getThreadManagementAddMemberResponseMock = ( overrideResponse: Partial< Extract > = {}, ): WebitelImApiGatewayV1AddMemberResponse => ({ member: faker.helpers.arrayElement([ { contact: faker.helpers.arrayElement([ { appId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), isBot: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), iss: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ { [faker.string.alphanumeric(5)]: faker.string.alpha({ length: { min: 10, max: 20, }, }), }, undefined, ]), name: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), sub: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), type: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), username: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), vias: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ contactId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), disable: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), disableReason: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ {}, undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), via: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), })), undefined, ]), }, undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), permissions: faker.helpers.arrayElement([ { canAddMembers: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canChangeMembersPermissions: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canChangeThreadInfo: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canRemoveMembers: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canSendMessages: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), memberId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), role: faker.helpers.arrayElement([ faker.helpers.arrayElement( Object.values(WebitelImApiGatewayV1ThreadRole), ), undefined, ]), }, undefined, ]), ...overrideResponse, }); export const getThreadManagementRemoveMemberResponseMock = (): WebitelImApiGatewayV1RemoveMemberResponse => ({}); export const getThreadManagementTransferResponseMock = ( overrideResponse: Partial< Extract > = {}, ): WebitelImApiGatewayV1TransferResponse => ({ member: faker.helpers.arrayElement([ { contact: faker.helpers.arrayElement([ { appId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), isBot: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), iss: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ { [faker.string.alphanumeric(5)]: faker.string.alpha({ length: { min: 10, max: 20, }, }), }, undefined, ]), name: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), sub: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), type: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), username: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), vias: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ contactId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), disable: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), disableReason: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ {}, undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), via: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), })), undefined, ]), }, undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), permissions: faker.helpers.arrayElement([ { canAddMembers: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canChangeMembersPermissions: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canChangeThreadInfo: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canRemoveMembers: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), canSendMessages: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), memberId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), role: faker.helpers.arrayElement([ faker.helpers.arrayElement( Object.values(WebitelImApiGatewayV1ThreadRole), ), undefined, ]), }, undefined, ]), ...overrideResponse, }); export const getThreadManagementLocateVariablesResponseMock = ( overrideResponse: Partial< Extract > = {}, ): WebitelImApiGatewayV1ThreadVariables => ({ threadId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), variables: faker.helpers.arrayElement([ { [faker.string.alphanumeric(5)]: { setAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), setBy: faker.helpers.arrayElement([ { appId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), isBot: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), iss: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ { [faker.string.alphanumeric(5)]: faker.string.alpha({ length: { min: 10, max: 20, }, }), }, undefined, ]), name: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), sub: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), type: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), username: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), vias: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ contactId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), disable: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), disableReason: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ {}, undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), via: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), })), undefined, ]), }, undefined, ]), value: faker.helpers.arrayElement([ {}, undefined, ]), }, }, undefined, ]), ...overrideResponse, }); export const getThreadManagementSetVariablesResponseMock = ( overrideResponse: Partial< Extract > = {}, ): WebitelImApiGatewayV1ThreadVariables => ({ threadId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), variables: faker.helpers.arrayElement([ { [faker.string.alphanumeric(5)]: { setAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), setBy: faker.helpers.arrayElement([ { appId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), isBot: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), iss: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ { [faker.string.alphanumeric(5)]: faker.string.alpha({ length: { min: 10, max: 20, }, }), }, undefined, ]), name: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), sub: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), type: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), username: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), vias: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ contactId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), disable: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), disableReason: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ {}, undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), via: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), })), undefined, ]), }, undefined, ]), value: faker.helpers.arrayElement([ {}, undefined, ]), }, }, undefined, ]), ...overrideResponse, }); export const getThreadManagementFlushVariablesResponseMock = ( overrideResponse: Partial< Extract > = {}, ): WebitelImApiGatewayV1ThreadVariables => ({ threadId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), variables: faker.helpers.arrayElement([ { [faker.string.alphanumeric(5)]: { setAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), setBy: faker.helpers.arrayElement([ { appId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), isBot: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), iss: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ { [faker.string.alphanumeric(5)]: faker.string.alpha({ length: { min: 10, max: 20, }, }), }, undefined, ]), name: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), sub: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), type: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), username: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), vias: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ contactId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), disable: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), disableReason: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ {}, undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), via: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), })), undefined, ]), }, undefined, ]), value: faker.helpers.arrayElement([ {}, undefined, ]), }, }, undefined, ]), ...overrideResponse, }); export const getThreadManagementSearchVariablesResponseMock = ( overrideResponse: Partial< Extract > = {}, ): WebitelImApiGatewayV1SearchVariablesResponse => ({ items: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ threadId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), variables: faker.helpers.arrayElement([ { [faker.string.alphanumeric(5)]: { setAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), setBy: faker.helpers.arrayElement([ { appId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), isBot: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), iss: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ { [faker.string.alphanumeric(5)]: faker.string.alpha({ length: { min: 10, max: 20, }, }), }, undefined, ]), name: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), sub: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), type: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), username: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), vias: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ contactId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), disable: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), disableReason: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), metadata: faker.helpers.arrayElement([ {}, undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), via: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), })), undefined, ]), }, undefined, ]), value: faker.helpers.arrayElement([ {}, undefined, ]), }, }, undefined, ]), })), undefined, ]), next: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), ...overrideResponse, }); export const getThreadManagementSearchMockHandler = ( overrideResponse?: | WebitelImApiGatewayV1SearchThreadResponse | (( info: Parameters[1]>[0], ) => | Promise | WebitelImApiGatewayV1SearchThreadResponse), options?: RequestHandlerOptions, ) => { return http.get( '*/v1/threads', async (info: Parameters[1]>[0]) => { return HttpResponse.json( overrideResponse !== undefined ? typeof overrideResponse === 'function' ? await overrideResponse(info) : overrideResponse : getThreadManagementSearchResponseMock(), { status: 200, }, ); }, options, ); }; export const getThreadManagementCreateMockHandler = ( overrideResponse?: | WebitelImApiGatewayV1ThreadManagementCreateResponse | (( info: Parameters[1]>[0], ) => | Promise | WebitelImApiGatewayV1ThreadManagementCreateResponse), options?: RequestHandlerOptions, ) => { return http.post( '*/v1/threads', async (info: Parameters[1]>[0]) => { return HttpResponse.json( overrideResponse !== undefined ? typeof overrideResponse === 'function' ? await overrideResponse(info) : overrideResponse : getThreadManagementCreateResponseMock(), { status: 200, }, ); }, options, ); }; export const getThreadManagementSearchLeftMockHandler = ( overrideResponse?: | WebitelImApiGatewayV1SearchLeftResponse | (( info: Parameters[1]>[0], ) => | Promise | WebitelImApiGatewayV1SearchLeftResponse), options?: RequestHandlerOptions, ) => { return http.get( '*/v1/threads/left', async (info: Parameters[1]>[0]) => { return HttpResponse.json( overrideResponse !== undefined ? typeof overrideResponse === 'function' ? await overrideResponse(info) : overrideResponse : getThreadManagementSearchLeftResponseMock(), { status: 200, }, ); }, options, ); }; export const getThreadManagementGetMockHandler = ( overrideResponse?: | WebitelImApiGatewayV1Thread | (( info: Parameters[1]>[0], ) => Promise | WebitelImApiGatewayV1Thread), options?: RequestHandlerOptions, ) => { return http.get( '*/v1/threads/:id', async (info: Parameters[1]>[0]) => { return HttpResponse.json( overrideResponse !== undefined ? typeof overrideResponse === 'function' ? await overrideResponse(info) : overrideResponse : getThreadManagementGetResponseMock(), { status: 200, }, ); }, options, ); }; export const getThreadManagementAddMemberMockHandler = ( overrideResponse?: | WebitelImApiGatewayV1AddMemberResponse | (( info: Parameters[1]>[0], ) => | Promise | WebitelImApiGatewayV1AddMemberResponse), options?: RequestHandlerOptions, ) => { return http.post( '*/v1/threads/:threadId/members', async (info: Parameters[1]>[0]) => { return HttpResponse.json( overrideResponse !== undefined ? typeof overrideResponse === 'function' ? await overrideResponse(info) : overrideResponse : getThreadManagementAddMemberResponseMock(), { status: 200, }, ); }, options, ); }; export const getThreadManagementRemoveMemberMockHandler = ( overrideResponse?: | WebitelImApiGatewayV1RemoveMemberResponse | (( info: Parameters[1]>[0], ) => | Promise | WebitelImApiGatewayV1RemoveMemberResponse), options?: RequestHandlerOptions, ) => { return http.delete( '*/v1/threads/:threadId/members/:memberId', async (info: Parameters[1]>[0]) => { return HttpResponse.json( overrideResponse !== undefined ? typeof overrideResponse === 'function' ? await overrideResponse(info) : overrideResponse : getThreadManagementRemoveMemberResponseMock(), { status: 200, }, ); }, options, ); }; export const getThreadManagementTransferMockHandler = ( overrideResponse?: | WebitelImApiGatewayV1TransferResponse | (( info: Parameters[1]>[0], ) => | Promise | WebitelImApiGatewayV1TransferResponse), options?: RequestHandlerOptions, ) => { return http.post( '*/v1/threads/:threadId/transfer', async (info: Parameters[1]>[0]) => { return HttpResponse.json( overrideResponse !== undefined ? typeof overrideResponse === 'function' ? await overrideResponse(info) : overrideResponse : getThreadManagementTransferResponseMock(), { status: 200, }, ); }, options, ); }; export const getThreadManagementLocateVariablesMockHandler = ( overrideResponse?: | WebitelImApiGatewayV1ThreadVariables | (( info: Parameters[1]>[0], ) => | Promise | WebitelImApiGatewayV1ThreadVariables), options?: RequestHandlerOptions, ) => { return http.get( '*/v1/threads/:threadId/variables', async (info: Parameters[1]>[0]) => { return HttpResponse.json( overrideResponse !== undefined ? typeof overrideResponse === 'function' ? await overrideResponse(info) : overrideResponse : getThreadManagementLocateVariablesResponseMock(), { status: 200, }, ); }, options, ); }; export const getThreadManagementSetVariablesMockHandler = ( overrideResponse?: | WebitelImApiGatewayV1ThreadVariables | (( info: Parameters[1]>[0], ) => | Promise | WebitelImApiGatewayV1ThreadVariables), options?: RequestHandlerOptions, ) => { return http.post( '*/v1/threads/:threadId/variables', async (info: Parameters[1]>[0]) => { return HttpResponse.json( overrideResponse !== undefined ? typeof overrideResponse === 'function' ? await overrideResponse(info) : overrideResponse : getThreadManagementSetVariablesResponseMock(), { status: 200, }, ); }, options, ); }; export const getThreadManagementFlushVariablesMockHandler = ( overrideResponse?: | WebitelImApiGatewayV1ThreadVariables | (( info: Parameters[1]>[0], ) => | Promise | WebitelImApiGatewayV1ThreadVariables), options?: RequestHandlerOptions, ) => { return http.delete( '*/v1/threads/:threadId/variables/flush', async (info: Parameters[1]>[0]) => { return HttpResponse.json( overrideResponse !== undefined ? typeof overrideResponse === 'function' ? await overrideResponse(info) : overrideResponse : getThreadManagementFlushVariablesResponseMock(), { status: 200, }, ); }, options, ); }; export const getThreadManagementSearchVariablesMockHandler = ( overrideResponse?: | WebitelImApiGatewayV1SearchVariablesResponse | (( info: Parameters[1]>[0], ) => | Promise | WebitelImApiGatewayV1SearchVariablesResponse), options?: RequestHandlerOptions, ) => { return http.get( '*/v1/variables', async (info: Parameters[1]>[0]) => { return HttpResponse.json( overrideResponse !== undefined ? typeof overrideResponse === 'function' ? await overrideResponse(info) : overrideResponse : getThreadManagementSearchVariablesResponseMock(), { status: 200, }, ); }, options, ); }; export const getWebitelImApiGatewayV1ThreadmanagementMock = () => [ getThreadManagementSearchMockHandler(), getThreadManagementCreateMockHandler(), getThreadManagementSearchLeftMockHandler(), getThreadManagementGetMockHandler(), getThreadManagementAddMemberMockHandler(), getThreadManagementRemoveMemberMockHandler(), getThreadManagementTransferMockHandler(), getThreadManagementLocateVariablesMockHandler(), getThreadManagementSetVariablesMockHandler(), getThreadManagementFlushVariablesMockHandler(), getThreadManagementSearchVariablesMockHandler(), ];