UNPKG

@vfarcic/dot-ai

Version:

AI-powered development productivity platform that enhances software development workflows through intelligent automation and AI-driven assistance

65 lines (64 loc) 3.27 kB
"use strict"; /** * User Management Endpoint Schemas (PRD #380 Task 2.5) * * Schemas for the /api/v1/users endpoints. */ Object.defineProperty(exports, "__esModule", { value: true }); exports.UserManagementErrorSchema = exports.UserBadRequestErrorSchema = exports.UserNotFoundErrorSchema = exports.UserConflictErrorSchema = exports.UserDeleteResponseSchema = exports.UserDeleteDataSchema = exports.UserListResponseSchema = exports.UserListDataSchema = exports.UserCreateResponseSchema = exports.UserCreateDataSchema = exports.UserEntrySchema = exports.UserEmailParamsSchema = exports.UserCreateRequestSchema = void 0; const zod_1 = require("zod"); const common_1 = require("./common"); // --------------------------------------------------------------------------- // Request schemas // --------------------------------------------------------------------------- exports.UserCreateRequestSchema = zod_1.z.object({ email: zod_1.z.string().email().describe('User email address'), password: zod_1.z.string().min(8).describe('User password (minimum 8 characters)'), }); exports.UserEmailParamsSchema = zod_1.z.object({ email: zod_1.z.string().describe('User email address'), }); // --------------------------------------------------------------------------- // Response data schemas // --------------------------------------------------------------------------- exports.UserEntrySchema = zod_1.z.object({ email: zod_1.z.string().email().describe('User email address'), }); exports.UserCreateDataSchema = zod_1.z.object({ email: zod_1.z.string().email().describe('Created user email'), message: zod_1.z.string().describe('Result message'), }); exports.UserCreateResponseSchema = (0, common_1.createSuccessResponseSchema)(exports.UserCreateDataSchema); exports.UserListDataSchema = zod_1.z.object({ users: zod_1.z.array(exports.UserEntrySchema).describe('List of users'), total: zod_1.z.number().describe('Total number of users'), }); exports.UserListResponseSchema = (0, common_1.createSuccessResponseSchema)(exports.UserListDataSchema); exports.UserDeleteDataSchema = zod_1.z.object({ email: zod_1.z.string().email().describe('Deleted user email'), message: zod_1.z.string().describe('Result message'), }); exports.UserDeleteResponseSchema = (0, common_1.createSuccessResponseSchema)(exports.UserDeleteDataSchema); // --------------------------------------------------------------------------- // Error schemas // --------------------------------------------------------------------------- exports.UserConflictErrorSchema = common_1.ErrorResponseSchema.extend({ error: common_1.ErrorDetailsSchema.extend({ code: zod_1.z.literal('USER_CONFLICT'), }), }); exports.UserNotFoundErrorSchema = common_1.ErrorResponseSchema.extend({ error: common_1.ErrorDetailsSchema.extend({ code: zod_1.z.literal('USER_NOT_FOUND'), }), }); exports.UserBadRequestErrorSchema = common_1.ErrorResponseSchema.extend({ error: common_1.ErrorDetailsSchema.extend({ code: zod_1.z.literal('INVALID_REQUEST'), }), }); exports.UserManagementErrorSchema = common_1.InternalServerErrorSchema.extend({ error: common_1.ErrorDetailsSchema.extend({ code: zod_1.z.literal('USER_MANAGEMENT_ERROR'), }), });