1
0
Fork 0
This repository has been archived on 2025-09-02. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
mareshq-yggdrasil/pkg/training/model.go

65 lines
1.3 KiB
Go

package training
import (
"github.com/shopspring/decimal"
"gitlab.mareshq.com/hq/yggdrasil/internal/money"
"time"
)
type TrainingID = int
type Training struct {
ID TrainingID
Name string
Days int8
Description string
Pricing []TrainingPrice `db:"-"`
}
type TrainingPrice struct {
Amount decimal.Decimal
Currency money.Currency
Type TrainingPriceType
}
type TrainingPriceType string
const (
OpenTrainingPrice TrainingPriceType = "OPEN"
CorporateTrainingPrice TrainingPriceType = "CORPORATE"
)
type TrainingDateID = int
type TrainingDate struct {
trainingID TrainingID
ID TrainingDateID
Date time.Time
StartTime time.Time
Days int8
IsOnline bool
Location string
Address string
Capacity int8
PriceAmount decimal.Decimal `db:"price_amount"`
PriceCurrency money.Currency `db:"price_currency"`
}
type TrainingDateAttendeeID = int
type TrainingDateAttendee struct {
trainingDateID TrainingDateID
ID TrainingDateAttendeeID
Name string
Email string
Phone string
Company string
Position string
IsStudent bool
HasPaid bool
HasAttended bool
BillAmount decimal.Decimal `db:"bill_amount"`
BillCurrency money.Currency `db:"bill_currency"`
}