init push

This commit is contained in:
2026-07-16 22:16:45 +07:00
commit 8b068bdb10
1021 changed files with 332816 additions and 0 deletions

View File

@@ -0,0 +1,51 @@
package mysql
import (
"context"
"errors"
"gorm.io/gorm"
fleethistory "wucher/internal/domain/fleet_history"
)
type FleetHistoryRepository struct{ db *gorm.DB }
func NewFleetHistoryRepository(db *gorm.DB) *FleetHistoryRepository {
return &FleetHistoryRepository{db: db}
}
func (r *FleetHistoryRepository) Create(ctx context.Context, row *fleethistory.FleetHistory) error {
return r.db.WithContext(ctx).Create(row).Error
}
func (r *FleetHistoryRepository) ListByHelicopter(ctx context.Context, helicopterID []byte, limit, offset int) ([]fleethistory.FleetHistory, int64, error) {
rows := make([]fleethistory.FleetHistory, 0)
var total int64
base := r.db.WithContext(ctx).
Model(&fleethistory.FleetHistory{}).
Where("helicopter_id = ?", helicopterID)
if err := base.Count(&total).Error; err != nil {
return nil, 0, err
}
q := base.Order("created_at DESC")
if limit > 0 {
q = q.Limit(limit).Offset(offset)
}
err := q.Find(&rows).Error
return rows, total, err
}
func (r *FleetHistoryRepository) HelicopterIDByInspection(ctx context.Context, inspectionID []byte) ([]byte, error) {
var out []byte
err := r.db.WithContext(ctx).
Table("reserve_acs").
Select("helicopter_id").
Where("inspection_id = ?", inspectionID).
Limit(1).
Scan(&out).Error
if errors.Is(err, gorm.ErrRecordNotFound) {
return nil, nil
}
return out, err
}