import logging from flask import jsonify from app.query import query from app import db from app.classes.admin import Admin_Company from app.classes.query import (Query_StateList, Query_DeliveryStatusList, Query_DeliveryStatusList_Schema, Query_StateList_Schema, Query_CustomerTypeList, Query_CustomerTypeList_Schema, Query_EmployeeTypeList, Query_EmployeeTypeList_Schema) from flask_login import login_required logger = logging.getLogger(__name__) @query.route("/company/", methods=["GET"]) @login_required def get_company(company_id): """ This will get the company from env variable """ logger.info(f"GET /query/company/{company_id} - Fetching company data") query_data = (db.session .query(Admin_Company) .filter(Admin_Company.id == company_id) .first()) delivery_schema = Query_DeliveryStatusList_Schema(many=False) return jsonify(delivery_schema.dump(query_data)) @query.route("/states", methods=["GET"]) @login_required def get_state_list(): """ This will get states """ logger.info("GET /query/states - Fetching state list") query_data = db.session \ .query(Query_StateList) \ .all() customer_schema = Query_StateList_Schema(many=True) return jsonify(customer_schema.dump(query_data)) @query.route("/customertype", methods=["GET"]) @login_required def get_customer_type_list(): """ This will get types of customers """ logger.info("GET /query/customertype - Fetching customer type list") query_data = db.session \ .query(Query_CustomerTypeList) \ .all() customer_schema = Query_CustomerTypeList_Schema(many=True) return jsonify(customer_schema.dump(query_data)) @query.route("/employeetype", methods=["GET"]) @login_required def get_employee_type_list(): """ This will get types of service """ logger.info("GET /query/employeetype - Fetching employee type list") query_data = db.session \ .query(Query_EmployeeTypeList) \ .all() customer_schema = Query_EmployeeTypeList_Schema(many=True) return jsonify(customer_schema.dump(query_data)) @query.route("/deliverystatus", methods=["GET"]) @login_required def get_delivery_status_list(): """ This will get delivery status """ logger.info("GET /query/deliverystatus - Fetching delivery status list") query_data = db.session \ .query(Query_DeliveryStatusList) \ .all() delivery_schema = Query_DeliveryStatusList_Schema(many=True) return jsonify(delivery_schema.dump(query_data))