Files
fm_be/internal/domain/after_flight_inspection/model.go
2026-07-16 22:16:45 +07:00

59 lines
3.0 KiB
Go

package afterflightinspection
import (
"errors"
"time"
"gorm.io/gorm"
"wucher/internal/shared/pkg/uuidv7"
)
type AfterFlightInspection struct {
ID []byte `gorm:"type:binary(16);primaryKey;column:id"`
FlightInspectionID []byte `gorm:"type:binary(16);not null;uniqueIndex;column:flight_inspection_id"`
OilEngineNR1Checked *string `gorm:"type:varchar(255);null;column:oil_engine_nr1_checked"`
OilEngineNR2Checked *string `gorm:"type:varchar(255);null;column:oil_engine_nr2_checked"`
HydraulicLHChecked *string `gorm:"type:varchar(255);null;column:hydraulic_lh_checked"`
HydraulicRHChecked *string `gorm:"type:varchar(255);null;column:hydraulic_rh_checked"`
OilTransmissionMGBChecked *string `gorm:"type:varchar(255);null;column:oil_transmission_mgb_checked"`
OilTransmissionIGBChecked *string `gorm:"type:varchar(255);null;column:oil_transmission_igb_checked"`
OilTransmissionTGBChecked *string `gorm:"type:varchar(255);null;column:oil_transmission_tgb_checked"`
Note *string `gorm:"type:text;column:note"`
CreatedAt time.Time `gorm:"column:created_at"`
CreatedBy []byte `gorm:"type:binary(16);column:created_by"`
UpdatedAt time.Time `gorm:"column:updated_at"`
UpdatedBy []byte `gorm:"type:binary(16);column:updated_by"`
}
func (AfterFlightInspection) TableName() string { return "after_flight_inspections" }
func (a *AfterFlightInspection) BeforeCreate(tx *gorm.DB) error {
if len(a.ID) == 0 {
a.ID = uuidv7.MustBytes()
}
return nil
}
var (
ErrInvalidFlightInspectionID = errors.New("flight_inspection_id is invalid")
ErrFlightInspectionNotFound = errors.New("flight inspection not found")
ErrCapabilitiesUnavailable = errors.New("helicopter capabilities could not be resolved")
ErrNR1Required = errors.New("oil_engine_nr1_checked is required for this helicopter")
ErrNR1NotAvailable = errors.New("NR1 capability not available on this helicopter")
ErrNR2Required = errors.New("oil_engine_nr2_checked is required for this helicopter")
ErrNR2NotAvailable = errors.New("NR2 capability not available on this helicopter")
ErrLHRequired = errors.New("hydraulic_lh_checked is required for this helicopter")
ErrLHNotAvailable = errors.New("LH capability not available on this helicopter")
ErrRHRequired = errors.New("hydraulic_rh_checked is required for this helicopter")
ErrRHNotAvailable = errors.New("RH capability not available on this helicopter")
ErrMGBRequired = errors.New("oil_transmission_mgb_checked is required for this helicopter")
ErrMGBNotAvailable = errors.New("MGB capability not available on this helicopter")
ErrIGBRequired = errors.New("oil_transmission_igb_checked is required for this helicopter")
ErrIGBNotAvailable = errors.New("IGB capability not available on this helicopter")
ErrTGBRequired = errors.New("oil_transmission_tgb_checked is required for this helicopter")
ErrTGBNotAvailable = errors.New("TGB capability not available on this helicopter")
)