feat: db constistancy

This commit is contained in:
Artem Tsyrulnikov
2025-12-23 10:38:24 +03:00
parent 45a5b59cc8
commit 829cd82bcf
9 changed files with 253 additions and 195 deletions

View File

@@ -138,17 +138,24 @@ class Postgres(DatabaseBase, Database):
)
if scoped_permissions:
await domain.WorkspaceUserPermissionScope.bulk_create(
[
domain.WorkspaceUserPermissionScope(
workspace_user_id=workspace_user_id,
permission=permission,
scope_type=scope_type,
scope_id=scope_id,
)
for permission, scope_type, scope_id in scoped_permissions
]
)
scope_objects = []
for permission, scope_type, scope_id in scoped_permissions:
kwargs = {
'workspace_user_id': workspace_user_id,
'permission': permission,
}
if scope_type == domain.PermissionScopeType.PROJECT:
kwargs['project_id'] = scope_id
elif scope_type == domain.PermissionScopeType.CREATIVE:
kwargs['creative_id'] = scope_id
elif scope_type == domain.PermissionScopeType.PLACEMENT:
kwargs['placement_id'] = scope_id
elif scope_type == domain.PermissionScopeType.CHANNEL:
kwargs['channel_id'] = scope_id
scope_objects.append(domain.WorkspaceUserPermissionScope(**kwargs))
await domain.WorkspaceUserPermissionScope.bulk_create(scope_objects)
async def create_login_token(self, login_token: domain.LoginToken) -> None:
await login_token.save()