コード例 #1
0
def add_request():
    """This function adds a request from a client."""
    json_values = request.json
    values_required = {
        "address", "date", "time", "trouble", "idMemberATE", "idService"
    }
    response = Response(json.dumps(
        json_error(ResponsesREST.INVALID_INPUT.value)),
                        status=ResponsesREST.INVALID_INPUT.value,
                        mimetype="application/json")
    if all(key in json_values for key in values_required):
        if validator_request.is_valid(json_values):
            request_add = Request()
            request_add.address = json_values["address"]
            request_add.date = json_values["date"]
            request_add.time = json_values["time"]
            request_add.trouble = json_values["trouble"]
            request_add.id_member_ate = json_values["idMemberATE"]
            request_add.id_service = json_values["idService"]
            result = request_add.add_request()
            if result == ResponsesREST.CREATED.value:
                response = Response(json.dumps(request_add.json_request()),
                                    status=ResponsesREST.CREATED.value,
                                    mimetype="application/json")
            else:
                response = Response(json.dumps(json_error(result)),
                                    status=result,
                                    mimetype="application/json")
    return response
コード例 #2
0
def add_service():
    """This function adds a service."""
    json_values = request.json
    values_required = {
        "name", "description", "slogan", "typeService", "workingHours",
        "minimalCost", "maximumCost", "idCity", "idMemberATE"
    }
    response = Response(json.dumps(
        json_error(ResponsesREST.INVALID_INPUT.value)),
                        status=ResponsesREST.INVALID_INPUT.value,
                        mimetype="application/json")
    if all(key in json_values for key in values_required):
        if validator_service.is_valid(json_values):
            service_add = Service()
            service_add.name = json_values["name"]
            service_add.description = json_values["description"]
            service_add.slogan = json_values["slogan"]
            service_add.type_service = json_values["typeService"]
            service_add.working_hours = json_values["workingHours"]
            service_add.minimal_cost = json_values["minimalCost"]
            service_add.maximum_cost = json_values["maximumCost"]
            service_add.id_city = json_values["idCity"]
            service_add.id_member_ate = json_values["idMemberATE"]
            result = service_add.add_service()
            if result == ResponsesREST.CREATED.value:
                response = Response(json.dumps(service_add.json_service()),
                                    status=ResponsesREST.CREATED.value,
                                    mimetype="application/json")
            else:
                response = Response(json.dumps(json_error(result)),
                                    status=result,
                                    mimetype="application/json")
    return response
コード例 #3
0
def get_reports(filter_search, criterion):
    """This function get a report according to criterion: memberATE, service, date ."""
    response = Response(json.dumps(
        json_error(ResponsesREST.INVALID_INPUT.value)),
                        status=ResponsesREST.INVALID_INPUT.value,
                        mimetype="application/json")
    if validator_get_reports.is_valid({
            "filterSearch": filter_search,
            "criterion": criterion
    }):
        get_report = Report()
        result = get_report.consult_list_reports(filter_search, criterion)
        if result in (ResponsesREST.INVALID_INPUT.value,
                      ResponsesREST.NOT_FOUND.value,
                      ResponsesREST.SERVER_ERROR.value):
            response = Response(json.dumps(json_error(result)),
                                status=result,
                                mimetype="application/json")
        else:
            list_reports = []
            for reports_found in result:
                list_reports.append(reports_found.json_report())
            response = Response(json.dumps(list_reports),
                                status=ResponsesREST.SUCCESSFUL.value,
                                mimetype="application/json")
    return response
コード例 #4
0
def find_services_city_filter(filter_search, criterion, id_city):
    """This function obtains the list of services of a city according to the following criteria:
    typeService, name, minimalCost or maximumCost."""
    response = Response(json.dumps(
        json_error(ResponsesREST.INVALID_INPUT.value)),
                        status=ResponsesREST.INVALID_INPUT.value,
                        mimetype="application/json")
    if validator_find_services_city.is_valid({
            "filterSearch": filter_search,
            "criterion": criterion,
            "idCity": id_city
    }):
        get_services = Service()
        get_services.id_city = id_city
        result = get_services.consult_list_services_city(
            filter_search, criterion)
        if result in (ResponsesREST.INVALID_INPUT.value,
                      ResponsesREST.SERVER_ERROR.value,
                      ResponsesREST.NOT_FOUND.value):
            response = Response(json.dumps(json_error(result)),
                                status=result,
                                mimetype="application/json")
        else:
            list_services = []
            for service_found in result:
                list_services.append(service_found.json_service())
            response = Response(json.dumps(list_services),
                                status=ResponsesREST.SUCCESSFUL.value,
                                mimetype="application/json")
    return response
