예제 #1
0
파일: user.py 프로젝트: face-ac/face-be
def login():
    try:
        data = request.get_json()
        fetched = User.query.filter_by(login=data["login"]).first()
        if not fetched:
            e = notFound.format("User")
            return response_with(resp.INVALID_INPUT_422, error=e)

        valid_password = User.validate_password(data["password"],
                                                fetched.password)
        if not valid_password:
            e = invalid.format("Password")
            return response_with(resp.INVALID_INPUT_422, error=e)

        user_schema = UserSchema()
        user, error = user_schema.dump(fetched)
        token = generate_jwt(user)
        return response_with(resp.SUCCESS_200,
                             value={
                                 "user": user,
                                 "token": token
                             })
    except Exception as e:
        logging.error(e)
        return response_with(resp.SERVER_ERROR_500)
예제 #2
0
파일: log.py 프로젝트: face-ac/face-be
def log():
    try:
        data = request.get_json()
        print(data)

        return response_with(resp.SUCCESS_200, value={"status": "logged"})
    except Exception as e:
        logging.error(e)
        return response_with(resp.INVALID_INPUT_422)
예제 #3
0
파일: user.py 프로젝트: face-ac/face-be
def create_user():
    try:
        data = request.get_json()
        user_schema = UserSchema()
        user, error = user_schema.load(data)
        result = user_schema.dump(user.create()).data
        return response_with(resp.SUCCESS_200, value={"user": result})
    except Exception as e:
        logging.error(e)
        return response_with(resp.INVALID_INPUT_422)
예제 #4
0
def create_access_point():
    try:
        data = request.get_json()
        access_point_schema = AccessPointSchema()
        ap, error = access_point_schema.load(data)
        result = access_point_schema.dump(ap.create()).data
        return response_with(resp.SUCCESS_200, value={"accessPoint": result})
    except Exception as e:
        logging.error(e)
        return response_with(resp.INVALID_INPUT_422)
예제 #5
0
파일: user.py 프로젝트: face-ac/face-be
def validate():
    try:
        uid = JWT.details["user_id"]
        return _get_user(uid)
    except Exception as e:
        logging.error(e)
        return response_with(resp.SERVER_ERROR_500)
예제 #6
0
파일: user.py 프로젝트: face-ac/face-be
def _get_user(uid):
    user = User.query.filter_by(id=uid).first()
    if not user:
        error = notFound.format("User")
        return response_with(resp.NOT_FOUND_HANDLER_404, error=error)

    user_schema = UserSchema()
    user_data, error = user_schema.dump(user)
    if error:
        return response_with(resp.SERVER_ERROR_500, error=error)

    val = {
        "id": user_data["id"],
        "firstName": user_data["name"],
        "lastName": user_data["surname"],
        "email": user_data["email"],
        "login": user_data["login"],
        "created": user_data["created"],
        "updated": user_data["updated"],
    }

    return response_with(resp.SUCCESS_200, value={"user": val})
예제 #7
0
def update_access_point(aid):
    try:
        data = request.get_json()

        name = data.get("name")
        if not name:
            e = required.format("Name")
            return response_with(resp.MISSING_PARAMETERS_422, error=e)

        # validate access point exists
        ap = AccessPoint.query.filter_by(id=aid).first()
        if not ap:
            e = notFound.format("Access Point")
            return response_with(resp.NOT_FOUND_HANDLER_404, error=e)

        # update access point
        ap.update(name)

        # response details
        return response_with(resp.SUCCESS_200)
    except Exception as e:
        logging.error(e)
        return response_with(resp.SERVER_ERROR_500)
예제 #8
0
def get_access_point_details(aid):
    try:
        ap = AccessPoint.query.filter_by(id=aid).first()
        if not ap:
            error = notFound.format("Access Point")
            return response_with(resp.NOT_FOUND_HANDLER_404, error=error)

        access_point_schema = AccessPointSchema()
        ap_data, error = access_point_schema.dump(ap)
        if error:
            return response_with(resp.SERVER_ERROR_500, error=error)

        val = {
            "id": ap_data["id"],
            "name": ap_data["name"],
            "created": ap_data["created"],
            "updated": ap_data["updated"],
        }

        return response_with(resp.SUCCESS_200, value={"accessPoint": val})
    except Exception as e:
        logging.error(e)
        return response_with(resp.SERVER_ERROR_500)
예제 #9
0
파일: user.py 프로젝트: face-ac/face-be
def update_user(uid):
    try:
        data = request.get_json()

        name = data.get("firstName")
        if not name:
            e = required.format("Name")
            return response_with(resp.MISSING_PARAMETERS_422, error=e)

        surname = data.get("lastName")
        if not surname:
            e = required.format("Surname")
            return response_with(resp.MISSING_PARAMETERS_422, error=e)

        email = data.get("email")
        if not email:
            e = required.format("Email")
            return response_with(resp.MISSING_PARAMETERS_422, error=e)

        password = data.get("password")

        # validate user exists
        user = User.query.filter_by(id=uid).first()
        if not user:
            e = notFound.format("User")
            return response_with(resp.NOT_FOUND_HANDLER_404, error=e)

        # validate access to user
        access = User.query.filter_by(id=JWT.details["user_id"]).first()
        if not access:
            e = permission
            return response_with(resp.NOT_FOUND_HANDLER_404, error=e)

        # update user
        user.update(name, surname, email, password=password)

        # response details
        return _get_user(uid)
    except IntegrityError:
        e = exists.format("Name")
        return response_with(resp.INVALID_INPUT_422, error=e)
    except Exception as e:
        logging.error(e)
        return response_with(resp.SERVER_ERROR_500)
예제 #10
0
 def server_error(e):
     logging.error(e)
     return response_with(resp.SERVER_ERROR_500)
예제 #11
0
def healthcheck():
    try:
        return response_with(resp.SUCCESS_200, value={"message": "i'm alive"})
    except Exception as e:
        logging.error(e)
        return response_with(resp.SERVER_ERROR_500)
예제 #12
0
 def not_found(e):
     logging.error(e)
     return response_with(resp.NOT_FOUND_HANDLER_404)
예제 #13
0
파일: user.py 프로젝트: face-ac/face-be
def get_user_details(uid):
    try:
        return _get_user(uid)
    except Exception as e:
        logging.error(e)
        return response_with(resp.SERVER_ERROR_500)
예제 #14
0
 def auth_required(e):
     logging.error(e)
     return response_with(resp.UNAUTHORIZED_403, error=e.error)
예제 #15
0
 def bad_request(e):
     logging.error(e)
     return response_with(resp.BAD_REQUEST_400)
예제 #16
0
 def decode_error(e):
     logging.error(e)
     return response_with(resp.UNAUTHORIZED_403, error=e.error)
예제 #17
0
 def base_jwt_error(e):
     logging.error(e)
     return response_with(resp.UNAUTHORIZED_403, error=e.error)
예제 #18
0
 def expired_error(e):
     logging.error(e)
     return response_with(resp.UNAUTHORIZED_403, error=e.error)