MCPcopy
hub / github.com/apache/casbin / CasbinJsGetPermissionForUser

Function CasbinJsGetPermissionForUser

frontend.go:22–57  ·  view source on GitHub ↗
(e IEnforcer, user string)

Source from the content-addressed store, hash-verified

20)
21
22func CasbinJsGetPermissionForUser(e IEnforcer, user string) (string, error) {
23 model := e.GetModel()
24 m := map[string]interface{}{}
25
26 m["m"] = model.ToText()
27
28 pRules := [][]string{}
29 for ptype := range model["p"] {
30 policies, err := model.GetPolicy("p", ptype)
31 if err != nil {
32 return "", err
33 }
34 for _, rules := range policies {
35 pRules = append(pRules, append([]string{ptype}, rules...))
36 }
37 }
38 m["p"] = pRules
39
40 gRules := [][]string{}
41 for ptype := range model["g"] {
42 policies, err := model.GetPolicy("g", ptype)
43 if err != nil {
44 return "", err
45 }
46 for _, rules := range policies {
47 gRules = append(gRules, append([]string{ptype}, rules...))
48 }
49 }
50 m["g"] = gRules
51
52 result := bytes.NewBuffer([]byte{})
53 encoder := json.NewEncoder(result)
54 encoder.SetEscapeHTML(false)
55 err := encoder.Encode(m)
56 return result.String(), err
57}

Callers 1

Calls 4

ToTextMethod · 0.80
GetModelMethod · 0.65
GetPolicyMethod · 0.65
StringMethod · 0.65

Tested by 1

Used in the wild real call sites across dependent graphs

searching dependent graphs…