def update_user_data(self, token: str, updata: dict, join: bool) -> dict: """Update User information""" user = self.authservice.get_email_from_token(token) if "status" not in user or not user["status"]: return {"status": False, "message": "Invalid Token."} if any(k in updata for k in ["password", "balance", "dataflags", "user_id"]): return {"status": False, "message": "Invalid Arguments."} wuser = User(user["email"]) for field in [ 'first_name', 'last_name', 'street', 'number', 'plz', 'city', 'country', 'client_settings' ]: if field in updata: if join and field == 'client_settings': j = json.loads(wuser.client_settings) # type: json j2 = json.loads(updata[field]) merge(j, j2) wuser.client_settings = json.dumps(j) else: setattr(wuser, field, updata[field]) wuser.save() wuser.flush() return {"status": True}