package actionsignoff import "context" type Service interface { GetByFlight(ctx context.Context, flightID []byte) (*ActionSignoff, error) GetByComplaint(ctx context.Context, complaintID []byte) (*ActionSignoff, error) GetByComplaintIDs(ctx context.Context, complaintIDs [][]byte) (map[string]*ActionSignoff, error) Sign(ctx context.Context, flightID, helicopterID []byte, signer []byte) (*ActionSignoff, error) SignForComplaint(ctx context.Context, complaintID, flightID, helicopterID []byte, signer []byte) (*ActionSignoff, error) Unsign(ctx context.Context, flightID []byte, actor []byte) (*ActionSignoff, error) // UnsignByComplaint clears the signature on a complaint-linked sign-off (no-op when // there is none or it is already unsigned) — used when a closed complaint is reopened // and to toggle a complaint sign-off off. Returns nil row when none exists. UnsignByComplaint(ctx context.Context, complaintID []byte) (*ActionSignoff, error) }