/**
 * Generated by orval v8.23.0 🍺
 * Do not edit manually.
 * Api
 * API specification for Roleta UMR Equipamentos
 * OpenAPI spec version: 0.1.0
 */
import * as zod from 'zod';


/**
 * Returns server health status
 * @summary Health check
 */
export const HealthCheckResponse = zod.object({
  "status": zod.string()
})


/**
 * Registers a participant and returns the drawn prize based on cargo restrictions and daily limits
 * @summary Register participant and draw prize
 */




export const RegisterParticipantBody = zod.object({
  "nome": zod.string().min(1),
  "empresa": zod.string().min(1),
  "cargo": zod.enum(['Gerente de Manutenção', 'Coordenador de Manutenção', 'Supervisor de Manutenção', 'Engenharia de Projetos', 'Engenharia de Manutenção', 'Engenharia Química', 'Mecânico', 'Comprador', 'PCM – Planejamento e Controle da Manutenção', 'Fornecedor', 'Outros']),
  "cidade": zod.string().optional(),
  "estado": zod.string().optional(),
  "telefone": zod.string().optional(),
  "email": zod.string().optional()
})

export const RegisterParticipantResponse = zod.object({
  "prize": zod.string().describe('Display name of the drawn prize'),
  "prizeKey": zod.string().describe('Internal key of the drawn prize (used to load SVG popup)'),
  "timestamp": zod.string().describe('ISO timestamp of the draw')
})


/**
 * Returns daily prize counters and enabled flags for special prizes
 * @summary Get admin status
 */
export const GetAdminStatusResponse = zod.object({
  "date": zod.string().describe('Current date (YYYY-MM-DD)'),
  "counters": zod.object({
  "revestimento": zod.number().optional(),
  "alinhamento": zod.number().optional(),
  "convite_pista": zod.number().optional(),
  "camarote_barretao": zod.number().optional(),
  "treinamento_bombas": zod.number().optional()
}),
  "enabled": zod.object({
  "camarote_barretao": zod.boolean().optional(),
  "treinamento_bombas": zod.boolean().optional()
})
})


/**
 * Resets all daily counters and state.json for a new day
 * @summary Reset daily counters
 */
export const AdminResetResponse = zod.object({
  "date": zod.string().describe('Current date (YYYY-MM-DD)'),
  "counters": zod.object({
  "revestimento": zod.number().optional(),
  "alinhamento": zod.number().optional(),
  "convite_pista": zod.number().optional(),
  "camarote_barretao": zod.number().optional(),
  "treinamento_bombas": zod.number().optional()
}),
  "enabled": zod.object({
  "camarote_barretao": zod.boolean().optional(),
  "treinamento_bombas": zod.boolean().optional()
})
})


/**
 * Toggles Camarote Barretão or Treinamento de Bombas on/off
 * @summary Enable or disable a special prize
 */
export const AdminTogglePrizeBody = zod.object({
  "prize": zod.enum(['camarote_barretao', 'treinamento_bombas']),
  "enabled": zod.boolean()
})

export const AdminTogglePrizeResponse = zod.object({
  "date": zod.string().describe('Current date (YYYY-MM-DD)'),
  "counters": zod.object({
  "revestimento": zod.number().optional(),
  "alinhamento": zod.number().optional(),
  "convite_pista": zod.number().optional(),
  "camarote_barretao": zod.number().optional(),
  "treinamento_bombas": zod.number().optional()
}),
  "enabled": zod.object({
  "camarote_barretao": zod.boolean().optional(),
  "treinamento_bombas": zod.boolean().optional()
})
})


