api/internal/api/merch/dto.go
2025-11-02 23:27:23 +03:00

95 lines
2.1 KiB
Go

package merch
import "time"
type merchBundle struct {
Merch *Merch
Surugaya *Surugaya
Mandarake *Mandarake
}
type MerchDTO struct {
MerchUuid string `json:"merch_uuid"`
Name string `json:"name"`
OriginSurugaya SurugayaDTO `json:"origin_surugaya"`
OriginMandarake MandarakeDTO `json:"origin_mandarake"`
Labels []string `json:"labels,omitempty" gorm:"-"`
}
type SurugayaDTO struct {
Link string `json:"link"`
}
type MandarakeDTO struct {
Link string `json:"link"`
}
type SingleMerchResponse struct {
MerchUuid string `json:"merch_uuid"`
Name string `json:"name"`
Origins []any `json:"origins"`
}
type ListResponse struct {
MerchUuid string `json:"merch_uuid"`
Name string `json:"name"`
Labels []string `json:"labels,omitempty" gorm:"-"`
}
type PriceEntry struct {
CreatedAt int64 `json:"created_at"`
Value int `json:"value"`
}
type OriginWithPrices struct {
Origin Origin `json:"origin"`
Prices []PriceEntry
}
type PricesResponse struct {
Name string `json:"name"`
MerchUuid string `json:"merch_uuid"`
Origins []OriginWithPrices `json:"origins"`
}
type UpdateMerchDTO struct {
MerchUuid string `json:"merch_uuid"`
Name string `json:"name"`
Origin string `json:"origin"`
Link string `json:"link"`
}
type ImageLink struct {
Link string `json:"link"`
ETag string `json:"etag"`
}
type LabelDTO struct {
Name string `json:"name"`
Color string `json:"color,omitempty"`
BgColor string `json:"bg_color,omitempty"`
}
type LabelsList struct {
LabelUuid string `json:"label_uuid"`
Name string `json:"name"`
Color string `json:"color,omitempty"`
BgColor string `json:"bg_color,omitempty"`
}
type LabelLink struct {
MerchUuid string `json:"merch_uuid"`
LabelUuid string `json:"label_uuid"`
}
type ZeroPrice struct {
Id int `json:"id"`
CreatedAt time.Time `json:"created_at"`
MerchUuid string `json:"merch_uuid"`
Name string `json:"name"`
Origin string `json:"origin"`
}
type DeleteZeroPrices struct {
Id uint `json:"id"`
MerchUuid string `json:"merch_uuid"`
}