예제 #1
0
def Status():
    # get the auth token
    auth_header = request.headers.get('Authorization')
    print(auth_header, flush=True)
    if auth_header:
        auth_token = auth_header.split(" ")[1]
    else:
        auth_token = ''
    if auth_token:
        resp = User.decode_auth_token(auth_token)
        if not isinstance(resp, str):
            user = User.query.filter_by(id=resp).first()
            responseObject = {
                'status': 'success',
                'data': {
                    'user_id': user.id,
                    'user_name': user.user_name,
                    'first_name': user.first_name,
                    'department_id': user.department_id
                }
            }
            return make_response(jsonify(responseObject)), 200
        responseObject = {'status': 'fail', 'message': resp}
        return make_response(jsonify(responseObject)), 401
    else:
        responseObject = {
            'status': 'fail',
            'message': 'Provide a valid auth token.'
        }
        return make_response(jsonify(responseObject)), 401
예제 #2
0
def update_complain(timestamp):
    # add complain.
    user_obj = User(auth_code='dc0100845c1e8d389ecfb82946c40ccbb7982462',
                    phone_number=9780044091,
                    handset_serial_number='JLIU897978F',
                    name=None,
                    email=None)

    complain_obj = Complain(user_id=1,
                            category_id=1,
                            service_id=4,
                            address='Panchkule',
                            message='changeShit',
                            service_status=0,
                            complain_phone_number=9415549481)

    RequestObj = Request(timestamp=timestamp,
                         user=user_obj,
                         category=None,
                         service=None,
                         complain=complain_obj)
    requestJson = Request.get_request_json(RequestObj)
    print(requestJson)
    return requests.put('http://localhost:8080/api/complain/3',
                        json=requestJson)
예제 #3
0
def dang_ki():
    user = User('huynhtan06',
                hashlib.sha256('123456'.encode("utf-8")).hexdigest(),
                2,
                first_name="HT06")
    MySql.save_to_db(user)
    print(user.password)
    return {"hello": "ok"}
예제 #4
0
def invalid_request_received_response(http_request: Request):
    return bottle.HTTPResponse(
        status=500,
        body=Response.get_response_json(
            Response(return_code=Response.INVALID_REQUEST,
                     user=User(auth_code=http_request.user.auth_code,
                               phone_number=http_request.user.phone_number,
                               handset_serial_number=http_request.user.
                               handset_serial_number))))
예제 #5
0
def failure_response(http_request: Request, failure_code=Response.FAILURE):
    return bottle.HTTPResponse(
        status=500,
        body=Response.get_response_json(
            Response(return_code=failure_code,
                     user=User(auth_code=http_request.user.auth_code,
                               phone_number=http_request.user.phone_number,
                               handset_serial_number=http_request.user.
                               handset_serial_number))))
예제 #6
0
def update_complain_response(http_request: Request, complain_obj: Complain,
                             success: bool):
    if success:
        return bottle.HTTPResponse(
            status=200,
            body=Response.get_response_json(
                Response(return_code=Response.COMPLAIN_UPDATED,
                         user=User(auth_code=http_request.user.auth_code,
                                   phone_number=http_request.user.phone_number,
                                   handset_serial_number=http_request.user.
                                   handset_serial_number),
                         complain=[complain_obj])))
    else:
        return bottle.HTTPResponse(
            status=500,
            body=Response.get_response_json(
                Response(return_code=Response.COMPLAIN_ERROR,
                         user=User(auth_code=http_request.user.auth_code,
                                   phone_number=http_request.user.phone_number,
                                   handset_serial_number=http_request.user.
                                   handset_serial_number))))
예제 #7
0
def requestForUser(timestamp):
    #
    user_obj = User(auth_code=None,
                    phone_number=9780044093,
                    handset_serial_number='JLIU897978K',
                    name=None,
                    email=None)
    RequestObj = Request(timestamp=timestamp, user=user_obj)
    requestJson = Request.get_request_json(RequestObj)
    print(requestJson)
    response = requests.get('http://localhost:8080/api/user', json=requestJson)
    return response
