MCPcopy Index your code
hub / github.com/apache/casbin / loadFilteredPolicy

Method loadFilteredPolicy

enforcer.go:470–503  ·  view source on GitHub ↗
(filter interface{})

Source from the content-addressed store, hash-verified

468}
469
470func (e *Enforcer) loadFilteredPolicy(filter interface{}) error {
471 e.invalidateMatcherMap()
472
473 var filteredAdapter persist.FilteredAdapter
474
475 // Attempt to cast the Adapter as a FilteredAdapter
476 switch adapter := e.adapter.(type) {
477 case persist.FilteredAdapter:
478 filteredAdapter = adapter
479 default:
480 return errors.New("filtered policies are not supported by this adapter")
481 }
482 if err := filteredAdapter.LoadFilteredPolicy(e.model, filter); err != nil && err.Error() != "invalid file path, file path cannot be empty" {
483 return err
484 }
485
486 if err := e.model.SortPoliciesBySubjectHierarchy(); err != nil {
487 return err
488 }
489
490 if err := e.model.SortPoliciesByPriority(); err != nil {
491 return err
492 }
493
494 e.initRmMap()
495 e.model.PrintPolicy()
496 if e.autoBuildRoleLinks {
497 err := e.BuildRoleLinks()
498 if err != nil {
499 return err
500 }
501 }
502 return nil
503}
504
505// LoadFilteredPolicy reloads a filtered policy from file/database.
506func (e *Enforcer) LoadFilteredPolicy(filter interface{}) error {

Callers 3

LoadFilteredPolicyMethod · 0.95

Calls 8

invalidateMatcherMapMethod · 0.95
LoadFilteredPolicyMethod · 0.95
initRmMapMethod · 0.95
BuildRoleLinksMethod · 0.95
PrintPolicyMethod · 0.80
ErrorMethod · 0.45

Tested by 1