Exemple #1
0
    hash.update(request.json["password"].encode())
    password = hash.hexdigest()

    session = Session()
    try:
        # get user matching login infos
        user = (session.query(User).filter(User.email == email,
                                           User.password == password).one())
        # create access token from user infos
        user_data = user.get_small_data()
        access_token = create_access_token(identity=user_data)
        user_data["access_token"] = access_token
    except NoResultFound:
        session.rollback()
        return (
            jsonify(
                {"error": "Unknown email / Email and password not matching"}),
            403,
        )
    except Exception as e:
        print(e)
        session.rollback()
        return jsonify({"error": "An unexpected error occured"}), 500
    finally:
        session.close()

    return jsonify(**user_data), 200


app.register_blueprint(auth_bp, url_prefix="/auth")
Exemple #2
0
from flask import Blueprint
from flask_restful import Api

from heqtor.core import db, Session
from heqtor.web import app

from .me import Me, MeCompany, MeCompanyUsers, MeCompanyUser
from .companies import Companies
from .users import Users

api_bp = Blueprint("api", __name__)
api = Api(api_bp)

api.add_resource(Me, "/me")
api.add_resource(MeCompany, "/me/company")
api.add_resource(Users, "/users")
api.add_resource(Companies, "/companies")
api.add_resource(MeCompanyUsers, "/me/company/users")
api.add_resource(MeCompanyUser, "/me/company/users/<int:user_id>")

app.register_blueprint(api_bp, url_prefix="/api")