예제 #8
0
def verifyUser(timestamp, otp):
    # the client sends the OTP for verification.
    user_obj = User(auth_code=None,
                    phone_number=9780044017,
                    handset_serial_number='JLIU897978K',
                    name=None,
                    email=None)
    RequestObj = Request(timestamp=timestamp, user=user_obj)
    requestJson = Request.get_request_json(RequestObj)
    print(requestJson)
    return requests.put('http://localhost:8080/api/otp/' + otp,
                        json=requestJson)
예제 #9
0
def add_service_response(http_request: Request, service_name: str,
                         success: bool):
    if success:
        return bottle.HTTPResponse(
            status=200,
            body=Response.get_response_json(
                Response(return_code=Response.SERVICE_ADDED,
                         user=User(auth_code=http_request.user.auth_code,
                                   phone_number=http_request.user.phone_number,
                                   handset_serial_number=http_request.user.
                                   handset_serial_number),
                         service=[Service(service_name=service_name)])))
    else:
        return bottle.HTTPResponse(
            status=500,
            body=Response.get_response_json(
                Response(return_code=Response.SERVICE_ERROR,
                         user=User(auth_code=http_request.user.auth_code,
                                   phone_number=http_request.user.phone_number,
                                   handset_serial_number=http_request.user.
                                   handset_serial_number),
                         service=[Service(service_name=service_name)])))
예제 #10
0
def add_category_response(http_request: Request, category_name: str,
                          success: bool):
    if success:
        return bottle.HTTPResponse(
            status=200,
            body=Response.get_response_json(
                Response(return_code=Response.CATEGORY_ADDED,
                         user=User(auth_code=http_request.user.auth_code,
                                   phone_number=http_request.user.phone_number,
                                   handset_serial_number=http_request.user.
                                   handset_serial_number),
                         category=[Category(category_name=category_name)])))
    else:
        return bottle.HTTPResponse(
            status=500,
            body=Response.get_response_json(
                Response(return_code=Response.CATEGORY_ERROR,
                         user=User(auth_code=http_request.user.auth_code,
                                   phone_number=http_request.user.phone_number,
                                   handset_serial_number=http_request.user.
                                   handset_serial_number),
                         category=[Category(category_name=category_name)])))
예제 #11
0
def all_complains_for_user_response(http_request: Request,
                                    db_complain_collection):
    if db_complain_collection:
        return bottle.HTTPResponse(
            status=200,
            body=Response.get_response_json(
                Response(return_code=Response.ALL_COMPLAINS,
                         user=User(auth_code=http_request.user.auth_code,
                                   phone_number=http_request.user.phone_number,
                                   handset_serial_number=http_request.user.
                                   handset_serial_number),
                         complain=db_complain_collection)))
    else:
        return bottle.HTTPResponse(
            status=200,
            body=Response.get_response_json(
                Response(return_code=Response.COMPLAIN_LIST_EMPTY,
                         user=User(auth_code=http_request.user.auth_code,
                                   phone_number=http_request.user.phone_number,
                                   handset_serial_number=http_request.user.
                                   handset_serial_number),
                         complain=db_complain_collection)))
예제 #12
0
def all_services_response(http_request: Request, db_service_collection):

    if db_service_collection:
        return bottle.HTTPResponse(
            status=200,
            body=Response.get_response_json(
                Response(return_code=Response.ALL_SERVICES,
                         user=User(auth_code=http_request.user.auth_code,
                                   phone_number=http_request.user.phone_number,
                                   handset_serial_number=http_request.user.
                                   handset_serial_number),
                         service=db_service_collection)))
    else:
        return bottle.HTTPResponse(
            status=200,
            body=Response.get_response_json(
                Response(return_code=Response.SERVICE_LIST_EMPTY,
                         user=User(auth_code=http_request.user.auth_code,
                                   phone_number=http_request.user.phone_number,
                                   handset_serial_number=http_request.user.
                                   handset_serial_number),
                         category=db_service_collection)))
