package activityhistory import ( "time" "github.com/vektah/gqlparser/v2/gqlerror" "edge-infra.dev/pkg/edge/api/bsl/types" ) type Option func(a *Activity) func WithInput(input string) Option { return func(a *Activity) { a.input = input } } func WithAction(action string) Option { return func(a *Activity) { a.action = action } } func WithUserCtx(user *types.AuthUser) Option { return func(a *Activity) { a.userCtx = user } } func WithStatus(status string) Option { return func(a *Activity) { a.status = status } } func WithTenant(tenant string) Option { return func(a *Activity) { a.tenantEdgeID = tenant } } func WithErrors(errs gqlerror.List) Option { return func(a *Activity) { if errs.Error() != "" { err := errs.Error() a.err = &err } } } func WithTimestamp(timestamp time.Time) Option { return func(a *Activity) { a.timestamp = timestamp.UTC().String() } } func WithBatchID(id string) Option { return func(a *Activity) { a.batchID = &id } }