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) }