- Go module with Gin, GORM, JWT, excelize dependencies - Configuration loading from YAML with all settings - GORM models for users, categories, components, configurations, alerts - Repository layer for all entities - Services: auth (JWT), pricing (median/average/weighted), components, quotes, configurations, export (CSV/XLSX), alerts - Middleware: JWT auth, role-based access, CORS - HTTP handlers for all API endpoints - Main server with dependency injection and graceful shutdown Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
39 lines
1.1 KiB
Go
39 lines
1.1 KiB
Go
package models
|
|
|
|
import "time"
|
|
|
|
// Lot represents existing lot table (READ-ONLY)
|
|
type Lot struct {
|
|
LotName string `gorm:"column:lot_name;primaryKey;size:255"`
|
|
LotDescription string `gorm:"column:lot_description;size:10000"`
|
|
}
|
|
|
|
func (Lot) TableName() string {
|
|
return "lot"
|
|
}
|
|
|
|
// LotLog represents existing lot_log table (READ-ONLY)
|
|
type LotLog struct {
|
|
LotLogID uint `gorm:"column:lot_log_id;primaryKey;autoIncrement"`
|
|
Lot string `gorm:"column:lot;size:255;not null"`
|
|
Supplier string `gorm:"column:supplier;size:255;not null"`
|
|
Date time.Time `gorm:"column:date;type:date;not null"`
|
|
Price float64 `gorm:"column:price;not null"`
|
|
Quality string `gorm:"column:quality;size:255"`
|
|
Comments string `gorm:"column:comments;size:15000"`
|
|
}
|
|
|
|
func (LotLog) TableName() string {
|
|
return "lot_log"
|
|
}
|
|
|
|
// Supplier represents existing supplier table (READ-ONLY)
|
|
type Supplier struct {
|
|
SupplierName string `gorm:"column:supplier_name;primaryKey;size:255"`
|
|
SupplierComment string `gorm:"column:supplier_comment;size:10000"`
|
|
}
|
|
|
|
func (Supplier) TableName() string {
|
|
return "supplier"
|
|
}
|