@battle-racing/br-common-lib
Version:
Common library for all Battle Racing Repositorios
47 lines (46 loc) • 1.73 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.GameTurnQueueItemSchema = exports.GameTurnSchema = exports.GameTurnCheckSchema = exports.GameTurnStatusSchema = exports.GAME_TURN_CHECK = exports.GAME_TURN_STATUS = void 0;
const zod_1 = require("zod");
const GameTurnTask_schema_1 = require("./GameTurnTask.schema");
exports.GAME_TURN_STATUS = {
CREATED: 'created',
IN_QUEUE: 'in_queue',
READY: 'ready',
PLAYING: 'playing',
COMPLETED: 'completed',
};
exports.GAME_TURN_CHECK = {
TUTORIAL: 'tutorial',
AGE_VERIFICATION: 'age_verification',
TERMS_ACCEPTANCE: 'terms_acceptance',
};
exports.GameTurnStatusSchema = zod_1.z.enum([
exports.GAME_TURN_STATUS.CREATED,
exports.GAME_TURN_STATUS.IN_QUEUE,
exports.GAME_TURN_STATUS.READY,
exports.GAME_TURN_STATUS.PLAYING,
exports.GAME_TURN_STATUS.COMPLETED,
]);
exports.GameTurnCheckSchema = zod_1.z.enum([
exports.GAME_TURN_CHECK.TUTORIAL,
exports.GAME_TURN_CHECK.AGE_VERIFICATION,
exports.GAME_TURN_CHECK.TERMS_ACCEPTANCE,
]);
exports.GameTurnSchema = zod_1.z.object({
id: zod_1.z.string(),
purchaseId: zod_1.z.string(),
leaderUsername: zod_1.z.string(),
gameTickets: zod_1.z.array(zod_1.z.string()),
usernames: zod_1.z.array(zod_1.z.string()),
status: exports.GameTurnStatusSchema,
tasks: zod_1.z.array(GameTurnTask_schema_1.GameTurnTaskSchema),
createdAt: zod_1.z.date(),
updatedAt: zod_1.z.date(),
startedAt: zod_1.z.date().optional(),
completedAt: zod_1.z.date().optional(),
});
// The Game turn queue item requires a position to sort it.
exports.GameTurnQueueItemSchema = exports.GameTurnSchema.extend({
position: zod_1.z.number(),
});