Initialize environment configuration and enhance API logging
- Added a new .env file for environment variables including database and Redis configurations. - Updated CLAUDE.md with hard rules for development practices. - Enhanced package.json with new scripts for development and infrastructure management. - Integrated Pino for structured logging in the API, replacing the default NestJS logger. - Implemented OpenTelemetry for tracing and monitoring in the API. - Added durationMinutes field to the Mission model in Prisma schema and created corresponding migration. - Updated missions controller and service to handle mission duration and abandonment logic. - Introduced new logger module for consistent logging across the application.
This commit is contained in:
@@ -14,6 +14,8 @@ export type MissionStateResponse = z.infer<typeof MissionStateResponseSchema>;
|
||||
|
||||
export const StartMissionRequestSchema = z.object({
|
||||
difficulty: z.number().int().min(1).max(3),
|
||||
durationMinutes: z.union([z.literal(10), z.literal(20), z.literal(30)]),
|
||||
characterName: z.string().min(1).max(32).optional(),
|
||||
});
|
||||
export type StartMissionRequest = z.infer<typeof StartMissionRequestSchema>;
|
||||
|
||||
|
||||
@@ -17,11 +17,19 @@ export const MissionParticipantSchema = z.object({
|
||||
});
|
||||
export type MissionParticipant = z.infer<typeof MissionParticipantSchema>;
|
||||
|
||||
export const MissionDurationMinutesSchema = z.union([
|
||||
z.literal(10),
|
||||
z.literal(20),
|
||||
z.literal(30),
|
||||
]);
|
||||
export type MissionDurationMinutes = z.infer<typeof MissionDurationMinutesSchema>;
|
||||
|
||||
export const MissionSchema = z.object({
|
||||
id: z.uuid(),
|
||||
groupId: z.uuid().nullable(),
|
||||
participants: z.array(MissionParticipantSchema).min(1).max(4),
|
||||
difficulty: z.number().int().min(1).max(3),
|
||||
durationMinutes: MissionDurationMinutesSchema.default(20),
|
||||
status: MissionStateSchema,
|
||||
encounterLibraryVersion: z.string().min(1),
|
||||
nextTickAt: z.iso.datetime(),
|
||||
|
||||
Reference in New Issue
Block a user