Skip to content

Commit 870da30

Browse files
Copilotnomeguy
andcommitted
Fix code review issues: convert DB objects to rule lists and improve variable naming
Co-authored-by: nomeguy <85475922+nomeguy@users.noreply.github.com>
1 parent 9f3174c commit 870da30

1 file changed

Lines changed: 17 additions & 3 deletions

File tree

casbin_async_sqlalchemy_adapter/adapter.py

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -288,8 +288,8 @@ async def remove_policies(self, sec, ptype, rules):
288288
async with self._session_scope() as session:
289289
if self.softdelete_attribute is None:
290290
stmt = delete(self._db_class).where(self._db_class.ptype == ptype)
291-
rules = zip(*rules)
292-
for i, rule in enumerate(rules):
291+
rules_zipped = zip(*rules)
292+
for i, rule in enumerate(rules_zipped):
293293
stmt = stmt.where(or_(getattr(self._db_class, "v{}".format(i)) == v for v in rule))
294294
await session.execute(stmt)
295295
else:
@@ -412,7 +412,21 @@ async def _update_filtered_policies(self, new_rules, filter) -> List[List[str]]:
412412
stmt = self._softdelete_query(stmt)
413413
filtered_stmt = self.filter_query(stmt, filter)
414414
result = await session.execute(filtered_stmt)
415-
old_rules = result.scalars().all()
415+
old_rules_db = result.scalars().all()
416+
417+
# Convert database objects to rule lists
418+
old_rules = []
419+
for line in old_rules_db:
420+
fields_with_None = [
421+
line.v0,
422+
line.v1,
423+
line.v2,
424+
line.v3,
425+
line.v4,
426+
line.v5,
427+
]
428+
rule = [element for element in fields_with_None if element is not None]
429+
old_rules.append(rule)
416430

417431
# Delete old policies
418432

0 commit comments

Comments
 (0)