/** * 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 { WebitelImApiGatewayV1GetThreadPermissionsResponse, WebitelImApiGatewayV1UpdateThreadPermissionsResponse, } from '../_models'; export const getThreadPermissionGetResponseMock = ( overrideResponse: Partial< Extract > = {}, ): WebitelImApiGatewayV1GetThreadPermissionsResponse => ({ 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, ]), ...overrideResponse, }); export const getThreadPermissionUpdateResponseMock = ( overrideResponse: Partial< Extract > = {}, ): WebitelImApiGatewayV1UpdateThreadPermissionsResponse => ({ 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, ]), ...overrideResponse, }); export const getThreadPermissionGetMockHandler = ( overrideResponse?: | WebitelImApiGatewayV1GetThreadPermissionsResponse | (( info: Parameters[1]>[0], ) => | Promise | WebitelImApiGatewayV1GetThreadPermissionsResponse), options?: RequestHandlerOptions, ) => { return http.get( '*/v1/threads/:threadId/members/:memberId/permissions', async (info: Parameters[1]>[0]) => { return HttpResponse.json( overrideResponse !== undefined ? typeof overrideResponse === 'function' ? await overrideResponse(info) : overrideResponse : getThreadPermissionGetResponseMock(), { status: 200, }, ); }, options, ); }; export const getThreadPermissionUpdateMockHandler = ( overrideResponse?: | WebitelImApiGatewayV1UpdateThreadPermissionsResponse | (( info: Parameters[1]>[0], ) => | Promise | WebitelImApiGatewayV1UpdateThreadPermissionsResponse), options?: RequestHandlerOptions, ) => { return http.patch( '*/v1/threads/:threadId/members/:memberId/permissions', async (info: Parameters[1]>[0]) => { return HttpResponse.json( overrideResponse !== undefined ? typeof overrideResponse === 'function' ? await overrideResponse(info) : overrideResponse : getThreadPermissionUpdateResponseMock(), { status: 200, }, ); }, options, ); }; export const getWebitelImApiGatewayV1ThreadpermissionMock = () => [ getThreadPermissionGetMockHandler(), getThreadPermissionUpdateMockHandler(), ];