/** * 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 { WebitelImApiGatewayV1InteractiveCallbackResponse, WebitelImApiGatewayV1ReadMessageResponse, WebitelImApiGatewayV1SendDocumentResponse, WebitelImApiGatewayV1SendMessageResponse, WebitelImApiGatewayV1SendTextResponse, } from '../_models'; export const getMessageSendContactResponseMock = ( overrideResponse: Partial< Extract > = {}, ): WebitelImApiGatewayV1SendMessageResponse => ({ id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), to: faker.helpers.arrayElement([ { channelId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), contact: faker.helpers.arrayElement([ { iss: 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, ]), via: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), groupId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), threadId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), ...overrideResponse, }); export const getMessageSendDocumentResponseMock = ( overrideResponse: Partial< Extract > = {}, ): WebitelImApiGatewayV1SendDocumentResponse => ({ id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), to: faker.helpers.arrayElement([ { channelId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), contact: faker.helpers.arrayElement([ { iss: 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, ]), via: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), groupId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), threadId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), ...overrideResponse, }); export const getMessageSendInteractiveResponseMock = ( overrideResponse: Partial< Extract > = {}, ): WebitelImApiGatewayV1SendMessageResponse => ({ id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), to: faker.helpers.arrayElement([ { channelId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), contact: faker.helpers.arrayElement([ { iss: 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, ]), via: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), groupId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), threadId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), ...overrideResponse, }); export const getMessageSendInteractiveCallbackResponseMock = ( overrideResponse: Partial< Extract > = {}, ): WebitelImApiGatewayV1InteractiveCallbackResponse => ({ 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([ { channelId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), contact: faker.helpers.arrayElement([ { iss: 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, ]), via: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), groupId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), threadId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), ...overrideResponse, }); export const getMessageSendLocationResponseMock = ( overrideResponse: Partial< Extract > = {}, ): WebitelImApiGatewayV1SendMessageResponse => ({ id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), to: faker.helpers.arrayElement([ { channelId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), contact: faker.helpers.arrayElement([ { iss: 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, ]), via: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), groupId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), threadId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), ...overrideResponse, }); export const getMessageSendTextResponseMock = ( overrideResponse: Partial< Extract > = {}, ): WebitelImApiGatewayV1SendTextResponse => ({ id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), to: faker.helpers.arrayElement([ { channelId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), contact: faker.helpers.arrayElement([ { iss: 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, ]), via: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), groupId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), threadId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), ...overrideResponse, }); export const getMessageReadResponseMock = (): WebitelImApiGatewayV1ReadMessageResponse => ({}); export const getMessageSendContactMockHandler = ( overrideResponse?: | WebitelImApiGatewayV1SendMessageResponse | (( info: Parameters[1]>[0], ) => | Promise | WebitelImApiGatewayV1SendMessageResponse), options?: RequestHandlerOptions, ) => { return http.post( '*/v1/messages/contact', async (info: Parameters[1]>[0]) => { return HttpResponse.json( overrideResponse !== undefined ? typeof overrideResponse === 'function' ? await overrideResponse(info) : overrideResponse : getMessageSendContactResponseMock(), { status: 200, }, ); }, options, ); }; export const getMessageSendDocumentMockHandler = ( overrideResponse?: | WebitelImApiGatewayV1SendDocumentResponse | (( info: Parameters[1]>[0], ) => | Promise | WebitelImApiGatewayV1SendDocumentResponse), options?: RequestHandlerOptions, ) => { return http.post( '*/v1/messages/document', async (info: Parameters[1]>[0]) => { return HttpResponse.json( overrideResponse !== undefined ? typeof overrideResponse === 'function' ? await overrideResponse(info) : overrideResponse : getMessageSendDocumentResponseMock(), { status: 200, }, ); }, options, ); }; export const getMessageSendInteractiveMockHandler = ( overrideResponse?: | WebitelImApiGatewayV1SendMessageResponse | (( info: Parameters[1]>[0], ) => | Promise | WebitelImApiGatewayV1SendMessageResponse), options?: RequestHandlerOptions, ) => { return http.post( '*/v1/messages/interactive', async (info: Parameters[1]>[0]) => { return HttpResponse.json( overrideResponse !== undefined ? typeof overrideResponse === 'function' ? await overrideResponse(info) : overrideResponse : getMessageSendInteractiveResponseMock(), { status: 200, }, ); }, options, ); }; export const getMessageSendInteractiveCallbackMockHandler = ( overrideResponse?: | WebitelImApiGatewayV1InteractiveCallbackResponse | (( info: Parameters[1]>[0], ) => | Promise | WebitelImApiGatewayV1InteractiveCallbackResponse), options?: RequestHandlerOptions, ) => { return http.post( '*/v1/messages/interactive/:inReplyTo/callback', async (info: Parameters[1]>[0]) => { return HttpResponse.json( overrideResponse !== undefined ? typeof overrideResponse === 'function' ? await overrideResponse(info) : overrideResponse : getMessageSendInteractiveCallbackResponseMock(), { status: 200, }, ); }, options, ); }; export const getMessageSendLocationMockHandler = ( overrideResponse?: | WebitelImApiGatewayV1SendMessageResponse | (( info: Parameters[1]>[0], ) => | Promise | WebitelImApiGatewayV1SendMessageResponse), options?: RequestHandlerOptions, ) => { return http.post( '*/v1/messages/location', async (info: Parameters[1]>[0]) => { return HttpResponse.json( overrideResponse !== undefined ? typeof overrideResponse === 'function' ? await overrideResponse(info) : overrideResponse : getMessageSendLocationResponseMock(), { status: 200, }, ); }, options, ); }; export const getMessageSendTextMockHandler = ( overrideResponse?: | WebitelImApiGatewayV1SendTextResponse | (( info: Parameters[1]>[0], ) => | Promise | WebitelImApiGatewayV1SendTextResponse), options?: RequestHandlerOptions, ) => { return http.post( '*/v1/messages/text', async (info: Parameters[1]>[0]) => { return HttpResponse.json( overrideResponse !== undefined ? typeof overrideResponse === 'function' ? await overrideResponse(info) : overrideResponse : getMessageSendTextResponseMock(), { status: 200, }, ); }, options, ); }; export const getMessageReadMockHandler = ( overrideResponse?: | WebitelImApiGatewayV1ReadMessageResponse | (( info: Parameters[1]>[0], ) => | Promise | WebitelImApiGatewayV1ReadMessageResponse), options?: RequestHandlerOptions, ) => { return http.post( '*/v1/messages/:id/read', async (info: Parameters[1]>[0]) => { return HttpResponse.json( overrideResponse !== undefined ? typeof overrideResponse === 'function' ? await overrideResponse(info) : overrideResponse : getMessageReadResponseMock(), { status: 200, }, ); }, options, ); }; export const getWebitelImApiGatewayV1MessageMock = () => [ getMessageSendContactMockHandler(), getMessageSendDocumentMockHandler(), getMessageSendInteractiveMockHandler(), getMessageSendInteractiveCallbackMockHandler(), getMessageSendLocationMockHandler(), getMessageSendTextMockHandler(), getMessageReadMockHandler(), ];