bottin/response.go
Victor Lacasse-Beaudoin e4ff1013d0 feature: ajouter et tester GetMembre[s]ForDisplay
Priorisent le prefered_name ("nom d'usage") et devraient être utilisés
aux endroits où l'affichage est important.
2024-06-20 18:51:38 -04:00

91 lines
1.7 KiB
Go

package main
import (
"fmt"
"codeberg.org/vlbeaudoin/voki/v3"
)
type APIResponse struct {
voki.MessageResponse
statusCode int
}
func (R APIResponse) StatusCode() int { return R.statusCode }
func (R *APIResponse) SetStatusCode(code int) error {
if code <= 0 {
return fmt.Errorf("Cannot set status code to %d", code)
}
R.statusCode = code
return nil
}
type HealthGETResponse struct {
APIResponse
}
type MembreGETResponse struct {
APIResponse
Data MembreGETResponseData `json:"data"`
}
type MembreGETResponseData struct {
Membre Membre `json:"membre"`
}
type MembrePreferedNamePUTResponse struct {
APIResponse
}
type MembresGETResponse struct {
APIResponse
Data MembresGETResponseData `json:"data"`
}
type MembresGETResponseData struct {
Membres []Membre `json:"membres"`
}
type MembreDisplayGETResponse struct {
APIResponse
Data MembreDisplayGETResponseData `json:"data"`
}
type MembreDisplayGETResponseData struct {
Membre MembreForDisplay `json:"membre_for_display"`
}
type MembresDisplayGETResponse struct {
APIResponse
Data MembresDisplayGETResponseData `json:"data"`
}
type MembresDisplayGETResponseData struct {
Membres []MembreForDisplay `json:"membres_for_display"`
}
type MembresPOSTResponse struct {
APIResponse
Data MembresPOSTResponseData `json:"data"`
}
type MembresPOSTResponseData struct {
MembresInserted int64 `json:"membres_inserted"`
}
type ProgrammesPOSTResponse struct {
APIResponse
Data ProgrammesPOSTResponseData `json:"data"`
}
type ProgrammesPOSTResponseData struct {
ProgrammesInserted int64 `json:"programmes_inserted"`
}
type ProgrammesGETResponse struct {
APIResponse
Data ProgrammesGETResponseData `json:"data"`
}
type ProgrammesGETResponseData struct {
Programmes []Programme `json:"programmes"`
}