MCPcopy Create free account
hub / github.com/MG-RAST/Shock / FormatDisplayAcl

Method FormatDisplayAcl

shock-server/node/acl/acl.go:42–112  ·  view source on GitHub ↗
(verbosity string)

Source from the content-addressed store, hash-verified

40type Rights map[string]bool
41
42func (a *Acl) FormatDisplayAcl(verbosity string) (i interface{}) {
43 if verbosity == "full" {
44 dAcl := new(DisplayVerboseAcl)
45 if u, err := user.FindByUuid(a.Owner); err == nil {
46 dAcl.Owner = *u
47 }
48 dAcl.Public.Read = false
49 dAcl.Public.Write = false
50 dAcl.Public.Delete = false
51 for _, v := range a.Read {
52 if v == "public" {
53 dAcl.Public.Read = true
54 } else {
55 if u, err := user.FindByUuid(v); err == nil {
56 dAcl.Read = insertUser(dAcl.Read, *u)
57 }
58 }
59 }
60 for _, v := range a.Write {
61 if v == "public" {
62 dAcl.Public.Write = true
63 } else {
64 if u, err := user.FindByUuid(v); err == nil {
65 dAcl.Write = insertUser(dAcl.Write, *u)
66 }
67 }
68 }
69 for _, v := range a.Delete {
70 if v == "public" {
71 dAcl.Public.Delete = true
72 } else {
73 if u, err := user.FindByUuid(v); err == nil {
74 dAcl.Delete = insertUser(dAcl.Delete, *u)
75 }
76 }
77 }
78 i = dAcl
79 } else {
80 dAcl := new(DisplayAcl)
81 dAcl.Owner = a.Owner
82 dAcl.Read = []string{}
83 dAcl.Write = []string{}
84 dAcl.Delete = []string{}
85 dAcl.Public.Read = false
86 dAcl.Public.Write = false
87 dAcl.Public.Delete = false
88 for _, v := range a.Read {
89 if v == "public" {
90 dAcl.Public.Read = true
91 } else {
92 dAcl.Read = insert(dAcl.Read, v)
93 }
94 }
95 for _, v := range a.Write {
96 if v == "public" {
97 dAcl.Public.Write = true
98 } else {
99 dAcl.Write = insert(dAcl.Write, v)

Callers 2

AclRequestFunction · 0.80
AclTypedRequestFunction · 0.80

Calls 2

insertUserFunction · 0.85
insertFunction · 0.85

Tested by

no test coverage detected