|
54 | 54 | generate_arena_token, |
55 | 55 | ) |
56 | 56 | from .persistence import ( |
57 | | - delete_scene_objects, |
| 57 | + delete_persist_namespace_objects, |
| 58 | + delete_persist_scene_objects, |
58 | 59 | read_persist_ns_all, |
59 | 60 | read_persist_scene_objects, |
60 | 61 | read_persist_scenes_all, |
@@ -273,17 +274,12 @@ def scene_perm_detail(request, pk): |
273 | 274 | messages.success(request, f"Updated scene permissions: {pk}") |
274 | 275 | return redirect("users:user_profile") |
275 | 276 | elif "delete" in request.POST: |
276 | | - token = generate_arena_token( |
277 | | - user=request.user, |
278 | | - username=request.user.username, |
279 | | - ids={"userclient": f"{request.user.username}-objects-delete"}, |
280 | | - version=version, |
281 | | - ) |
282 | 277 | # delete account scene data |
283 | 278 | scene.delete() |
284 | 279 | messages.success(request, f"Removed scene permissions: {pk}") |
285 | 280 | # delete persist scene data |
286 | | - if delete_scene_objects(token, pk): |
| 281 | + namespace, sceneId = pk.split("/") |
| 282 | + if delete_persist_scene_objects(namespace, sceneId): |
287 | 283 | messages.success(request, f"Removed scene persisted objects: {pk}") |
288 | 284 | else: |
289 | 285 | messages.error(request, f"Unable to delete {pk} objects from persistence database.") |
@@ -767,38 +763,24 @@ def user_profile(request): |
767 | 763 | # account delete request |
768 | 764 | confirm_text = f'delete {request.user.username} account and scenes' |
769 | 765 | if confirm_text in request.POST: |
770 | | - token = generate_arena_token( |
771 | | - user=request.user, |
772 | | - username=request.user.username, |
773 | | - ids={"userclient": f"{request.user.username}-objects-delete"}, |
774 | | - version=version, |
775 | | - ) |
776 | 766 | # delete devices permissions |
777 | 767 | u_devices = Device.objects.filter(name__startswith=f"{request.user.username}/") |
778 | | - for device in u_devices: |
779 | | - # delete account device data |
780 | | - device.delete() |
781 | | - messages.success(request, f"Removed device permissions: {device.name}") |
782 | | - # delete scenes permissions/objects |
| 768 | + del_count, _ = u_devices.delete() |
| 769 | + if del_count > 0: |
| 770 | + messages.success(request, f"Removed {del_count} device permissions.") |
| 771 | + # delete scenes permissions |
783 | 772 | u_scenes = Scene.objects.filter(name__startswith=f"{request.user.username}/") |
784 | | - for scene in u_scenes: |
785 | | - # delete account scene data |
786 | | - scene.delete() |
787 | | - messages.success(request, f"Removed scene permissions: {scene.name}") |
788 | | - # delete persist scene data |
789 | | - namespace, sceneId = scene.name.split("/") |
790 | | - if len(read_persist_scene_objects(namespace, sceneId)) > 0: |
791 | | - if not delete_scene_objects(token, scene.name): |
792 | | - messages.error(request, f"Unable to delete {scene.name} objects from persistence database.") |
793 | | - return redirect("users:user_profile") |
794 | | - else: |
795 | | - messages.success(request, f"Removed scene persistence objects: {scene.name}") |
| 773 | + del_count, _ = u_scenes.delete() |
| 774 | + if del_count > 0: |
| 775 | + messages.success(request, f"Removed {del_count} scene permissions.") |
| 776 | + # delete persist objects for this namespace |
| 777 | + if delete_persist_namespace_objects(request.user.username): |
| 778 | + messages.success(request, f"Removed namespace persistence objects: {request.user.username}") |
796 | 779 | # delete namespaces permissions |
797 | 780 | u_namespaces = Namespace.objects.filter(name=request.user.username) |
798 | | - for namespace in u_namespaces: |
799 | | - # delete account namespace data |
800 | | - namespace.delete() |
801 | | - messages.success(request, f"Removed namespace permissions: {namespace.name}") |
| 781 | + del_count, _ = u_namespaces.delete() |
| 782 | + if del_count > 0: |
| 783 | + messages.success(request, f"Removed {del_count} namespace permissions.") |
802 | 784 | # delete filestore files/account |
803 | 785 | if get_filestore_health(): |
804 | 786 | if not delete_filestore_user(request.user): |
|
0 commit comments