...

Source file src/edge-infra.dev/pkg/edge/api/middleware/activityhistory/options.go

Documentation: edge-infra.dev/pkg/edge/api/middleware/activityhistory

     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