/** * 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 { AuthEntity } from '../../types' export const getAuthGoogleControllerLoginResponseMock = ( overrideResponse: Partial = {} ): AuthEntity => ({ accessToken: faker.string.alpha(20), refreshToken: faker.string.alpha(20), tokenExpires: faker.number.int({ min: undefined, max: undefined }), user: { 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 getAuthFacebookControllerLoginResponseMock = ( overrideResponse: Partial = {} ): AuthEntity => ({ accessToken: faker.string.alpha(20), refreshToken: faker.string.alpha(20), tokenExpires: faker.number.int({ min: undefined, max: undefined }), user: { 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 getAuthAppleControllerLoginResponseMock = ( overrideResponse: Partial = {} ): AuthEntity => ({ accessToken: faker.string.alpha(20), refreshToken: faker.string.alpha(20), tokenExpires: faker.number.int({ min: undefined, max: undefined }), user: { 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 getAuthGoogleControllerLoginMockHandler = ( overrideResponse?: | AuthEntity | ((info: Parameters[1]>[0]) => Promise | AuthEntity) ) => { return http.post('*/api/v1/auth/google/login', async (info) => { await delay(1000) return new HttpResponse( JSON.stringify( overrideResponse !== undefined ? typeof overrideResponse === 'function' ? await overrideResponse(info) : overrideResponse : getAuthGoogleControllerLoginResponseMock() ), { status: 201, headers: { 'Content-Type': 'application/json' } } ) }) } export const getAuthFacebookControllerLoginMockHandler = ( overrideResponse?: | AuthEntity | ((info: Parameters[1]>[0]) => Promise | AuthEntity) ) => { return http.post('*/api/v1/auth/facebook/login', async (info) => { await delay(1000) return new HttpResponse( JSON.stringify( overrideResponse !== undefined ? typeof overrideResponse === 'function' ? await overrideResponse(info) : overrideResponse : getAuthFacebookControllerLoginResponseMock() ), { status: 201, headers: { 'Content-Type': 'application/json' } } ) }) } export const getAuthAppleControllerLoginMockHandler = ( overrideResponse?: | AuthEntity | ((info: Parameters[1]>[0]) => Promise | AuthEntity) ) => { return http.post('*/api/v1/auth/apple/login', async (info) => { await delay(1000) return new HttpResponse( JSON.stringify( overrideResponse !== undefined ? typeof overrideResponse === 'function' ? await overrideResponse(info) : overrideResponse : getAuthAppleControllerLoginResponseMock() ), { status: 201, headers: { 'Content-Type': 'application/json' } } ) }) } export const getAuthSocialMock = () => [ getAuthGoogleControllerLoginMockHandler(), getAuthFacebookControllerLoginMockHandler(), getAuthAppleControllerLoginMockHandler(), ]