コード例 #5
0
def get_chats(id_member, member_type):
    """This function fetches a memberATE's chats."""
    json_validator = {"idMember": id_member, "memberType": member_type}
    response = Response(json.dumps(
        json_error(ResponsesREST.INVALID_INPUT.value)),
                        status=ResponsesREST.INVALID_INPUT.value,
                        mimetype="application/json")
    if validator_find_chats.is_valid(json_validator):
        get_chat = Chat()
        get_chat.id_member_ate = id_member
        result = get_chat.find_chats(member_type)
        if result in (ResponsesREST.NOT_FOUND.value,
                      ResponsesREST.SERVER_ERROR.value,
                      ResponsesREST.INVALID_INPUT.value):
            response = Response(json.dumps(json_error(result)),
                                status=result,
                                mimetype="application/json")
        else:
            list_chat = []
            for chats_found in result:
                list_chat.append(chats_found.json_chat())
            response = Response(json.dumps(list_chat),
                                status=ResponsesREST.SUCCESSFUL.value,
                                mimetype="application/json")
    return response
コード例 #6
0
def find_requests(request_status, filter_search, criterion):
    """This function retrieves the list of requests from the service or memberATE criterion."""
    json_validator = {
        "requestStatus": request_status,
        "filterSearch": filter_search,
        "criterion": criterion
    }
    response = Response(json.dumps(
        json_error(ResponsesREST.INVALID_INPUT.value)),
                        status=ResponsesREST.INVALID_INPUT.value,
                        mimetype="application/json")
    if validator_find_request.is_valid(json_validator):
        get_request = Request()
        result = get_request.find_request(request_status, filter_search,
                                          criterion)
        if result in (ResponsesREST.NOT_FOUND.value,
                      ResponsesREST.SERVER_ERROR.value,
                      ResponsesREST.INVALID_INPUT.value):
            response = Response(json.dumps(json_error(result)),
                                status=result,
                                mimetype="application/json")
        else:
            list_requests = []
            for request_found in result:
                list_requests.append(request_found.json_request())
            response = Response(json.dumps(list_requests),
                                status=ResponsesREST.SUCCESSFUL.value,
                                mimetype="application/json")
    return response
コード例 #7
0
def create_token():
    """This function logs in and generates the access token."""
    json_values = request.json
    values_required = {"username", "password"}
    response = Response(json.dumps(json_error(ResponsesREST.INVALID_INPUT.value)),
                        status=ResponsesREST.INVALID_INPUT.value, mimetype="application/json")
    if all(key in json_values for key in values_required):
        if validator_login.is_valid(json_values):
            account_login = Account()
            account_login.username = json_values["username"]
            account_login.password = encode_password(json_values["password"])
            account_login.member_ate_status = AccountStatus.ACTIVE.value
            result = account_login.login()
            if result in (ResponsesREST.SERVER_ERROR.value, ResponsesREST.NOT_FOUND.value,
                          ResponsesREST.INVALID_REQUEST.value):
                response = Response(json.dumps(json_error(result)),
                                    status=result,
                                    mimetype="application/json")
            else:
                account_login.member_ate_type = result.member_ate_type
                account_login.id_member_ate = result.id_member_ate
                account_login.id_city = result.id_city
                token = Auth.generate_token(account_login)
                session.permanent = True
                session["token"] = token
                response = Response(json.dumps({"token": token,
                                                "memberATEType": account_login.member_ate_type,
                                                "idMemberATE": account_login.id_member_ate,
                                                "idCity": account_login.id_city}),
                                    status=ResponsesREST.CREATED.value, mimetype="application/json")
    return response
