-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathaction_descriptor.go
34 lines (30 loc) · 1.1 KB
/
action_descriptor.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package document
import "time"
const ActionDescriptorType = SchemaLocation + "/actiondescriptor.json"
type ActionDescriptor struct {
Base
Label string `json:"label"`
Roles []string `json:"roles"`
UIURI string `json:"uiURI,omitempty"`
ActionURI string `json:"actionURI,omitempty"`
RefreshURI string `json:"refreshURI,omitempty"`
Params map[string]string `json:"params,omitempty"`
Scopes []Scope `json:"scopes,omitempty"`
Icon string `json:"icon,omitempty"`
KeyLevel int `json:"keyLevel,omitempty"`
Internal bool `json:"internal,omitempty"`
Contract *Contract `json:"contract,omitempty"`
Interfaces []string `json:"interfaces,omitempty"`
}
func NewActionDescriptor(label string, roles []string, keyLevel int, actionURI string) *ActionDescriptor {
return &ActionDescriptor{
Base: Base{
Type: ActionDescriptorType,
Timestamp: time.Now().UTC(),
},
Label: label,
Roles: roles,
ActionURI: actionURI,
KeyLevel: keyLevel,
}
}