Sync site-role assignments to Keycloak group role mappings
This commit is contained in:
@@ -30,14 +30,16 @@ class SiteRolesRepository:
|
||||
)
|
||||
return list(self.db.execute(stmt).all())
|
||||
|
||||
def set_site_roles(self, *, site_id: str, role_ids: list[str]) -> None:
|
||||
def set_site_roles(self, *, site_id: str, role_ids: list[str], commit: bool = True) -> None:
|
||||
self.db.execute(delete(SiteRole).where(SiteRole.site_id == site_id))
|
||||
for role_id in role_ids:
|
||||
self.db.add(SiteRole(site_id=site_id, role_id=role_id))
|
||||
self.db.commit()
|
||||
if commit:
|
||||
self.db.commit()
|
||||
|
||||
def set_role_sites(self, *, role_id: str, site_ids: list[str]) -> None:
|
||||
def set_role_sites(self, *, role_id: str, site_ids: list[str], commit: bool = True) -> None:
|
||||
self.db.execute(delete(SiteRole).where(SiteRole.role_id == role_id))
|
||||
for site_id in site_ids:
|
||||
self.db.add(SiteRole(site_id=site_id, role_id=role_id))
|
||||
self.db.commit()
|
||||
if commit:
|
||||
self.db.commit()
|
||||
|
||||
Reference in New Issue
Block a user