def post(): """ Method saves a new admin user. :return: a success message / error message """ data = _user_parser.parse_args() if data['secret_key'] == ADMIN_SECRET_KEY: if UserModel.find_user_by_username(data["username"]): logging.info("User already exists") return {"message": "User already exists"}, 400 if data['team'] != 'Support': logging.info( "User team not correct. This command is to create Support members." ) return { "message": "User team not correct. This command is to create Support members." }, 400 user = UserModel( data["username"], hashlib.sha256(data["password"].encode("utf-8")).hexdigest(), 'Support') user.save_to_db() logging.info("User {} created".format(data["username"])) return {"message": "User {} created".format(data["username"])} else: logging.info( "Unloged users cannot created users without a correct secret_key" ) return { "message": "Unloged users cannot created users without a correct secret_key" }, 400
def post(): """ Method saves a new user. Can only be done if the user logged in is a support team user. :return: a success message / error message """ data = _user_parser.parse_args() user = get_current_user() if user: user_team = UserModel.find_user_by_id(user).team if user_team == 'Support': if UserModel.find_user_by_username(data["username"]): logging.info("User already exists") return {"message": "User already exists"}, 400 if data['team'] not in POSSIBLE_TEAMS: logging.info( "User team not correct. It has to be one of the following ones:" + ', '.join(POSSIBLE_TEAMS)) return { "message": "User team not correct. It has to be one of the following ones:" + ', '.join(POSSIBLE_TEAMS) }, 400 user = UserModel( data["username"], hashlib.sha256( data["password"].encode("utf-8")).hexdigest(), data['team']) user.save_to_db() logging.info("User {} created".format(data["username"])) return {"message": "User {} created".format(data["username"])} else: logging.info("Non authorized user") return {"message": "Non authorized user"}, 400 else: logging.info("Unlogged users cannot create other users") return {"message": "Unlogged users cannot create other users"}, 400