Files

40 lines
1002 B
Go

package base
import (
"time"
"wagfarm-api/taxonomy/customer"
"wagfarm-api/taxonomy/seller"
"wagfarm-api/taxonomy/unit"
"github.com/shopspring/decimal"
)
type Asset struct {
ID uint `gorm:"primaryKey`
Name string `gorm:"not null"`
Notes string
}
func (a Asset) GetID() uint { return a.ID }
type Resource struct {
Asset
UnitID uint `gorm:"not null"`
Unit unit.Unit `gorm:"not null; constraint:OnUpdate:CASCADE,OnDelete:CASCADE;"`
Cost decimal.Decimal `gorm:"not null; type:decimal(10,2);"` // in euro/unit
}
type BoughtResource struct {
Resource
BuyDate time.Time `gorm:"not null"`
BoughtFromID uint `gorm:"not null"`
BoughtFrom seller.Seller `gorm:"not null; constraint:OnUpdate:CASCADE,OnDelete:CASCADE;"`
}
type SoldResource struct {
Resource
SaleDate time.Time `gorm:"not null"`
SoldToID uint `gorm:"not null"`
SoldTo customer.Customer `gorm:"not null; constraint:OnUpdate:CASCADE,OnDelete:CASCADE;"`
}