Files
fm_be/internal/repository/mysql/flight_prep_check_repo.go
2026-07-16 22:16:45 +07:00

45 lines
1.3 KiB
Go

package mysql
import (
"context"
"errors"
"gorm.io/gorm"
flightprepcheck "wucher/internal/domain/flight_prep_check"
)
type FlightPrepCheckRepository struct {
db *gorm.DB
}
func NewFlightPrepCheckRepository(db *gorm.DB) *FlightPrepCheckRepository {
return &FlightPrepCheckRepository{db: db}
}
func (r *FlightPrepCheckRepository) Create(ctx context.Context, check *flightprepcheck.FlightPrepCheck) error {
return r.db.WithContext(ctx).Create(check).Error
}
func (r *FlightPrepCheckRepository) Update(ctx context.Context, check *flightprepcheck.FlightPrepCheck) error {
return r.db.WithContext(ctx).Save(check).Error
}
func (r *FlightPrepCheckRepository) GetByID(ctx context.Context, id []byte) (*flightprepcheck.FlightPrepCheck, error) {
var check flightprepcheck.FlightPrepCheck
err := r.db.WithContext(ctx).Where("id = ?", id).First(&check).Error
if errors.Is(err, gorm.ErrRecordNotFound) {
return nil, nil
}
return &check, err
}
func (r *FlightPrepCheckRepository) GetByFlightInspectionID(ctx context.Context, flightInspectionID []byte) (*flightprepcheck.FlightPrepCheck, error) {
var check flightprepcheck.FlightPrepCheck
err := r.db.WithContext(ctx).Where("flight_inspection_id = ?", flightInspectionID).First(&check).Error
if errors.Is(err, gorm.ErrRecordNotFound) {
return nil, nil
}
return &check, err
}