feat(docs): Annotated required params

This commit is contained in:
2024-12-11 17:45:51 +01:00
parent f5debf58fc
commit e2cd445aeb
6 changed files with 163 additions and 37 deletions

View File

@@ -1,15 +1,15 @@
package models
type CardRequest struct {
Cards []Card `json:"cards"`
Locale string `json:"locale" enums:"en,de"`
Cards []Card `json:"cards" validate:"required"`
Locale string `json:"locale" enums:"en,de" validate:"required"`
}
type Card struct {
ID int `json:"id"`
Enabled bool `json:"enabled"`
Runner Runner `json:"runner"`
Code string `json:"code"`
ID int `json:"id" validate:"required"`
Enabled bool `json:"enabled" default:"true"`
Runner Runner `json:"runner" validate:"required"`
Code string `json:"code" validate:"required"`
}
type CardTemplateOptions struct {

View File

@@ -1,35 +1,35 @@
package models
type CertificateRequest struct {
Runners []RunnerWithDonations `json:"runners"`
Locale string `json:"locale" enums:"en,de"`
Runners []RunnerWithDonations `json:"runners" validate:"required"`
Locale string `json:"locale" enums:"en,de" validate:"required"`
}
type RunnerWithDonations struct {
ID int `json:"id"`
FirstName string `json:"first_name"`
MiddleName string `json:"middle_name"`
LastName string `json:"last_name"`
Group Group `json:"group"`
Distance int `json:"distance"`
DistanceDonations []DistanceDonation `json:"distance_donations"`
TotalPerDistance int `json:"total_per_distance"`
TotalDonations int `json:"total_donations"`
ID int `json:"id" validate:"required"`
FirstName string `json:"first_name" validate:"required"`
MiddleName string `json:"middle_name" validate:"optional"`
LastName string `json:"last_name" validate:"required"`
Group Group `json:"group" validate:"required"`
Distance int `json:"distance" validate:"required"`
DistanceDonations []DistanceDonation `json:"distance_donations" validate:"optional"`
TotalPerDistance int `json:"total_per_distance" validate:"optional"`
TotalDonations int `json:"total_donations" validate:"optional"`
}
type DistanceDonation struct {
ID int `json:"id"`
ID int `json:"id" validate:"required"`
Amount int `json:"amount"`
PaidAmount int `json:"paid_amount"`
AmountPerDistance int `json:"amount_per_distance"`
Donor Donor `json:"donor"`
PaidAmount int `json:"paid_amount" validate:"optional"`
AmountPerDistance int `json:"amount_per_distance" validate:"required"`
Donor Donor `json:"donor" validate:"required"`
}
type Donor struct {
ID int `json:"id"`
FirstName string `json:"first_name"`
MiddleName string `json:"middle_name"`
LastName string `json:"last_name"`
ID int `json:"id" validate:"required"`
FirstName string `json:"first_name" validate:"required"`
MiddleName string `json:"middle_name" validate:"optional"`
LastName string `json:"last_name" validate:"required"`
}
type CertificateTemplateOptions struct {

View File

@@ -1,22 +1,22 @@
package models
type ContractRequest struct {
Runners []Runner `json:"runners"`
Locale string `json:"locale" enums:"en,de"`
Runners []Runner `json:"runners" validate:"required"`
Locale string `json:"locale" enums:"en,de" validate:"required"`
}
type Runner struct {
ID int `json:"id"`
FirstName string `json:"first_name"`
MiddleName string `json:"middle_name"`
LastName string `json:"last_name"`
Group Group `json:"group"`
ID int `json:"id" validate:"required"`
FirstName string `json:"first_name" validate:"required"`
MiddleName string `json:"middle_name" validate:"optional"`
LastName string `json:"last_name" validate:"required"`
Group Group `json:"group" validate:"required"`
}
type Group struct {
ID int `json:"id"`
Name string `json:"name"`
ParentGroup *Group `json:"parent_group"`
ID int `json:"id" validate:"required"`
Name string `json:"name" validate:"required"`
ParentGroup *Group `json:"parent_group" validate:"optional"`
}
type ContractTemplateOptions struct {