first commit
This commit is contained in:
60
internal/modules/seriessetmaster/model.go
Normal file
60
internal/modules/seriessetmaster/model.go
Normal file
@@ -0,0 +1,60 @@
|
||||
package seriessetmaster
|
||||
|
||||
import "time"
|
||||
|
||||
// SeriesSetMaster merepresentasikan tabel utama "series_set_masters" di database (digunakan untuk AutoMigrate GORM)
|
||||
type SeriesSetMaster struct {
|
||||
ID uint `json:"id" gorm:"primaryKey;autoIncrement"`
|
||||
ParentID *uint `json:"parent_id" gorm:"index;default:null"`
|
||||
SetCode string `json:"set_code,omitempty" gorm:"type:varchar(50);index"`
|
||||
SetName string `json:"set_name,omitempty" gorm:"type:varchar(150)"`
|
||||
SeriesName string `json:"series_name" gorm:"type:varchar(150);not null;index"`
|
||||
Image string `json:"image" gorm:"type:varchar(255)"`
|
||||
Logo string `json:"logo,omitempty" gorm:"type:varchar(255)"`
|
||||
ReleaseDate *time.Time `json:"release_date,omitempty" gorm:"type:date"`
|
||||
TotalCards int `json:"total_cards" gorm:"default:0"`
|
||||
ExpansionCount int `json:"expansion_count" gorm:"default:0"`
|
||||
CardCount int `json:"card_count" gorm:"default:0"`
|
||||
CreatedAt time.Time `json:"created_at" gorm:"autoCreateTime"`
|
||||
UpdatedAt time.Time `json:"updated_at" gorm:"autoUpdateTime"`
|
||||
CreatedBy *uint `json:"created_by" gorm:"default:null"`
|
||||
UpdatedBy *uint `json:"updated_by" gorm:"default:null"`
|
||||
Parent *SeriesSetMaster `json:"parent,omitempty" gorm:"foreignKey:ParentID;references:ID;constraint:OnUpdate:CASCADE,OnDelete:RESTRICT;"`
|
||||
Children []SeriesSetMaster `json:"children,omitempty" gorm:"foreignKey:ParentID;references:ID"`
|
||||
}
|
||||
|
||||
func (SeriesSetMaster) TableName() string {
|
||||
return "series_set_masters"
|
||||
}
|
||||
|
||||
// Series merepresentasikan data khusus Series untuk kelola data/response
|
||||
type Series struct {
|
||||
ID uint `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Image string `json:"image"`
|
||||
ExpansionCount int `json:"expansion_count"`
|
||||
CardCount int `json:"card_count"`
|
||||
CreatedAt time.Time `json:"created_at"`
|
||||
UpdatedAt time.Time `json:"updated_at"`
|
||||
CreatedBy *uint `json:"created_by"`
|
||||
UpdatedBy *uint `json:"updated_by"`
|
||||
Sets []Set `json:"sets,omitempty"`
|
||||
}
|
||||
|
||||
// Set merepresentasikan data khusus Set untuk kelola data/response
|
||||
type Set struct {
|
||||
ID uint `json:"id"`
|
||||
ParentID uint `json:"parent_id"`
|
||||
SetCode string `json:"set_code"`
|
||||
SetName string `json:"set_name"`
|
||||
SeriesName string `json:"series_name"`
|
||||
Image string `json:"image"`
|
||||
Logo string `json:"logo,omitempty"`
|
||||
ReleaseDate *time.Time `json:"release_date,omitempty"`
|
||||
TotalCards int `json:"total_cards"`
|
||||
CreatedAt time.Time `json:"created_at"`
|
||||
UpdatedAt time.Time `json:"updated_at"`
|
||||
CreatedBy *uint `json:"created_by"`
|
||||
UpdatedBy *uint `json:"updated_by"`
|
||||
Series *Series `json:"series,omitempty"`
|
||||
}
|
||||
Reference in New Issue
Block a user