Files
2026-07-16 22:16:45 +07:00

17 lines
963 B
Go

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