@battle-racing/br-common-lib
Version:
Common library for all Battle Racing Repositorios
35 lines (34 loc) • 1.51 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.paginatedRacingTeamSummarySchema = exports.paginatedRacingTeamSchema = exports.racingTeamSummarySchema = exports.filterRacingTeamSchema = exports.updateRacingTeamSchema = exports.createRacingTeamSchema = exports.racingTeamSchema = void 0;
const zod_1 = require("zod");
const pagination_1 = require("../pagination");
exports.racingTeamSchema = zod_1.z.object({
id: zod_1.z.string(),
name: zod_1.z.string().min(3).max(50),
imageUrl: zod_1.z.url().optional(),
adminUserId: zod_1.z.string(),
createdAt: zod_1.z.date(),
updatedAt: zod_1.z.date(),
});
exports.createRacingTeamSchema = exports.racingTeamSchema.omit({
id: true,
createdAt: true,
updatedAt: true,
adminUserId: true,
});
exports.updateRacingTeamSchema = exports.racingTeamSchema.partial();
exports.filterRacingTeamSchema = zod_1.z.object({
name: zod_1.z.string().optional(),
adminUserId: zod_1.z.string().optional(),
page: zod_1.z.coerce.number().min(1).default(1),
limit: zod_1.z.coerce.number().min(1).max(100).default(10),
cursor: zod_1.z.string().optional(),
});
exports.racingTeamSummarySchema = exports.racingTeamSchema.pick({
id: true,
name: true,
imageUrl: true,
});
exports.paginatedRacingTeamSchema = (0, pagination_1.paginatedResponseSchema)(exports.racingTeamSchema);
exports.paginatedRacingTeamSummarySchema = (0, pagination_1.paginatedResponseSchema)(exports.racingTeamSummarySchema);