updated db schema for attachments + add create user api endpoint

This commit is contained in:
0x01FE committed 2025-08-21 16:22:34 -05:00
1 parent e6d3f5c7b7
commit af7d682a38
8 files changed
+91 -9

No files matched your search

+40
View File
@@ -23,3 +23,43 @@ def get_user_forums() -> tuple[flask.Response, int]:
forums_dict = {"forums" : [dataclasses.asdict(forum) for forum in forums]}
return flask.jsonify(forums_dict), 200
@user.route('/create', methods=['POST'])
def create_user() -> tuple[flask.Response, int]:
"""
Create a new user account.
Expects JSON with 'username' and 'password' fields.
"""
data = flask.request.get_json()
if not data:
return flask.jsonify({"error": "No JSON data provided"}), 400
username = data.get('username')
password = data.get('password')
if not username or not password:
return flask.jsonify({"error": "Username and password are required"}), 400
# Validate username length and characters
if len(username.strip()) == 0:
return flask.jsonify({"error": "Username cannot be empty"}), 400
if len(password) < 6:
return flask.jsonify({"error": "Password must be at least 6 characters long"}), 400
# Attempt to create the user
new_user = database.create_user(username.strip(), password)
if new_user is None:
return flask.jsonify({"error": "Username already exists or creation failed"}), 409
# Return the created user (without sensitive data)
user_dict = {
"id": new_user.id,
"name": new_user.name,
"message": "User created successfully"
}
return flask.jsonify(user_dict), 201