package fmreport import ( "context" "wucher/internal/domain/flight" ) type Service interface { UpsertForFlight(ctx context.Context, flightRow *flight.Flight, flightInspectionID []byte) (*Report, error) UpdateForFlight(ctx context.Context, flightID []byte, engine1GpcN1, engine1PtcN2, engine2GpcN1, engine2PtcN2 *string) (*Report, error) GetByID(ctx context.Context, id []byte) (*Report, error) GetByFlightID(ctx context.Context, flightID []byte) (*Report, error) List(ctx context.Context, filter ListFilter, limit, offset int) ([]Report, int64, error) GetFleetHistory(ctx context.Context, reportID []byte) (*FleetHistory, error) Delete(ctx context.Context, id []byte) error } type FleetHistoryBuilder interface { BuildFleetHistory(ctx context.Context, takeoverID []byte) *FleetHistory } type ReportCodeResolver interface { ResolveHelicopterForReportCode(ctx context.Context, takeoverID []byte) (helicopterID []byte, reportPrefix string) }