40 lines
1.1 KiB
Python
40 lines
1.1 KiB
Python
from app.api import bp_user
|
|
from flask import request, jsonify
|
|
|
|
from app.services.user import register_service
|
|
|
|
from app.doc.user_swag import register_swagger
|
|
import app.messages.api_responses.user_responses as response
|
|
import app.messages.api_errors as errors
|
|
|
|
|
|
from flasgger import swag_from
|
|
|
|
|
|
@bp_user.route("/register", methods=["POST"])
|
|
@swag_from(register_swagger)
|
|
def register():
|
|
data = request.get_json()
|
|
|
|
if not data:
|
|
result, status_code = errors.NOT_JSON
|
|
return jsonify(result), status_code
|
|
|
|
required_fields = ["username", "displayname", "email", "password"]
|
|
missing_fields = [field for field in required_fields if field not in data]
|
|
|
|
if missing_fields:
|
|
result, status_code = errors.MISSING_FIELDS(missing_fields)
|
|
return jsonify(result), status_code
|
|
|
|
username = data["username"]
|
|
displayname = data["displayname"]
|
|
email = data["email"]
|
|
password = data["password"]
|
|
|
|
result, status_code = register_service.register(
|
|
username, displayname, email, password
|
|
)
|
|
|
|
return jsonify(result), status_code
|