45 lines
1.3 KiB
Go
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
|
|
}
|