예제 #13
0
def get_otp(timestamp):

    # get an opt. This shall be called after the checking if user exists on the server side.
    user_obj = User(auth_code=None,
                    phone_number=9780044017,
                    handset_serial_number='JLIU897978K',
                    name=None,
                    email=None)
    RequestObj = Request(timestamp=timestamp, user=user_obj)
    requestJson = Request.get_request_json(RequestObj)
    print(requestJson)
    response = requests.get('http://localhost:8080/api/getotp',
                            json=requestJson)
    return response
예제 #14
0
def get_all_services(timestamp):
    user_obj = User(auth_code='dc0100845c1e8d389ecfb82946c40ccbb7982462',
                    phone_number=9780044091,
                    handset_serial_number='JLIU897978F',
                    name=None,
                    email=None)

    RequestObj = Request(timestamp=timestamp,
                         user=user_obj,
                         category=None,
                         service=None,
                         complain=None)
    requestJson = Request.get_request_json(RequestObj)
    print(requestJson)
    return requests.get('http://localhost:8080/api/services', json=requestJson)
예제 #15
0
def update_user_response(http_request: Request, user_obj: User, success: bool):
    if success:
        return bottle.HTTPResponse(status=200,
                                   body=Response.get_response_json(
                                       Response(
                                           return_code=Response.USER_UPDATED,
                                           user=user_obj)))
    else:
        return bottle.HTTPResponse(
            status=500,
            body=Response.get_response_json(
                Response(return_code=Response.USER_ERROR,
                         user=User(auth_code=http_request.user.auth_code,
                                   phone_number=http_request.user.phone_number,
                                   handset_serial_number=http_request.user.
                                   handset_serial_number))))
예제 #16
0
def is_user_exists_response(http_request: Request, user_db_obj: User,
                            success: bool):
    if success:
        return bottle.HTTPResponse(status=200,
                                   body=Response.get_response_json(
                                       Response(
                                           return_code=Response.USER_EXISTS,
                                           user=user_db_obj)))
    else:
        return bottle.HTTPResponse(
            status=200,
            body=Response.get_response_json(
                Response(return_code=Response.USER_NOT_EXIST,
                         user=User(auth_code=None,
                                   phone_number=http_request.user.phone_number,
                                   handset_serial_number=http_request.user.
                                   handset_serial_number))))
예제 #17
0
def add_category(timestamp):
    # add category
    # TODO This will be sent from Owner's Mobile App or WebPortal.
    user_obj = User(auth_code=None,
                    phone_number=9780044091,
                    handset_serial_number='JLIU897978F',
                    name=None,
                    email=None)

    RequestObj = Request(timestamp=timestamp,
                         user=user_obj,
                         category=None,
                         service=None,
                         complain=None)
    requestJson = Request.get_request_json(RequestObj)
    print(requestJson)
    return requests.post('http://localhost:8080/api/categories/new_category_2',
                         json=requestJson)
예제 #18
0
    else:
        return bottle.HTTPResponse(
            status=500,
            body=Response.get_response_json(
                Response(return_code=Response.USER_ERROR,
                         user=User(auth_code=http_request.user.auth_code,
                                   phone_number=http_request.user.phone_number,
                                   handset_serial_number=http_request.user.
                                   handset_serial_number))))


if __name__ == '__main__':

    user = User(auth_code='ccf6cebd53549f1d74a82bb455d907648fa28d0c',
                phone_number=9780044091,
                handset_serial_number='JLIU897978F',
                name=None,
                email=None)
    categoryObj = Category(category_name=5467)
    serviceObj = Service(service_name=1234)
    complainObj = Complain(address='A-98',
                           message='Repair my arse',
                           service_status='0',
                           complain_phone_number=None)

    responseObj = Response(return_code=Response.SUCCESS,
                           user=user,
                           category=[categoryObj],
                           service=[serviceObj],
                           complain=[complainObj])
    print(Response.get_response_json(responseObj))