/** * Generated by orval 🍺 * Do not edit manually. * API * API documentation for the starter-kit project in NestJS by BinarApps. The API allows management of users, sessions and offers various functions for logged in users. Contains examples of authentication, authorization, and CRUD for selected resources. * OpenAPI spec version: 1.0 */ import { faker } from '@faker-js/faker' import { HttpResponse, delay, http } from 'msw' import type { UserEntity } from '../../types' export const getUsersControllerCreateResponseMock = ( overrideResponse: Partial = {} ): UserEntity => ({ id: faker.string.alpha(20), createdAt: `${faker.date.past().toISOString().split('.')[0]}Z`, updatedAt: `${faker.date.past().toISOString().split('.')[0]}Z`, deletedAt: `${faker.date.past().toISOString().split('.')[0]}Z`, email: faker.string.alpha(20), firstName: faker.string.alpha(20), lastName: faker.string.alpha(20), provider: faker.string.alpha(20), socialId: faker.string.alpha(20), locale: faker.string.alpha(20), role: { id: faker.helpers.arrayElement([1, 2] as const), name: faker.helpers.arrayElement(['ADMIN', 'USER'] as const), }, status: { id: faker.number.int({ min: undefined, max: undefined }), name: faker.string.alpha(20), }, consent: faker.helpers.arrayElement([ { termsAccepted: faker.datatype.boolean(), privacyPolicyAccepted: faker.datatype.boolean(), termsVersion: faker.string.alpha(20), privacyPolicyVersion: faker.string.alpha(20), createdAt: `${faker.date.past().toISOString().split('.')[0]}Z`, updatedAt: `${faker.date.past().toISOString().split('.')[0]}Z`, }, undefined, ]), ...overrideResponse, }) export const getUsersControllerFindAllResponseMock = (): UserEntity[] => Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(() => ({ id: faker.string.alpha(20), createdAt: `${faker.date.past().toISOString().split('.')[0]}Z`, updatedAt: `${faker.date.past().toISOString().split('.')[0]}Z`, deletedAt: `${faker.date.past().toISOString().split('.')[0]}Z`, email: faker.string.alpha(20), firstName: faker.string.alpha(20), lastName: faker.string.alpha(20), provider: faker.string.alpha(20), socialId: faker.string.alpha(20), locale: faker.string.alpha(20), role: { id: faker.helpers.arrayElement([1, 2] as const), name: faker.helpers.arrayElement(['ADMIN', 'USER'] as const), }, status: { id: faker.number.int({ min: undefined, max: undefined }), name: faker.string.alpha(20), }, consent: faker.helpers.arrayElement([ { termsAccepted: faker.datatype.boolean(), privacyPolicyAccepted: faker.datatype.boolean(), termsVersion: faker.string.alpha(20), privacyPolicyVersion: faker.string.alpha(20), createdAt: `${faker.date.past().toISOString().split('.')[0]}Z`, updatedAt: `${faker.date.past().toISOString().split('.')[0]}Z`, }, undefined, ]), })) export const getUsersControllerFindOneResponseMock = ( overrideResponse: Partial = {} ): UserEntity => ({ id: faker.string.alpha(20), createdAt: `${faker.date.past().toISOString().split('.')[0]}Z`, updatedAt: `${faker.date.past().toISOString().split('.')[0]}Z`, deletedAt: `${faker.date.past().toISOString().split('.')[0]}Z`, email: faker.string.alpha(20), firstName: faker.string.alpha(20), lastName: faker.string.alpha(20), provider: faker.string.alpha(20), socialId: faker.string.alpha(20), locale: faker.string.alpha(20), role: { id: faker.helpers.arrayElement([1, 2] as const), name: faker.helpers.arrayElement(['ADMIN', 'USER'] as const), }, status: { id: faker.number.int({ min: undefined, max: undefined }), name: faker.string.alpha(20), }, consent: faker.helpers.arrayElement([ { termsAccepted: faker.datatype.boolean(), privacyPolicyAccepted: faker.datatype.boolean(), termsVersion: faker.string.alpha(20), privacyPolicyVersion: faker.string.alpha(20), createdAt: `${faker.date.past().toISOString().split('.')[0]}Z`, updatedAt: `${faker.date.past().toISOString().split('.')[0]}Z`, }, undefined, ]), ...overrideResponse, }) export const getUsersControllerUpdateResponseMock = ( overrideResponse: Partial = {} ): UserEntity => ({ id: faker.string.alpha(20), createdAt: `${faker.date.past().toISOString().split('.')[0]}Z`, updatedAt: `${faker.date.past().toISOString().split('.')[0]}Z`, deletedAt: `${faker.date.past().toISOString().split('.')[0]}Z`, email: faker.string.alpha(20), firstName: faker.string.alpha(20), lastName: faker.string.alpha(20), provider: faker.string.alpha(20), socialId: faker.string.alpha(20), locale: faker.string.alpha(20), role: { id: faker.helpers.arrayElement([1, 2] as const), name: faker.helpers.arrayElement(['ADMIN', 'USER'] as const), }, status: { id: faker.number.int({ min: undefined, max: undefined }), name: faker.string.alpha(20), }, consent: faker.helpers.arrayElement([ { termsAccepted: faker.datatype.boolean(), privacyPolicyAccepted: faker.datatype.boolean(), termsVersion: faker.string.alpha(20), privacyPolicyVersion: faker.string.alpha(20), createdAt: `${faker.date.past().toISOString().split('.')[0]}Z`, updatedAt: `${faker.date.past().toISOString().split('.')[0]}Z`, }, undefined, ]), ...overrideResponse, }) export const getUsersControllerRemoveResponseMock = ( overrideResponse: Partial = {} ): UserEntity => ({ id: faker.string.alpha(20), createdAt: `${faker.date.past().toISOString().split('.')[0]}Z`, updatedAt: `${faker.date.past().toISOString().split('.')[0]}Z`, deletedAt: `${faker.date.past().toISOString().split('.')[0]}Z`, email: faker.string.alpha(20), firstName: faker.string.alpha(20), lastName: faker.string.alpha(20), provider: faker.string.alpha(20), socialId: faker.string.alpha(20), locale: faker.string.alpha(20), role: { id: faker.helpers.arrayElement([1, 2] as const), name: faker.helpers.arrayElement(['ADMIN', 'USER'] as const), }, status: { id: faker.number.int({ min: undefined, max: undefined }), name: faker.string.alpha(20), }, consent: faker.helpers.arrayElement([ { termsAccepted: faker.datatype.boolean(), privacyPolicyAccepted: faker.datatype.boolean(), termsVersion: faker.string.alpha(20), privacyPolicyVersion: faker.string.alpha(20), createdAt: `${faker.date.past().toISOString().split('.')[0]}Z`, updatedAt: `${faker.date.past().toISOString().split('.')[0]}Z`, }, undefined, ]), ...overrideResponse, }) export const getUsersControllerCreateMockHandler = ( overrideResponse?: | UserEntity | ((info: Parameters[1]>[0]) => Promise | UserEntity) ) => { return http.post('*/api/v1/users', async (info) => { await delay(1000) return new HttpResponse( JSON.stringify( overrideResponse !== undefined ? typeof overrideResponse === 'function' ? await overrideResponse(info) : overrideResponse : getUsersControllerCreateResponseMock() ), { status: 201, headers: { 'Content-Type': 'application/json' } } ) }) } export const getUsersControllerFindAllMockHandler = ( overrideResponse?: | UserEntity[] | (( info: Parameters[1]>[0] ) => Promise | UserEntity[]) ) => { return http.get('*/api/v1/users', async (info) => { await delay(1000) return new HttpResponse( JSON.stringify( overrideResponse !== undefined ? typeof overrideResponse === 'function' ? await overrideResponse(info) : overrideResponse : getUsersControllerFindAllResponseMock() ), { status: 200, headers: { 'Content-Type': 'application/json' } } ) }) } export const getUsersControllerFindOneMockHandler = ( overrideResponse?: | UserEntity | ((info: Parameters[1]>[0]) => Promise | UserEntity) ) => { return http.get('*/api/v1/users/:id', async (info) => { await delay(1000) return new HttpResponse( JSON.stringify( overrideResponse !== undefined ? typeof overrideResponse === 'function' ? await overrideResponse(info) : overrideResponse : getUsersControllerFindOneResponseMock() ), { status: 200, headers: { 'Content-Type': 'application/json' } } ) }) } export const getUsersControllerUpdateMockHandler = ( overrideResponse?: | UserEntity | ((info: Parameters[1]>[0]) => Promise | UserEntity) ) => { return http.patch('*/api/v1/users/:id', async (info) => { await delay(1000) return new HttpResponse( JSON.stringify( overrideResponse !== undefined ? typeof overrideResponse === 'function' ? await overrideResponse(info) : overrideResponse : getUsersControllerUpdateResponseMock() ), { status: 201, headers: { 'Content-Type': 'application/json' } } ) }) } export const getUsersControllerRemoveMockHandler = ( overrideResponse?: | UserEntity | ((info: Parameters[1]>[0]) => Promise | UserEntity) ) => { return http.delete('*/api/v1/users/:id', async (info) => { await delay(1000) return new HttpResponse( JSON.stringify( overrideResponse !== undefined ? typeof overrideResponse === 'function' ? await overrideResponse(info) : overrideResponse : getUsersControllerRemoveResponseMock() ), { status: 200, headers: { 'Content-Type': 'application/json' } } ) }) } export const getUsersMock = () => [ getUsersControllerCreateMockHandler(), getUsersControllerFindAllMockHandler(), getUsersControllerFindOneMockHandler(), getUsersControllerUpdateMockHandler(), getUsersControllerRemoveMockHandler(), ]