esameits24-26backend/src/validation/constraints.ts

34 lines
1 KiB
TypeScript
Raw Normal View History

//=========================================
// File: constraints.ts
// Vincoli derivati da initdb/01_schema.sql.
// author: "villari.andrea@libero.it"
// version: "1.0.0 2026-14-07"
//=========================================
export const UTENTE_CONSTRAINTS = {
nome: { maxLength: 100, required: true },
cognome: { maxLength: 100, required: true },
email: { maxLength: 255, required: true },
password: { minLength: 8, maxLength: 72, required: true },
ruolo: {
allowedValues: ["Dipendente", "Referente Academy"] as const,
required: true,
},
} as const;
export const CORSO_CONSTRAINTS = {
titolo: { maxLength: 200, required: true },
descrizione: { maxLength: 65535, required: false },
categoria: { maxLength: 100, required: true },
durataOre: { min: 1, max: 65535, required: true },
obbligatorio: { required: false },
attivo: { required: false },
} as const;
export const ASSEGNAZIONE_CONSTRAINTS = {
stato: {
allowedValues: ["Assegnato", "Completato", "Scaduto", "Annullato"] as const,
required: true,
},
} as const;