// schemas/empty.schema.ts
export const EmptySchema = docsService.registerSchema('EmptyObject', z.object({}));
// resources/account/actions/sign-up/schema.ts
export const schema = z.object({
firstName: z.string().min(1, 'Please enter First name').max(100),
lastName: z.string().min(1, 'Please enter Last name').max(100),
email: z.string().min(1, 'Please enter email').email('Email format is incorrect.'),
password: z.string().regex(
PASSWORD_REGEXP,
'The password must contain 6 or more characters with at least one letter (a-z) and one number (0-9).',
),
});
// resources/account/actions/sign-up/doc.ts
import { resourceName } from 'resources/account/constants';
import { schema } from './schema';
import { EmptySchema } from 'schemas/empty.schema';
const config: RouteExtendedConfig = {
private: false,
tags: [resourceName],
method: 'post',
path: `/${resourceName}/sign-up`,
summary: 'Sign up',
request: {
body: { content: { 'application/json': { schema } } },
},
responses: {
200: {
description: 'Empty data.',
content: {
'application/json': {
schema: EmptySchema,
},
},
},
},
};
export default config;