diff --git a/selfprivacy_api/resources/services/ssh.py b/selfprivacy_api/resources/services/ssh.py index 569b212..86ecc90 100644 --- a/selfprivacy_api/resources/services/ssh.py +++ b/selfprivacy_api/resources/services/ssh.py @@ -97,6 +97,8 @@ class WriteSSHKey(Resource): data = json.load(userdata_file) if "ssh" not in data: data["ssh"] = {} + if "rootKeys" not in data["ssh"]: + data["ssh"]["rootKeys"] = [] # Return 409 if key already in array for key in data["ssh"]["rootKeys"]: if key == public_key: diff --git a/selfprivacy_api/resources/users.py b/selfprivacy_api/resources/users.py index ac7a58b..2f373bc 100644 --- a/selfprivacy_api/resources/users.py +++ b/selfprivacy_api/resources/users.py @@ -104,13 +104,14 @@ class Users(Resource): try: data = json.load(userdata_file) + if "users" not in data: + data["users"] = [] + # Return 400 if user already exists for user in data["users"]: if user["username"] == args["username"]: return {"error": "User already exists"}, 409 - if "users" not in data: - data["users"] = [] data["users"].append( { "username": args["username"],