コード例 #8
0
def send_message_to_email():
    """This function sends a message to an email with the reason for its blocking, unblocking."""
    json_values = request.json
    values = {"email", "messageSend"}
    response = Response(json.dumps(
        json_error(ResponsesREST.INVALID_INPUT.value)),
                        status=ResponsesREST.INVALID_INPUT.value,
                        mimetype="application/json")
    if all(key in json_values for key in values):
        if validator_email_account.is_valid(json_values):
            result = Email.send_message_email(json_values["messageSend"],
                                              json_values["email"])
            if result == ResponsesREST.CREATED.value:
                response = Response(json.dumps({
                    "email":
                    json_values["email"],
                    "messageSend":
                    json_values["messageSend"]
                }),
                                    status=result,
                                    mimetype="application/json")
            else:
                response = Response(json.dumps(json_error(result)),
                                    status=result,
                                    mimetype="application/json")
    return response
コード例 #9
0
def delete_resource(route):
    """This function removes a resource from a user or service."""
    response = Response(json.dumps(
        json_error(ResponsesREST.INVALID_INPUT.value)),
                        status=ResponsesREST.INVALID_INPUT.value,
                        mimetype="application/json")
    resource_delete = Resource()
    resource_delete.route_save = route
    result = resource_delete.delete_resource_server()
    if result in (ResponsesREST.SERVER_ERROR.value,
                  ResponsesREST.NOT_FOUND.value):
        response = Response(json.dumps(json_error(result)),
                            status=result,
                            mimetype="application/json")
    else:
        response = Response(status=result)
    return response
コード例 #10
0
def validate_account():
    """This function validates an account so that you can log in."""
    json_values = request.json
    values_required = {"username", "password", "code"}
    response = Response(json.dumps(json_error(ResponsesREST.INVALID_INPUT.value)),
                        status=ResponsesREST.INVALID_INPUT.value, mimetype="application/json")
    if all(key in json_values for key in values_required):
        if validator_login_validator.is_valid(json_values):
            account_login = Account()
            account_login.username = json_values["username"]
            account_login.password = encode_password(json_values["password"])
            result = account_login.validate_account(json_values["code"])
            if result == ResponsesREST.SUCCESSFUL.value:
                response = Response(status=result)
            else:
                response = Response(json.dumps(json_error(result)),
                                    status=result, mimetype="application/json")
    return response
コード例 #11
0
def add_employee_account(id_account):
    """This function adds the type of user employed to an already created account."""
    response = Response(json.dumps(
        json_error(ResponsesREST.INVALID_INPUT.value)),
                        status=ResponsesREST.INVALID_INPUT.value,
                        mimetype="application/json")
    if validator_id.is_valid({"id": id_account}):
        account_status = Account()
        account_status.id_member_ate = id_account
        account_status.member_ate_type = AccountRole.CLIENT_EMPLOYEE.value
        result = account_status.add_employee_account()
        if result == ResponsesREST.SUCCESSFUL.value:
            response = Response(status=result)
        else:
            response = Response(json.dumps(json_error(result)),
                                status=result,
                                mimetype="application/json")
    return response
コード例 #12
0
def validate_change_password():
    """This function changes the password of an account based on the
     confirmation code."""
    json_values = request.json
    values_required = {"email", "password", "code"}
    response = Response(json.dumps(json_error(ResponsesREST.INVALID_INPUT.value)),
                        status=ResponsesREST.INVALID_INPUT.value, mimetype="application/json")
    if all(key in json_values for key in values_required):
        if validator_login_password.is_valid(json_values):
            account_login = Account()
            account_login.email = json_values["email"]
            account_login.password = encode_password(json_values["password"])
            result = account_login.validate_change_password(json_values["code"])
            if result == ResponsesREST.SUCCESSFUL.value:
                response = Response(status=result)
            else:
                response = Response(json.dumps(json_error(result)),
                                    status=result, mimetype="application/json")
    return response
