package flightdata

import (
	"context"
)

type Service interface {
	Create(ctx context.Context, row *FlightData) error
	CreatePlaceholder(ctx context.Context, row *FlightData) error
	Update(ctx context.Context, row *FlightData) error
	Delete(ctx context.Context, id []byte, deletedBy []byte) error
	GetByID(ctx context.Context, id []byte) (*FlightData, error)
	GetByFlightID(ctx context.Context, flightID []byte) (*FlightData, error)
	GetByMissionID(ctx context.Context, missionID []byte) (*FlightData, error)
	ListByMissionID(ctx context.Context, missionID []byte) ([]FlightData, error)
	List(ctx context.Context, date string, missionID, flightDataID []byte, limit, offset int) ([]FlightData, int64, error)
	GetSPODetailsByFlightDataID(ctx context.Context, flightDataID []byte) (*SPODetails, error)
	UpsertSPODetails(ctx context.Context, flightDataID []byte, data *SPOUpsertData) error
}
