Files
2026-07-16 22:16:45 +07:00

29 lines
1.2 KiB
Go

package fleetstatus
import (
"context"
"time"
helicopterusage "wucher/internal/domain/helicopter_usage"
shareddto "wucher/internal/transport/http/dto/shared"
)
type OverdueInspection struct {
InspectionType string
Detail string
}
type Service interface {
Create(ctx context.Context, row *FleetStatus) error
Update(ctx context.Context, row *FleetStatus) error
Delete(ctx context.Context, id []byte, deletedBy []byte) error
GetByID(ctx context.Context, id []byte) (*FleetStatus, error)
List(ctx context.Context, filter, sort string, limit, offset int) ([]FleetStatus, int64, error)
LatestByHelicopterIDs(ctx context.Context, helicopterIDs [][]byte) (map[string]*FleetStatus, error)
MarkServiced(ctx context.Context, id []byte, servicedAt time.Time, actorID []byte) error
ListServiceHistoryByHelicopterID(ctx context.Context, helicopterID []byte, limit, offset int) ([]FleetStatusServiceLog, int64, error)
GetSummaryByHelicopterID(ctx context.Context, helicopterID []byte) (*shareddto.FleetStatusSummary, error)
ReviseSummary(ctx context.Context, helicopterID []byte, in helicopterusage.ManualSummaryInput, actor []byte) error
OverdueInspections(ctx context.Context, helicopterID []byte) ([]OverdueInspection, error)
}