コード例 #13
0
def get_state_by_id(state_id):
    """This function returns a status according to its ID."""
    response = Response(json.dumps(
        json_error(ResponsesREST.INVALID_INPUT.value)),
                        status=ResponsesREST.INVALID_INPUT.value,
                        mimetype="application/json")
    if validator_id.is_valid({"id": state_id}):
        state_get = State()
        state_get.id_state = state_id
        result = state_get.get_state()
        if result in (ResponsesREST.NOT_FOUND.value,
                      ResponsesREST.SERVER_ERROR.value):
            response = Response(json.dumps(json_error(result)),
                                status=result,
                                mimetype="application/json")
        else:
            response = Response(json.dumps(result.json_state()),
                                status=ResponsesREST.SUCCESSFUL.value,
                                mimetype="application/json")
    return response
コード例 #14
0
def find_resource_main_member_ate(member_ate_id):
    """This function retrieves the main resource of a memberATE."""
    response = Response(json.dumps(
        json_error(ResponsesREST.INVALID_INPUT.value)),
                        status=ResponsesREST.INVALID_INPUT.value,
                        mimetype="application/json")
    if validator_id.is_valid({'id': member_ate_id}):
        get_resources_member = Resource()
        get_resources_member.id_member_ate = member_ate_id
        result = get_resources_member.get_main_resource_account()
        if result in (ResponsesREST.NOT_FOUND.value,
                      ResponsesREST.SERVER_ERROR.value):
            response = Response(json.dumps(json_error(result)),
                                status=result,
                                mimetype="application/json")
        else:
            response = Response(json.dumps(result.json_resource()),
                                status=ResponsesREST.SUCCESSFUL.value,
                                mimetype="application/json")
    return response
コード例 #15
0
def get_country_by_id(country_id):
    """This function gets a country according to its ID."""
    response = Response(json.dumps(
        json_error(ResponsesREST.INVALID_INPUT.value)),
                        status=ResponsesREST.INVALID_INPUT.value,
                        mimetype="application/json")
    if validator_id.is_valid({"id": country_id}):
        country_get = Country()
        country_get.id_country = country_id
        result = country_get.get_country()
        if result in (ResponsesREST.NOT_FOUND.value,
                      ResponsesREST.SERVER_ERROR.value):
            response = Response(json.dumps(json_error(result)),
                                status=result,
                                mimetype="application/json")
        else:
            response = Response(json.dumps(result.json_country()),
                                status=ResponsesREST.SUCCESSFUL.value,
                                mimetype="application/json")
    return response
コード例 #16
0
def get_report_by_id(report_id):
    """This function get a report according to its ID."""
    response = Response(json.dumps(
        json_error(ResponsesREST.INVALID_INPUT.value)),
                        status=ResponsesREST.INVALID_INPUT.value,
                        mimetype="application/json")
    if validator_id.is_valid({"id": report_id}):
        report_get = Report()
        report_get.id_report = report_id
        result = report_get.consult_report()
        if result in (ResponsesREST.NOT_FOUND.value,
                      ResponsesREST.SERVER_ERROR.value):
            response = Response(json.dumps(json_error(result)),
                                status=result,
                                mimetype="application/json")
        else:
            response = Response(json.dumps(result.json_report()),
                                status=ResponsesREST.SUCCESSFUL.value,
                                mimetype="application/json")
    return response
コード例 #17
0
def send_message_to_account():
    """This function updates the verification code and sends it to the email."""
    json_values = request.json
    values = {"email"}
    response = Response(json.dumps(
        json_error(ResponsesREST.INVALID_INPUT.value)),
                        status=ResponsesREST.INVALID_INPUT.value,
                        mimetype="application/json")
    if all(key in json_values for key in values):
        if validator_email.is_valid(json_values):
            account = Account()
            account.email = json_values["email"]
            result = account.change_code(create_code())
            if result == ResponsesREST.SUCCESSFUL.value:
                response = Response(json.dumps({"email": account.email}),
                                    status=result,
                                    mimetype="application/json")
            else:
                response = Response(json.dumps(json_error(result)),
                                    status=result,
                                    mimetype="application/json")
    return response
