Tipi
Tipi Scrittura
Payload per operazioni POST e PATCH sulle entità dello schema fasi.
Panoramica
I tipi di scrittura corrispondono ai payload inviati a PostgREST per creare o modificare entità. Tutti richiedono l'header Content-Profile: fasi.
FaseCreate / FaseUpdate
interface FaseCreate {
idboard: number
nome: string
ordine: number
colore: string // hex (es. '#3b82f6')
finale?: boolean
iniziale?: boolean
attiva?: boolean
wiplimit?: number | null
giornistallo?: number
idtemplateemail?: number | null
idtemplatesms?: number | null
}
interface FaseUpdate {
nome?: string
colore?: string
ordine?: number
finale?: boolean
iniziale?: boolean
attiva?: boolean
wiplimit?: number | null
giornistallo?: number
idtemplateemail?: number | null
idtemplatesms?: number | null
dataeliminazione?: string | null // soft delete
}
BoardCreate / BoardUpdate
interface BoardCreate {
codboard: string // identificatore URL-friendly
nome: string
descrizione?: string | null
attiva?: boolean
}
interface BoardUpdate {
codboard?: string
nome?: string
descrizione?: string | null
attiva?: boolean
dataeliminazione?: string | null
}
PrioritaCreate / PrioritaUpdate
interface PrioritaCreate {
idboard: number
nome: string
colore: string // hex senza '#'
livello: number // ordine di urgenza (1 = massima)
ordine: number // ordine di visualizzazione
}
TagCreate / TagUpdate
interface TagCreate {
idboard: number
nome: string
colore: string // hex senza '#'
}
BoardCampoCreate / BoardCampoUpdate
interface BoardCampoCreate {
idboard: number
nomecampo: string // chiave in dati_extra
etichetta: string // label visualizzata
tipocampo: TipoCampo // 'text'|'textarea'|'number'|'date'|'boolean'|'select'
obbligatorio?: boolean
opzioni?: BoardCampoOpzione[] | null // per tipocampo 'select'
opzioni_url?: string | null // endpoint dinamico per opzioni
opzioni_label?: string | null
opzioni_value?: string | null
ordine?: number
attivo?: boolean
}
FaseTeamWrite
interface FaseTeamWrite {
idfase: number
idteam: number // ID gruppo da @pzeta/authorization (GroupView.id)
}
idteam corrisponde a GroupView.id della libreria @pzeta/authorization. Il vincolo è logico, non enforced a DB.
FaseOrdineItem
interface FaseOrdineItem {
idfase: number
ordine: number
}
Usato nel payload di riordina_fasi — deve includere tutte le fasi della board.