@@ -7,22 +7,21 @@ import (
7
7
"golang.org/x/xerrors"
8
8
)
9
9
10
- type permLevel string
10
+ type PermLevel string
11
11
12
12
const (
13
- LevelWildcard permLevel = "*"
14
- LevelSite permLevel = "site"
15
- LevelOrg permLevel = "org"
16
- LevelUser permLevel = "user"
13
+ LevelWildcard PermLevel = "*"
14
+ LevelSite PermLevel = "site"
15
+ LevelOrg PermLevel = "org"
16
+ LevelUser PermLevel = "user"
17
17
)
18
18
19
- var PermissionLevels = [4 ]permLevel {LevelWildcard , LevelSite , LevelOrg , LevelUser }
19
+ var PermissionLevels = [4 ]PermLevel {LevelWildcard , LevelSite , LevelOrg , LevelUser }
20
20
21
21
type Permission struct {
22
- // Sign is positive or negative.
23
- // True = Positive, False = negative
24
- Sign bool
25
- Level permLevel
22
+ // Negate makes this a negative permission
23
+ Negate bool
24
+ Level PermLevel
26
25
// LevelID is used for identifying a particular org.
27
26
// org:1234
28
27
LevelID string
@@ -34,9 +33,9 @@ type Permission struct {
34
33
35
34
// String returns the <level>.<resource_type>.<id>.<action> string formatted permission.
36
35
func (p Permission ) String () string {
37
- sign := "- "
38
- if p .Sign {
39
- sign = "+ "
36
+ sign := "+ "
37
+ if p .Negate {
38
+ sign = "- "
40
39
}
41
40
levelID := ""
42
41
if p .LevelID != "" {
@@ -81,13 +80,13 @@ func ParsePermission(perm string) (Permission, error) {
81
80
82
81
switch sign {
83
82
case '+' :
84
- permission .Sign = true
85
83
case '-' :
84
+ permission .Negate = true
86
85
default :
87
86
return Permission {}, xerrors .Errorf ("sign must be +/-" )
88
87
}
89
88
90
- switch permLevel (strings .ToLower (levelParts [0 ])) {
89
+ switch PermLevel (strings .ToLower (levelParts [0 ])) {
91
90
case LevelWildcard :
92
91
permission .Level = LevelWildcard
93
92
case LevelSite :
0 commit comments