コード例 #18
0
def add_resource():
    """This function adds a resource to a user or service."""
    resource_save = request.form
    values_required = {"isMainResource", "name", "idService", "idMemberATE"}
    response = response = Response(json.dumps(
        json_error(ResponsesREST.INVALID_INPUT.value)),
                                   status=ResponsesREST.INVALID_INPUT.value,
                                   mimetype="application/json")
    if all(key in resource_save for key in values_required):
        resource_add = request.files.getlist("resourceFile")
        validator = {
            "isMainResource": resource_save["isMainResource"],
            "name": resource_save["name"],
            "idService": int(resource_save["idService"]),
            "idMemberATE": int(resource_save["idMemberATE"]),
            "ext": resource_add[0].filename.split(".")[-1]
        }
        if validator_resource.is_valid(validator):
            if resource_add:
                resource_server = Resource()
                resource_server.is_main_resource = resource_save[
                    "isMainResource"]
                resource_server.name = resource_save["name"]
                resource_server.id_service = int(resource_save["idService"])
                resource_server.id_member_ate = int(
                    resource_save["idMemberATE"])
                resource_server.resource_file = resource_add[0]
                result = resource_server.add_resource_server()
                if result == ResponsesREST.CREATED.value:
                    response = Response(json.dumps(
                        resource_server.json_resource()),
                                        status=ResponsesREST.CREATED.value,
                                        mimetype="application/json")
                else:
                    response = Response(json.dumps(json_error(result)),
                                        status=result,
                                        mimetype="application/json")
    return response
コード例 #19
0
def find_services_employee(id_member_ate):
    """This function gets the list of services for an employee."""
    response = Response(json.dumps(
        json_error(ResponsesREST.INVALID_INPUT.value)),
                        status=ResponsesREST.INVALID_INPUT.value,
                        mimetype="application/json")
    if validator_id.is_valid({"id": id_member_ate}):
        get_services = Service()
        get_services.id_member_ate = id_member_ate
        result = get_services.get_services_employee()
        if result in (ResponsesREST.SERVER_ERROR.value,
                      ResponsesREST.NOT_FOUND.value):
            response = Response(json.dumps(json_error(result)),
                                status=result,
                                mimetype="application/json")
        else:
            list_services = []
            for service_found in result:
                list_services.append(service_found.json_service())
            response = Response(json.dumps(list_services),
                                status=ResponsesREST.SUCCESSFUL.value,
                                mimetype="application/json")
    return response
コード例 #20
0
def find_resources(service_id):
    """This function retrieves the resources of a service."""
    response = Response(json.dumps(
        json_error(ResponsesREST.INVALID_INPUT.value)),
                        status=ResponsesREST.INVALID_INPUT.value,
                        mimetype="application/json")
    if validator_id.is_valid({'id': service_id}):
        get_resources_service = Resource()
        get_resources_service.id_service = service_id
        result = get_resources_service.get_resource_list()
        if result in (ResponsesREST.NOT_FOUND.value,
                      ResponsesREST.SERVER_ERROR.value):
            response = Response(json.dumps(json_error(result)),
                                status=result,
                                mimetype="application/json")
        else:
            list_resources = []
            for resource_found in result:
                list_resources.append(resource_found.json_resource())
            response = Response(json.dumps(list_resources),
                                status=ResponsesREST.SUCCESSFUL.value,
                                mimetype="application/json")
    return response
コード例 #21
0
def add_city():
    """This function adds a city to a state in the database."""
    json_values = request.json
    values_required = {"name", "idState"}
    response = Response(json.dumps(
        json_error(ResponsesREST.INVALID_INPUT.value)),
                        status=ResponsesREST.INVALID_INPUT.value,
                        mimetype="application/json")
    if all(key in json_values for key in values_required):
        if validator_city.is_valid(json_values):
            city_add = City()
            city_add.name = json_values["name"]
            city_add.id_state = json_values["idState"]
            result = city_add.add_city()
            if result == ResponsesREST.CREATED.value:
                response = Response(json.dumps(city_add.json_city()),
                                    status=ResponsesREST.CREATED.value,
                                    mimetype="application/json")
            else:
                response = Response(json.dumps(json_error(result)),
                                    status=result,
                                    mimetype="application/json")
    return response
