...
1 package activityhistory
2
3 import (
4 "time"
5
6 "github.com/vektah/gqlparser/v2/gqlerror"
7
8 "edge-infra.dev/pkg/edge/api/bsl/types"
9 )
10
11 type Option func(a *Activity)
12
13 func WithInput(input string) Option {
14 return func(a *Activity) {
15 a.input = input
16 }
17 }
18
19 func WithAction(action string) Option {
20 return func(a *Activity) {
21 a.action = action
22 }
23 }
24
25 func WithUserCtx(user *types.AuthUser) Option {
26 return func(a *Activity) {
27 a.userCtx = user
28 }
29 }
30
31 func WithStatus(status string) Option {
32 return func(a *Activity) {
33 a.status = status
34 }
35 }
36
37 func WithTenant(tenant string) Option {
38 return func(a *Activity) {
39 a.tenantEdgeID = tenant
40 }
41 }
42
43 func WithErrors(errs gqlerror.List) Option {
44 return func(a *Activity) {
45 if errs.Error() != "" {
46 err := errs.Error()
47 a.err = &err
48 }
49 }
50 }
51
52 func WithTimestamp(timestamp time.Time) Option {
53 return func(a *Activity) {
54 a.timestamp = timestamp.UTC().String()
55 }
56 }
57
58 func WithBatchID(id string) Option {
59 return func(a *Activity) {
60 a.batchID = &id
61 }
62 }
63
View as plain text