package mcf

import "context"

type Service interface {
	Create(ctx context.Context, row *MaintenanceCheckFlight) error
	Update(ctx context.Context, row *MaintenanceCheckFlight) error
	Delete(ctx context.Context, id []byte, deletedBy []byte) error
	GetByID(ctx context.Context, id []byte) (*MaintenanceCheckFlight, error)
	ListByHelicopter(ctx context.Context, helicopterID []byte) ([]MaintenanceCheckFlight, error)
	GetLatestByHelicopter(ctx context.Context, helicopterID []byte) (*MaintenanceCheckFlight, error)
	LatestByHelicopterIDs(ctx context.Context, helicopterIDs [][]byte) (map[string]*MaintenanceCheckFlight, error)
	PendingHelicopterIDs(ctx context.Context, helicopterIDs [][]byte) (map[string]bool, error)
	HelicopterHasOpenMCF(ctx context.Context, helicopterID []byte) (bool, error)
}
