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
def get_service_by_id(service_id): """This function gets a service 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": service_id}): service_get = Service() service_get.id_service = service_id result = service_get.consult_service() 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_service()), status=ResponsesREST.SUCCESSFUL.value, mimetype="application/json") return response
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
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
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
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