34 lines
943 B
Python
34 lines
943 B
Python
from app.api import bp_user
|
|
from flask import request, jsonify
|
|
|
|
from flasgger import swag_from
|
|
|
|
import app.messages.api_responses.user_responses as response
|
|
import app.messages.api_errors as errors
|
|
from app.doc.user_swag import login_swagger
|
|
|
|
from app.services.user import login_service
|
|
|
|
@bp_user.route("/login", methods=["POST"])
|
|
@swag_from(login_swagger)
|
|
def login():
|
|
data = request.get_json()
|
|
|
|
if not data:
|
|
result, status_code = errors.NOT_JSON
|
|
return jsonify(result), status_code
|
|
|
|
required_fields = ["username", "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"]
|
|
password = data["password"]
|
|
|
|
result, status_code = login_service.login(username, password)
|
|
|
|
return result, status_code
|