コード例 #22
0
def get_cities(id_state):
    """This function gets all the cities in a state."""
    response = Response(json.dumps(
        json_error(ResponsesREST.INVALID_INPUT.value)),
                        status=ResponsesREST.INVALID_INPUT.value,
                        mimetype="application/json")
    if validator_id.is_valid({"id": id_state}):
        get_city = City()
        get_city.id_state = id_state
        result = get_city.find_cities()
        if result in (ResponsesREST.NOT_FOUND.value,
                      ResponsesREST.SERVER_ERROR.value):
            response = Response(json.dumps(json_error(result)),
                                status=result,
                                mimetype="application/json")
        else:
            list_cities = []
            for cities_found in result:
                list_cities.append(cities_found.json_city())
            response = Response(json.dumps(list_cities),
                                status=ResponsesREST.SUCCESSFUL.value,
                                mimetype="application/json")
    return response
コード例 #23
0
def find_requests_service(service_id):
    """This function retrieves the list of requests from the service."""
    response = Response(json.dumps(
        json_error(ResponsesREST.INVALID_INPUT.value)),
                        status=ResponsesREST.INVALID_INPUT.value,
                        mimetype="application/json")
    if validator_id.is_valid({"id": service_id}):
        get_request = Request()
        result = get_request.find_request_service(service_id)
        if result in (ResponsesREST.NOT_FOUND.value,
                      ResponsesREST.SERVER_ERROR.value,
                      ResponsesREST.INVALID_INPUT.value):
            response = Response(json.dumps(json_error(result)),
                                status=result,
                                mimetype="application/json")
        else:
            list_requests = []
            for request_found in result:
                list_requests.append(request_found.json_request())
            response = Response(json.dumps(list_requests),
                                status=ResponsesREST.SUCCESSFUL.value,
                                mimetype="application/json")
    return response
コード例 #24
0
def get_states(id_country):
    """This function returns all the states of a city."""
    response = Response(json.dumps(
        json_error(ResponsesREST.INVALID_INPUT.value)),
                        status=ResponsesREST.INVALID_INPUT.value,
                        mimetype="application/json")
    if validator_id.is_valid({"id": id_country}):
        get_state = State()
        get_state.id_country = id_country
        result = get_state.find_states()
        if result in (ResponsesREST.NOT_FOUND.value,
                      ResponsesREST.SERVER_ERROR.value):
            response = Response(json.dumps(json_error(result)),
                                status=result,
                                mimetype="application/json")
        else:
            list_states = []
            for states_found in result:
                list_states.append(states_found.json_state())
            response = Response(json.dumps(list_states),
                                status=ResponsesREST.SUCCESSFUL.value,
                                mimetype="application/json")
    return response
コード例 #25
0
def get_messages(id_chat):
    """This function get a messages from a chat."""
    response = Response(json.dumps(
        json_error(ResponsesREST.INVALID_INPUT.value)),
                        status=ResponsesREST.INVALID_INPUT.value,
                        mimetype="application/json")
    if validator_id.is_valid({"id": id_chat}):
        get_message = Message()
        get_message.id_chat = id_chat
        result = get_message.get_messages_list()
        if result in (ResponsesREST.NOT_FOUND.value,
                      ResponsesREST.SERVER_ERROR.value):
            response = Response(json.dumps(json_error(result)),
                                status=result,
                                mimetype="application/json")
        else:
            list_chat = []
            for message_found in result:
                list_chat.append(message_found.json_message())
            response = Response(json.dumps(list_chat),
                                status=ResponsesREST.SUCCESSFUL.value,
                                mimetype="application/json")
    return response
コード例 #26
0
def change_status(service_id):
    """This function changes the status of a service, 1 active, 2 inactive, 3 blocked."""
    json_values = request.json
    values_required = {"serviceStatus"}
    response = Response(json.dumps(
        json_error(ResponsesREST.INVALID_INPUT.value)),
                        status=ResponsesREST.INVALID_INPUT.value,
                        mimetype="application/json")
    if all(key in json_values for key in values_required):
        json_validator = json_values
        json_validator["idService"] = service_id
        if validator_change_status_service.is_valid(json_validator):
            service_change_status = Service()
            service_change_status.id_service = service_id
            service_change_status.service_status = json_values["serviceStatus"]
            result = service_change_status.change_status()
            if result == ResponsesREST.SUCCESSFUL.value:
                response = Response(status=result)
            else:
                response = Response(json.dumps(json_error(result)),
                                    status=result,
                                    mimetype="application/json")
    return response
