52 lines
2.3 KiB
Go
52 lines
2.3 KiB
Go
package models
|
|
|
|
type CertificateRequest struct {
|
|
Runners []RunnerWithDonations `json:"runners" validate:"required"`
|
|
Locale string `json:"locale" enums:"en,de" validate:"required"`
|
|
}
|
|
|
|
type RunnerWithDonations struct {
|
|
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"`
|
|
CombinedGroupName string `json:"combined_group_name" validate:"optional"`
|
|
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"`
|
|
SelfServiceLink string `json:"self_service_link" validate:"required"`
|
|
}
|
|
|
|
type DistanceDonation struct {
|
|
ID int `json:"id" validate:"required"`
|
|
Amount int `json:"amount"`
|
|
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" 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 {
|
|
Runners []RunnerWithDonations `json:"runners"`
|
|
EventName string `json:"event_name"`
|
|
Footer string `json:"footer"`
|
|
CurrencySymbol string `json:"currency_symbol"`
|
|
Locale string `json:"locale"`
|
|
SepaConfig *SepaConfig `json:"sepa_config"`
|
|
}
|
|
|
|
type SepaConfig struct {
|
|
IBAN string `json:"iban" validate:"required"`
|
|
HolderName string `json:"holder_name" validate:"required"`
|
|
BIC string `json:"bic" validate:"required"`
|
|
CurrencyIdentifier string `json:"currency_identifier" validate:"required"`
|
|
}
|