bitbake: hashserv: Allow self-service deletion

Allows users to self-service deletion of their own user accounts
(meaning, they can delete their own accounts without special
permissions).

(Bitbake rev: 2d4439948a5328a9768bca9eaec221eb82af3cb2)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Joshua Watt 2023-11-03 08:26:39 -06:00 committed by Richard Purdie
parent 1699870a0c
commit 33cde47e10
2 changed files with 6 additions and 3 deletions

View File

@ -709,7 +709,7 @@ class ServerClient(bb.asyncrpc.AsyncServerConnection):
"token": token, "token": token,
} }
@permissions(USER_ADMIN_PERM, allow_anon=False) @permissions(USER_ADMIN_PERM, allow_self_service=True, allow_anon=False)
async def handle_delete_user(self, request): async def handle_delete_user(self, request):
username = str(request["username"]) username = str(request["username"])

View File

@ -683,10 +683,13 @@ class HashEquivalenceCommonTests(object):
user = self.create_user("test-user", []) user = self.create_user("test-user", [])
# No self service # self service
with self.auth_client(user) as client, self.assertRaises(InvokeError): with self.auth_client(user) as client:
client.delete_user(user["username"]) client.delete_user(user["username"])
self.assertIsNone(admin_client.get_user(user["username"]))
user = self.create_user("test-user", [])
with self.auth_perms() as client, self.assertRaises(InvokeError): with self.auth_perms() as client, self.assertRaises(InvokeError):
client.delete_user(user["username"]) client.delete_user(user["username"])