コード例 #27
0
def add_report():
    """This function add a report a service."""
    json_values = request.json
    values_required = {"reason", "idService", "idMemberATE"}
    response = Response(json.dumps(
        json_error(ResponsesREST.INVALID_INPUT.value)),
                        status=ResponsesREST.INVALID_INPUT.value,
                        mimetype="application/json")
    if all(key in json_values for key in values_required):
        if validator_report.is_valid(json_values):
            report_add = Report()
            report_add.reason = json_values["reason"]
            report_add.id_service = json_values["idService"]
            report_add.id_member_ate = json_values["idMemberATE"]
            result = report_add.add_report()
            if result == ResponsesREST.CREATED.value:
                response = Response(json.dumps(report_add.json_report()),
                                    status=ResponsesREST.CREATED.value,
                                    mimetype="application/json")
            else:
                response = Response(json.dumps(json_error(result)),
                                    status=result,
                                    mimetype="application/json")
    return response
コード例 #28
0
def get_image(route):
    """This function retrieves an image according to its path."""
    resource_get = Resource()
    resource_get.route_save = route
    result = resource_get.get_resource_server()
    if result in (ResponsesREST.NOT_FOUND.value,
                  ResponsesREST.SERVER_ERROR.value):
        response = Response(json.dumps(json_error(result)),
                            status=result,
                            mimetype="application/json")
    else:
        response = send_file(io.BytesIO(result.resourceFile),
                             mimetype="image/png",
                             as_attachment=False)
    return response
コード例 #29
0
def add_message():
    """This function add a message to chat."""
    json_values = request.json
    values_required = {"message", "idChat", "memberType"}
    response = Response(json.dumps(
        json_error(ResponsesREST.INVALID_INPUT.value)),
                        status=ResponsesREST.INVALID_INPUT.value,
                        mimetype="application/json")
    if all(key in json_values for key in values_required):
        if validator_message.is_valid(json_values):
            message_add = Message()
            message_add.message = json_values["message"]
            message_add.id_chat = json_values["idChat"]
            message_add.member_type = json_values["memberType"]
            result = message_add.add_message()
            if result == ResponsesREST.CREATED.value:
                response = Response(json.dumps(message_add.json_message()),
                                    status=ResponsesREST.CREATED.value,
                                    mimetype="application/json")
            else:
                response = Response(json.dumps(json_error(result)),
                                    status=result,
                                    mimetype="application/json")
    return response
コード例 #30
0
def change_service(service_id):
    """This function changes all the data of a service according to its ID."""
    json_values = request.json
    values_required = {
        "name", "description", "slogan", "typeService", "workingHours",
        "minimalCost", "maximumCost", "idCity", "idMemberATE"
    }
    response = Response(json.dumps(
        json_error(ResponsesREST.INVALID_INPUT.value)),
                        status=ResponsesREST.INVALID_INPUT.value,
                        mimetype="application/json")
    if all(key in json_values for key in values_required):
        json_validator = json_values
        json_validator["idService"] = int(service_id)
        if validator_service.is_valid(json_validator):
            service_change = Service()
            service_change.id_service = int(service_id)
            service_change.name = json_values["name"]
            service_change.description = json_values["description"]
            service_change.slogan = json_values["slogan"]
            service_change.type_service = json_values["typeService"]
            service_change.working_hours = json_values["workingHours"]
            service_change.minimal_cost = json_values["minimalCost"]
            service_change.maximum_cost = json_values["maximumCost"]
            service_change.id_city = json_values["idCity"]
            service_change.id_member_ate = int(json_values["idMemberATE"])
            result = service_change.change_service()
            if result == ResponsesREST.SUCCESSFUL.value:
                response = Response(json.dumps(service_change.json_service()),
                                    status=ResponsesREST.SUCCESSFUL.value,
                                    mimetype="application/json")
            else:
                response = Response(json.dumps(json_error(result)),
                                    status=result,
                                    mimetype="application/json")
    return response