Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 9 additions & 6 deletions casbin/async_internal_enforcer.py
Original file line number Diff line number Diff line change
Expand Up @@ -117,9 +117,8 @@ async def save_policy(self):

async def _add_policy(self, sec, ptype, rule):
"""async adds a rule to the current policy."""
rule_added = self.model.add_policy(sec, ptype, rule)
if not rule_added:
return rule_added
if self.model.has_policy(sec, ptype, rule):
return False

if self.adapter and self.auto_save:
result = await self.adapter.add_policy(sec, ptype, rule)
Expand All @@ -136,13 +135,15 @@ async def _add_policy(self, sec, ptype, rule):
else:
self.watcher.update()

rule_added = self.model.add_policy(sec, ptype, rule)

return rule_added

async def _add_policies(self, sec, ptype, rules):
"""async adds rules to the current policy."""
rules_added = self.model.add_policies(sec, ptype, rules)
if not rules_added:
return rules_added
for rule in rules:
if self.model.has_policy(sec, ptype, rule):
return False

if self.adapter and self.auto_save:
if hasattr(self.adapter, "add_policies") is False:
Expand All @@ -162,6 +163,8 @@ async def _add_policies(self, sec, ptype, rules):
else:
self.watcher.update()

rules_added = self.model.add_policies(sec, ptype, rules)

return rules_added

async def _update_policy(self, sec, ptype, old_rule, new_rule):
Expand Down
21 changes: 11 additions & 10 deletions casbin/internal_enforcer.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,8 @@ class InternalEnforcer(CoreEnforcer):

def _add_policy(self, sec, ptype, rule):
"""adds a rule to the current policy."""
rule_added = self.model.add_policy(sec, ptype, rule)
if not rule_added:
return rule_added
if self.model.has_policy(sec, ptype, rule):
return False

if self.adapter and self.auto_save:
if self.adapter.add_policy(sec, ptype, rule) is False:
Expand All @@ -36,13 +35,15 @@ def _add_policy(self, sec, ptype, rule):
else:
self.watcher.update()

rule_added = self.model.add_policy(sec, ptype, rule)

return rule_added

def _add_policies(self, sec, ptype, rules):
"""adds rules to the current policy."""
rules_added = self.model.add_policies(sec, ptype, rules)
if not rules_added:
return rules_added
for rule in rules:
if self.model.has_policy(sec, ptype, rule):
return False

if self.adapter and self.auto_save:
if hasattr(self.adapter, "add_policies") is False:
Expand All @@ -57,14 +58,12 @@ def _add_policies(self, sec, ptype, rules):
else:
self.watcher.update()

rules_added = self.model.add_policies(sec, ptype, rules)

return rules_added

def _add_policies_ex(self, sec, ptype, rules):
"""adds rules to the current policy."""
rules_added = self.model.add_policies_ex(sec, ptype, rules)
if not rules_added:
return rules_added

if self.adapter and self.auto_save:
if hasattr(self.adapter, "add_policies_ex") is False:
return False
Expand All @@ -78,6 +77,8 @@ def _add_policies_ex(self, sec, ptype, rules):
else:
self.watcher.update()

rules_added = self.model.add_policies_ex(sec, ptype, rules)

return rules_added

def _update_policy(self, sec, ptype, old_rule, new_rule):
Expand Down
Loading