import express from "express";
import { Language } from "../langs/lang";
import JwtHelper from "../helpers/jwt";
import { MenuController } from "../controllers/menu";
import { AdministrativuController } from "../controllers/administrativu";
import { AldeiaController } from "../controllers/aldeia";
import { DistrictController } from "../controllers/district";
import { MunisipoController } from "../controllers/munisipo";
import { SucoController } from "../controllers/suco";
import { ApplicationController } from "../controllers/application";
import { NationalityController } from "../controllers/nationality";
import { DiagnosisController } from "../controllers/diagnosis";
import { DiagnosticProcedureController } from "../controllers/diagnostic_procedure";
import { RoomController } from "../controllers/room";
import { RoomNumberController } from "../controllers/room_number";
import { RoomServicesController } from "../controllers/room_services";
import { ServiceTypeController } from "../controllers/service_type";
import { ServiceClassController } from "../controllers/service_class";
import { ServiceController } from "../controllers/service";
import { ServiceFareController } from "../controllers/service_fare";
import { ServicePackageController } from "../controllers/service_package";
import { DepartmentController } from "../controllers/department";
import { DoctorScheduleController } from "../controllers/doctor_schedule";
import { DoctorItemPackageController } from "../controllers/doctor_item_package";
import { MeasurementUnitController } from "../controllers/measurement_unit";
import { ReferenceRangeController } from "../controllers/reference_range";
import { QueueMonitoringController } from "../controllers/queue_monitoring";
import { ExaminationDetailController } from "../controllers/examination_detail";
import { ExaminationTypeController } from "../controllers/examination_type";
import { ServiceExaminationController } from "../controllers/service_examination";
import { LaboratoryController } from "../controllers/laboratory";
import { PharmacyController } from "../controllers/pharmacy";
import { HospitalInformationController } from "../controllers/hospital_information";
import { ItemCategoryController } from "../controllers/pharmacy/item_category";
import { ItemStatusController } from "../controllers/pharmacy/item_status";
import { UnitController } from "../controllers/pharmacy/unit";
import { ItemTypeDetailController } from "../controllers/pharmacy/item_type_detail";
import { ItemTypeController } from "../controllers/pharmacy/item_type";
import { ItemOriginController } from "../controllers/pharmacy/item_origin";
import { ItemGroupController } from "../controllers/pharmacy/item_group";
import { UsageInstructionsController } from "../controllers/pharmacy/usage_instructions";
import { UsageTimeController } from "../controllers/pharmacy/usage_time";
import { ItemClassController } from "../controllers/pharmacy/item_class";
import { ItemClassDetailController } from "../controllers/pharmacy/item_class_detail";
import { FactoryController } from "../controllers/pharmacy/factory";
import { SupplierController } from "../controllers/pharmacy/supplier";
import { ItemMasterController } from "../controllers/pharmacy/item_master";
import { PharmacyInfoController } from "../controllers/pharmacy/pharmacy_info";
import { ItemPriceController } from "../controllers/pharmacy/item_price";
import { SellingPricePercentageController } from "../controllers/pharmacy/selling_price_percentage";
import { FactorytoSupplierController } from "../controllers/pharmacy/factory_to_supplier";
import { PatientGroupController } from "../controllers/patient_group";
import { PatientGuarantorController } from "../controllers/patient_guarantor";
import { GenericNameController } from "../controllers/pharmacy/generic_name";
import { RefferalHospital } from "entity";
import { RefferalHospitalController } from "../controllers/refferal_hospital";
import { InitialStockController } from "../controllers/pharmacy/initial_stock";
import { DoctorItemController } from "../controllers/doctor_item";
import { UserToRoomController } from "../controllers/user_to_room";
import { RoomToPharmacyController } from "../controllers/room_to_pharmacy";
import { PlanningVerificatorController } from "../controllers/pharmacy/planning_verificator";
import { ScheduleController } from "../controllers/schedule";
import { FareTypeController } from "../controllers/faretype";
import { CardTypeController } from "../controllers/card_type";
import { PaymentMethodController } from "../controllers/payment-method";
import { RegistrationFeeController } from "../controllers/registrationfee";
import { RegionController } from "../controllers/region";
import { ResponsiblePartyConsentController } from "../controllers/responsiblepartyconsent";
import { CurrencyController } from "../controllers/currency";
import { InpatientRoomController } from "../controllers/inpatient_room";
import { SurgeryRoomController } from "../controllers/surgery_room";
import { SurgeryTypeController } from "../controllers/surgery_type";
import { FosterCareHistoryController } from "../controllers/fostercarehistory";
import { FileController } from "../controllers/file/file";
import { MedicalFormController } from "../controllers/medical_form";
import { MainDiseaseController } from "../controllers/main_disease";
import { CardKeySetsController } from "../controllers/card_key_sets";

export class RoutePrivate {
	static setup(app: express.Application) {
		app.use(Language.apply);

		JwtHelper.secure(app);

		app.get("/api/main-disease/list", MainDiseaseController.list);
		app.post("/api/main-disease/create", MainDiseaseController.create);
		app.get("/api/main-disease/detail/:id", MainDiseaseController.detail);
		app.put("/api/main-disease/update/:id", MainDiseaseController.update);
		app.delete("/api/main-disease/delete/:id/:hard", MainDiseaseController.delete);
		app.put("/api/main-disease/restore/:id", MainDiseaseController.restore);

		app.get("/api/card-key-sets/list", CardKeySetsController.list);
		app.get("/api/card-key-sets/active", CardKeySetsController.active);
		app.post("/api/card-key-sets/create", CardKeySetsController.create);
		app.get("/api/card-key-sets/detail/:key_set_id", CardKeySetsController.detail);

		app.get("/api/menu/list", MenuController.list);
		app.get("/api/menu/export", MenuController.export);
		app.post("/api/menu/create", MenuController.create);
		app.put("/api/menu/update/:id", MenuController.update);
		app.delete("/api/menu/delete/:id/:hard", MenuController.delete);
		app.put("/api/menu/restore/:id", MenuController.restore);

		app.post('/api/upload', FileController.upload)
		app.delete('/api/delete', FileController.delete)
		app.get('/api/download', FileController.download)

		app.get("/api/administrativu/list", AdministrativuController.list);
		app.get("/api/administrativu/export", AdministrativuController.export);
		app.post("/api/administrativu/create", AdministrativuController.create);
		app.put("/api/administrativu/update/:id", AdministrativuController.update);
		app.delete("/api/administrativu/delete/:id/:hard", AdministrativuController.delete);
		app.put("/api/administrativu/restore/:id", AdministrativuController.restore);

		app.get("/api/aldeia/list", AldeiaController.list);
		app.get("/api/aldeia/export", AldeiaController.export);
		app.post("/api/aldeia/create", AldeiaController.create);
		app.put("/api/aldeia/update/:id", AldeiaController.update);
		app.delete("/api/aldeia/delete/:id/:hard", AldeiaController.delete);
		app.put("/api/aldeia/restore/:id", AldeiaController.restore);

		app.get("/api/district/list", DistrictController.list);
		app.get("/api/district/export", DistrictController.export);
		app.post("/api/district/create", DistrictController.create);
		app.put("/api/district/update/:id", DistrictController.update);
		app.delete("/api/district/delete/:id/:hard", DistrictController.delete);
		app.put("/api/district/restore/:id", DistrictController.restore);

		app.get("/api/munisipo/list", MunisipoController.list);
		app.get("/api/munisipo/export", MunisipoController.export);
		app.post("/api/munisipo/create", MunisipoController.create);
		app.put("/api/munisipo/update/:id", MunisipoController.update);
		app.delete("/api/munisipo/delete/:id/:hard", MunisipoController.delete);
		app.put("/api/munisipo/restore/:id", MunisipoController.restore);

		app.get("/api/suco/list", SucoController.list);
		app.get("/api/suco/export", SucoController.export);
		app.post("/api/suco/create", SucoController.create);
		app.put("/api/suco/update/:id", SucoController.update);
		app.delete("/api/suco/delete/:id/:hard", SucoController.delete);
		app.put("/api/suco/restore/:id", SucoController.restore);

		app.get("/api/application/list", ApplicationController.list);
		app.get("/api/application/export", ApplicationController.export);
		app.post("/api/application/create", ApplicationController.create);
		app.put("/api/application/update/:id", ApplicationController.update);
		app.delete("/api/application/delete/:id/:hard", ApplicationController.delete);
		app.put("/api/application/restore/:id", ApplicationController.restore);

		app.get("/api/nationality/list", NationalityController.list);
		app.get("/api/nationality/export", NationalityController.export);
		app.post("/api/nationality/create", NationalityController.create);
		app.put("/api/nationality/update/:id", NationalityController.update);
		app.delete("/api/nationality/delete/:id/:hard", NationalityController.delete);
		app.put("/api/nationality/restore/:id", NationalityController.restore);

		app.get("/api/diagnosis/list", DiagnosisController.list);
		app.post("/api/diagnosis/create", DiagnosisController.create);
		app.get("/api/diagnosis/detail/:id", DiagnosisController.detail);
		app.put("/api/diagnosis/update/:id", DiagnosisController.update);
		app.delete("/api/diagnosis/delete/:id/:hard", DiagnosisController.delete);
		app.put("/api/diagnosis/restore/:id", DiagnosisController.restore);

		app.get("/api/diagnostic-procedure/list", DiagnosticProcedureController.list);
		app.post("/api/diagnostic-procedure/create", DiagnosticProcedureController.create);
		app.get("/api/diagnostic-procedure/detail/:id", DiagnosticProcedureController.detail);
		app.put("/api/diagnostic-procedure/update/:id", DiagnosticProcedureController.update);
		app.delete("/api/diagnostic-procedure/delete/:id/:hard", DiagnosticProcedureController.delete);
		app.put("/api/diagnostic-procedure/restore/:id", DiagnosticProcedureController.restore);

		app.get("/api/room/list", RoomController.list);
		app.get("/api/room/option", RoomController.option);
		app.post("/api/room/create", RoomController.create);
		app.get("/api/room/detail/:id", RoomController.detail);
		app.put("/api/room/update/:id", RoomController.update);
		app.delete("/api/room/delete/:id/:hard", RoomController.delete);
		app.put("/api/room/restore/:id", RoomController.restore);
		app.post("/api/room/upload-picture", RoomController.uploadpicture);
		app.delete("/api/room/delete-picture", RoomController.deletepicture);
		app.get("/api/room/get-template-picture", RoomController.gettemplatepicture);
		app.get("/api/room/list-location", RoomController.listLocation);

		app.get("/api/room-number/list", RoomNumberController.list);
		app.post("/api/room-number/create", RoomNumberController.create);
		app.get("/api/room-number/detail/:id", RoomNumberController.detail);
		app.put("/api/room-number/update/:id", RoomNumberController.update);
		app.delete("/api/room-number/delete/:id/:hard", RoomNumberController.delete);
		app.put("/api/room-number/restore/:id", RoomNumberController.restore);

		app.get("/api/laboratory/list", LaboratoryController.list);

		app.get("/api/pharmacy/list", PharmacyController.list);

		app.get("/api/room-services/list", RoomServicesController.list);
		app.get("/api/room-services/list-services/:room_id", RoomServicesController.listServices);
		app.get("/api/room-services/detail/:id", RoomServicesController.detail);
		app.put("/api/room-services/:id", RoomServicesController.update);

		app.get("/api/service-type/list", ServiceTypeController.list);
		app.post("/api/service-type/create", ServiceTypeController.create);
		app.get("/api/service-type/detail/:id", ServiceTypeController.detail);
		app.put("/api/service-type/update/:id", ServiceTypeController.update);
		app.delete("/api/service-type/delete/:id/:hard", ServiceTypeController.delete);
		app.put("/api/service-type/restore/:id", ServiceTypeController.restore);

		app.get("/api/service-class/list", ServiceClassController.list);
		app.post("/api/service-class/create", ServiceClassController.create);
		app.get("/api/service-class/detail/:id", ServiceClassController.detail);
		app.put("/api/service-class/update/:id", ServiceClassController.update);
		app.delete("/api/service-class/delete/:id/:hard", ServiceClassController.delete);
		app.put("/api/service-class/restore/:id", ServiceClassController.restore);

		app.get("/api/service/list", ServiceController.list);
		app.post("/api/service/create", ServiceController.create);
		app.get("/api/service/detail/:id", ServiceController.detail);
		app.put("/api/service/update/:id", ServiceController.update);
		app.delete("/api/service/delete/:id/:hard", ServiceController.delete);
		app.put("/api/service/restore/:id", ServiceController.restore);

		app.get("/api/service-fare/list", ServiceFareController.list);
		app.get("/api/service-fare/option", ServiceFareController.option);
		app.post("/api/service-fare/create", ServiceFareController.create);
		app.get("/api/service-fare/detail/:id", ServiceFareController.detail);
		app.put("/api/service-fare/update/:id", ServiceFareController.update);
		app.delete("/api/service-fare/delete/:id/:hard", ServiceFareController.delete);
		app.put("/api/service-fare/restore/:id", ServiceFareController.restore);

		app.get("/api/service-package/list", ServicePackageController.list);
		app.post("/api/service-package/create", ServicePackageController.create);
		app.get("/api/service-package/detail/:id", ServicePackageController.detail);
		app.put("/api/service-package/update/:id", ServicePackageController.update);
		app.delete("/api/service-package/delete/:id/:hard", ServicePackageController.delete);
		app.put("/api/service-package/restore/:id", ServicePackageController.restore);

		app.get("/api/department/list", DepartmentController.list);
		app.post("/api/department/create", DepartmentController.create);
		app.get("/api/department/detail/:id", DepartmentController.detail);
		app.put("/api/department/update/:id", DepartmentController.update);
		app.delete("/api/department/delete/:id/:hard", DepartmentController.delete);
		app.put("/api/department/restore/:id", DepartmentController.restore);

		app.get("/api/doctor-schedule/list", DoctorScheduleController.list);
		app.post("/api/doctor-schedule/create", DoctorScheduleController.create);
		app.get("/api/doctor-schedule/detail/:id", DoctorScheduleController.detail);
		app.put("/api/doctor-schedule/update/:id", DoctorScheduleController.update);
		app.delete("/api/doctor-schedule/delete/:id/:hard", DoctorScheduleController.delete);
		app.put("/api/doctor-schedule/restore/:id", DoctorScheduleController.restore);

		app.get("/api/schedule/list", ScheduleController.list);
		app.post("/api/schedule/create", ScheduleController.create);
		app.get("/api/schedule/detail/:id", ScheduleController.detail);
		app.put("/api/schedule/update/:id", ScheduleController.update);
		app.get("/api/schedule/options", ScheduleController.options);
		app.get("/api/schedule/calendar", ScheduleController.calendar);
		app.post("/api/schedule/:id/create-exception", ScheduleController.createException);
		app.delete("/api/schedule/delete/:id/:hard", ScheduleController.delete);

		app.get("/api/doctor-item/list", DoctorItemController.listAll);
		app.get("/api/doctor-item/list-fav", DoctorItemController.listFav);
		app.post("/api/doctor-item/select-fav", DoctorItemController.selectFav);
		app.delete("/api/doctor-item/remove-fav/:fav_id", DoctorItemController.removeFav);

		app.get("/api/doctor-item-package/list", DoctorItemPackageController.list);
		app.post("/api/doctor-item-package/create", DoctorItemPackageController.create);
		app.get("/api/doctor-item-package/detail/:id", DoctorItemPackageController.detail);
		app.put("/api/doctor-item-package/update/:id", DoctorItemPackageController.update);
		app.delete("/api/doctor-item-package/delete/:id", DoctorItemPackageController.delete);

		app.get("/api/measurement-unit/list", MeasurementUnitController.list);
		app.post("/api/measurement-unit/create", MeasurementUnitController.create);
		app.get("/api/measurement-unit/detail/:id", MeasurementUnitController.detail);
		app.put("/api/measurement-unit/update/:id", MeasurementUnitController.update);
		app.delete("/api/measurement-unit/delete/:id/:hard", MeasurementUnitController.delete);
		app.put("/api/measurement-unit/restore/:id", MeasurementUnitController.restore);

		app.get("/api/medical-form/list", MedicalFormController.list);
		app.post("/api/medical-form/create", MedicalFormController.create);
		app.get("/api/medical-form/detail/:id", MedicalFormController.detail);
		app.put("/api/medical-form/update/:id", MedicalFormController.update);
		app.delete("/api/medical-form/delete/:id/:hard", MedicalFormController.delete);
		app.put("/api/medical-form/restore/:id", MedicalFormController.restore);

		app.get("/api/reference-range/list", ReferenceRangeController.list);
		app.post("/api/reference-range/create", ReferenceRangeController.create);
		app.get("/api/reference-range/detail/:id", ReferenceRangeController.detail);
		app.put("/api/reference-range/update/:id", ReferenceRangeController.update);
		app.delete("/api/reference-range/delete/:id/:hard", ReferenceRangeController.delete);
		app.put("/api/reference-range/restore/:id", ReferenceRangeController.restore);

		app.get("/api/queue-monitoring/list", QueueMonitoringController.list);
		app.post("/api/queue-monitoring/create", QueueMonitoringController.create);
		app.get("/api/queue-monitoring/detail/:id", QueueMonitoringController.detail);
		app.get("/api/queue-monitoring/:slug", QueueMonitoringController.detailBySlug);
		app.put("/api/queue-monitoring/update/:id", QueueMonitoringController.update);
		app.delete("/api/queue-monitoring/delete/:id/:hard", QueueMonitoringController.delete);
		app.put("/api/queue-monitoring/restore/:id", QueueMonitoringController.restore);

		app.get("/api/examination-detail/list", ExaminationDetailController.list);
		app.post("/api/examination-detail/create", ExaminationDetailController.create);
		app.get("/api/examination-detail/detail/:id", ExaminationDetailController.detail);
		app.put("/api/examination-detail/update/:id", ExaminationDetailController.update);
		app.delete("/api/examination-detail/delete/:id/:hard", ExaminationDetailController.delete);
		app.put("/api/examination-detail/restore/:id", ExaminationDetailController.restore);

		app.get("/api/examination-type/list", ExaminationTypeController.list);
		app.post("/api/examination-type/create", ExaminationTypeController.create);
		app.get("/api/examination-type/detail/:id", ExaminationTypeController.detail);
		app.put("/api/examination-type/update/:id", ExaminationTypeController.update);
		app.delete("/api/examination-type/delete/:id/:hard", ExaminationTypeController.delete);
		app.put("/api/examination-type/restore/:id", ExaminationTypeController.restore);

		app.get("/api/service-examination/list", ServiceExaminationController.list);
		app.post("/api/service-examination/create", ServiceExaminationController.create);
		app.put("/api/service-examination/:id", ServiceExaminationController.update);

		app.get("/api/hospital-information/view", HospitalInformationController.view);
		app.post("/api/hospital-information/create", HospitalInformationController.create);
		app.post("/api/hospital-information/upload-logo", HospitalInformationController.uploadlogo);
		app.delete("/api/hospital-information/delete-logo", HospitalInformationController.deletelogo);

		app.get("/api/pharmacy/item-group/list", ItemGroupController.list);
		app.get("/api/pharmacy/item-group/export", ItemGroupController.export);
		app.post("/api/pharmacy/item-group/create", ItemGroupController.create);
		app.put("/api/pharmacy/item-group/update/:id", ItemGroupController.update);
		app.delete("/api/pharmacy/item-group/delete/:id/:hard", ItemGroupController.delete);
		app.put("/api/pharmacy/item-group/restore/:id", ItemGroupController.restore);

		app.get("/api/pharmacy/item-origin/list", ItemOriginController.list);
		app.get("/api/pharmacy/item-origin/option", ItemOriginController.option);
		app.get("/api/pharmacy/item-origin/export", ItemOriginController.export);
		app.post("/api/pharmacy/item-origin/create", ItemOriginController.create);
		app.put("/api/pharmacy/item-origin/update/:id", ItemOriginController.update);
		app.delete("/api/pharmacy/item-origin/delete/:id/:hard", ItemOriginController.delete);
		app.put("/api/pharmacy/item-origin/restore/:id", ItemOriginController.restore);

		app.get("/api/pharmacy/item-type/list", ItemTypeController.list);
		app.get("/api/pharmacy/item-type/export", ItemTypeController.export);
		app.post("/api/pharmacy/item-type/create", ItemTypeController.create);
		app.put("/api/pharmacy/item-type/update/:id", ItemTypeController.update);
		app.delete("/api/pharmacy/item-type/delete/:id/:hard", ItemTypeController.delete);
		app.put("/api/pharmacy/item-type/restore/:id", ItemTypeController.restore);

		app.get("/api/pharmacy/item-type-detail/list", ItemTypeDetailController.list);
		app.get("/api/pharmacy/item-type-detail/export", ItemTypeDetailController.export);
		app.post("/api/pharmacy/item-type-detail/create", ItemTypeDetailController.create);
		app.put("/api/pharmacy/item-type-detail/update/:id", ItemTypeDetailController.update);
		app.delete("/api/pharmacy/item-type-detail/delete/:id/:hard", ItemTypeDetailController.delete);
		app.put("/api/pharmacy/item-type-detail/restore/:id", ItemTypeDetailController.restore);

		app.get("/api/pharmacy/unit/list", UnitController.list);
		app.get("/api/pharmacy/unit/export", UnitController.export);
		app.post("/api/pharmacy/unit/create", UnitController.create);
		app.put("/api/pharmacy/unit/update/:id", UnitController.update);
		app.delete("/api/pharmacy/unit/delete/:id/:hard", UnitController.delete);
		app.put("/api/pharmacy/unit/restore/:id", UnitController.restore);

		app.get("/api/currency/list", CurrencyController.list);
		app.post("/api/currency/create", CurrencyController.create);
		app.put("/api/currency/update/:id", CurrencyController.update);
		app.delete("/api/currency/delete/:id/:hard", CurrencyController.delete);

		app.get("/api/inpatient-room/list", InpatientRoomController.list);
		app.post("/api/inpatient-room/create", InpatientRoomController.create);
		app.get("/api/inpatient-room/detail/:id", InpatientRoomController.detail);
		app.put("/api/inpatient-room/update/:id", InpatientRoomController.update);
		app.delete("/api/inpatient-room/delete/:id/:hard", InpatientRoomController.delete);

		app.get("/api/surgery-room/list", SurgeryRoomController.list);
		app.post("/api/surgery-room/create", SurgeryRoomController.create);
		app.get("/api/surgery-room/detail/:id", SurgeryRoomController.detail);
		app.put("/api/surgery-room/update/:id", SurgeryRoomController.update);
		app.delete("/api/surgery-room/delete/:id/:hard", SurgeryRoomController.delete);

		app.get("/api/surgery-type/list", SurgeryTypeController.list);
		app.post("/api/surgery-type/create", SurgeryTypeController.create);
		app.get("/api/surgery-type/detail/:id", SurgeryTypeController.detail);
		app.put("/api/surgery-type/update/:id", SurgeryTypeController.update);
		app.delete("/api/surgery-type/delete/:id/:hard", SurgeryTypeController.delete);

		app.get("/api/pharmacy/item-category/list", ItemCategoryController.list);
		app.get("/api/pharmacy/item-category/export", ItemCategoryController.export);
		app.post("/api/pharmacy/item-category/create", ItemCategoryController.create);
		app.put("/api/pharmacy/item-category/update/:id", ItemCategoryController.update);
		app.delete("/api/pharmacy/item-category/delete/:id/:hard", ItemCategoryController.delete);
		app.put("/api/pharmacy/item-category/restore/:id", ItemCategoryController.restore);

		app.get("/api/pharmacy/item-status/list", ItemStatusController.list);
		app.get("/api/pharmacy/item-status/export", ItemStatusController.export);
		app.post("/api/pharmacy/item-status/create", ItemStatusController.create);
		app.put("/api/pharmacy/item-status/update/:id", ItemStatusController.update);
		app.delete("/api/pharmacy/item-status/delete/:id/:hard", ItemStatusController.delete);
		app.put("/api/pharmacy/item-status/restore/:id", ItemStatusController.restore);

		app.get("/api/pharmacy/usage-instructions/list", UsageInstructionsController.list);
		app.get("/api/pharmacy/usage-instructions/export", UsageInstructionsController.export);
		app.post("/api/pharmacy/usage-instructions/create", UsageInstructionsController.create);
		app.put("/api/pharmacy/usage-instructions/update/:id", UsageInstructionsController.update);
		app.delete("/api/pharmacy/usage-instructions/delete/:id/:hard", UsageInstructionsController.delete);
		app.put("/api/pharmacy/usage-instructions/restore/:id", UsageInstructionsController.restore);

		app.get("/api/pharmacy/usage-time/list", UsageTimeController.list);
		app.get("/api/pharmacy/usage-time/export", UsageTimeController.export);
		app.post("/api/pharmacy/usage-time/create", UsageTimeController.create);
		app.put("/api/pharmacy/usage-time/update/:id", UsageTimeController.update);
		app.delete("/api/pharmacy/usage-time/delete/:id/:hard", UsageTimeController.delete);
		app.put("/api/pharmacy/usage-time/restore/:id", UsageTimeController.restore);

		app.get("/api/pharmacy/item-class/list", ItemClassController.list);
		app.get("/api/pharmacy/item-class/export", ItemClassController.export);
		app.post("/api/pharmacy/item-class/create", ItemClassController.create);
		app.put("/api/pharmacy/item-class/update/:id", ItemClassController.update);
		app.delete("/api/pharmacy/item-class/delete/:id/:hard", ItemClassController.delete);
		app.put("/api/pharmacy/item-class/restore/:id", ItemClassController.restore);

		app.get("/api/pharmacy/item-class-detail/list", ItemClassDetailController.list);
		app.get("/api/pharmacy/item-class-detail/export", ItemClassDetailController.export);
		app.post("/api/pharmacy/item-class-detail/create", ItemClassDetailController.create);
		app.put("/api/pharmacy/item-class-detail/update/:id", ItemClassDetailController.update);
		app.delete("/api/pharmacy/item-class-detail/delete/:id/:hard", ItemClassDetailController.delete);
		app.put("/api/pharmacy/item-class-detail/restore/:id", ItemClassDetailController.restore);

		app.get("/api/pharmacy/generic-name/list", GenericNameController.list);
		app.get("/api/pharmacy/generic-name/export", GenericNameController.export);
		app.post("/api/pharmacy/generic-name/create", GenericNameController.create);
		app.put("/api/pharmacy/generic-name/update/:id", GenericNameController.update);
		app.delete("/api/pharmacy/generic-name/delete/:id/:hard", GenericNameController.delete);
		app.put("/api/pharmacy/generic-name/restore/:id", GenericNameController.restore);

		app.get("/api/pharmacy/factory/list", FactoryController.list);
		app.get("/api/pharmacy/factory/export", FactoryController.export);
		app.post("/api/pharmacy/factory/create", FactoryController.create);
		app.put("/api/pharmacy/factory/update/:id", FactoryController.update);
		app.delete("/api/pharmacy/factory/delete/:id/:hard", FactoryController.delete);
		app.put("/api/pharmacy/factory/restore/:id", FactoryController.restore);

		app.get("/api/pharmacy/supplier/list", SupplierController.list);
		app.get("/api/pharmacy/supplier/option", SupplierController.option);
		app.get("/api/pharmacy/supplier/export", SupplierController.export);
		app.post("/api/pharmacy/supplier/create", SupplierController.create);
		app.put("/api/pharmacy/supplier/update/:id", SupplierController.update);
		app.delete("/api/pharmacy/supplier/delete/:id/:hard", SupplierController.delete);
		app.put("/api/pharmacy/supplier/restore/:id", SupplierController.restore);

		app.get("/api/pharmacy/factory-to-supplier/list", FactorytoSupplierController.list);
		app.get("/api/pharmacy/factory-to-supplier/export", FactorytoSupplierController.export);
		app.post("/api/pharmacy/factory-to-supplier/create", FactorytoSupplierController.create);
		// app.put('/api/pharmacy/factory-to-supplier/update/:supplier_id', FactorytoSupplierController.update)
		// app.delete('/api/pharmacy/factory-to-supplier/delete/:supplier_id/:hard', FactorytoSupplierController.delete)
		// app.put('/api/pharmacy/factory-to-supplier/restore/:supplier_id', FactorytoSupplierController.restore)

		app.get("/api/pharmacy/item-master/list", ItemMasterController.list);
		app.get("/api/pharmacy/item-master/option", ItemMasterController.option);
		app.get("/api/pharmacy/item-master/export", ItemMasterController.export);
		app.post("/api/pharmacy/item-master/create", ItemMasterController.create);
		app.put("/api/pharmacy/item-master/update/:id", ItemMasterController.update);
		app.delete("/api/pharmacy/item-master/delete/:id/:hard", ItemMasterController.delete);
		app.put("/api/pharmacy/item-master/restore/:id", ItemMasterController.restore);

		app.get("/api/pharmacy/pharmacy-info/list", PharmacyInfoController.list);
		app.get("/api/pharmacy/pharmacy-info/export", PharmacyInfoController.export);
		app.post("/api/pharmacy/pharmacy-info/create", PharmacyInfoController.create);
		app.put("/api/pharmacy/pharmacy-info/update/:id", PharmacyInfoController.update);
		app.delete("/api/pharmacy/pharmacy-info/delete/:id/:hard", PharmacyInfoController.delete);
		app.put("/api/pharmacy/pharmacy-info/restore/:id", PharmacyInfoController.restore);
		app.post("/api/pharmacy/pharmacy-info/upload-logo", PharmacyInfoController.uploadlogo);
		app.delete("/api/pharmacy/pharmacy-info/delete-logo", PharmacyInfoController.deletelogo);
		app.get("/api/pharmacy/pharmacy-info/view/:id", PharmacyInfoController.detail);

		app.get("/api/pharmacy/item-price/list", ItemPriceController.list);
		app.get("/api/pharmacy/item-price/export", ItemPriceController.export);
		app.post("/api/pharmacy/item-price/create", ItemPriceController.create);
		app.put("/api/pharmacy/item-price/update/:id", ItemPriceController.update);
		app.delete("/api/pharmacy/item-price/delete/:id/:hard", ItemPriceController.delete);
		app.put("/api/pharmacy/item-price/restore/:id", ItemPriceController.restore);

		app.get("/api/pharmacy/selling-price-percentage/list", SellingPricePercentageController.list);
		app.get("/api/pharmacy/selling-price-percentage/export", SellingPricePercentageController.export);
		app.post("/api/pharmacy/selling-price-percentage/create", SellingPricePercentageController.create);
		app.put("/api/pharmacy/selling-price-percentage/update/:id", SellingPricePercentageController.update);
		app.delete("/api/pharmacy/selling-price-percentage/delete/:id/:hard", SellingPricePercentageController.delete);
		app.put("/api/pharmacy/selling-price-percentage/restore/:id", SellingPricePercentageController.restore);

		app.get("/api/patient-group/list", PatientGroupController.list);
		app.get("/api/patient-group/export", PatientGroupController.export);
		app.post("/api/patient-group/create", PatientGroupController.create);
		app.put("/api/patient-group/update/:id", PatientGroupController.update);
		app.delete("/api/patient-group/delete/:id/:hard", PatientGroupController.delete);
		app.put("/api/patient-group/restore/:id", PatientGroupController.restore);
		app.get("/api/patient-group/view/:id", PatientGroupController.detail);

		app.get("/api/patient-guarantor/list", PatientGuarantorController.list);
		app.get("/api/patient-guarantor/export", PatientGuarantorController.export);
		app.post("/api/patient-guarantor/create", PatientGuarantorController.create);
		app.put("/api/patient-guarantor/update/:id", PatientGuarantorController.update);
		app.delete("/api/patient-guarantor/delete/:id/:hard", PatientGuarantorController.delete);
		app.put("/api/patient-guarantor/restore/:id", PatientGuarantorController.restore);
		app.get("/api/patient-guarantor/view/:id", PatientGuarantorController.detail);

		app.get("/api/refferal-hospital/list", RefferalHospitalController.list);
		app.get("/api/refferal-hospital/option", RefferalHospitalController.option);
		app.get("/api/refferal-hospital/export", RefferalHospitalController.export);
		app.post("/api/refferal-hospital/create", RefferalHospitalController.create);
		app.put("/api/refferal-hospital/update/:id", RefferalHospitalController.update);
		app.delete("/api/refferal-hospital/delete/:id/:hard", RefferalHospitalController.delete);
		app.put("/api/refferal-hospital/restore/:id", RefferalHospitalController.restore);

		app.get("/api/initial-stock/list", InitialStockController.list);
		app.post("/api/initial-stock/create", InitialStockController.create);

		app.get("/api/user-to-room/list", UserToRoomController.list);
		app.get("/api/user-to-room/export", UserToRoomController.export);
		app.put("/api/user-to-room/update/:user_id", UserToRoomController.update);
		app.get("/api/user-to-room/view/:id", UserToRoomController.detail);
		app.get("/api/user-to-room/list-room", UserToRoomController.listRoom);
		app.get("/api/user-to-room/list-room/:user_id", UserToRoomController.listRoomByUser);

		app.get("/api/room-to-pharmacy/list", RoomToPharmacyController.list);
		app.get("/api/room-to-pharmacy/export", RoomToPharmacyController.export);
		// app.post('/api/room-to-pharmacy/create', RoomToPharmacyController.create)
		app.put("/api/room-to-pharmacy/update/:room_id", RoomToPharmacyController.update);
		app.get("/api/room-to-pharmacy/view/:id", RoomToPharmacyController.detail);

		app.get("/api/pharmacy/planning-verificator/list", PlanningVerificatorController.list);
		app.get("/api/pharmacy/planning-verificator/export", PlanningVerificatorController.export);
		app.post("/api/pharmacy/planning-verificator/create", PlanningVerificatorController.create);
		app.delete("/api/pharmacy/planning-verificator/delete/:id/:hard", PlanningVerificatorController.delete);
		app.put("/api/pharmacy/planning-verificator/restore/:id", PlanningVerificatorController.restore);

		app.get("/api/fare-type/list", FareTypeController.list);
		app.get("/api/fare-type/option", FareTypeController.option);
		app.get("/api/fare-type/detail/:id", FareTypeController.detail);
		app.post("/api/fare-type/create", FareTypeController.create);
		app.put("/api/fare-type/update/:id", FareTypeController.update);
		app.delete("/api/fare-type/delete/:id/:hard", FareTypeController.delete);
		app.put("/api/fare-type/restore/:id", FareTypeController.restore);

		app.get("/api/card-type/list", CardTypeController.list);
		app.post("/api/card-type/create", CardTypeController.create);
		app.get("/api/card-type/detail/:id", CardTypeController.detail);
		app.put("/api/card-type/update/:id", CardTypeController.update);
		app.delete("/api/card-type/delete/:id/:hard", CardTypeController.delete);
		app.put("/api/card-type/restore/:id", CardTypeController.restore);

		app.get("/api/payment-method/list", PaymentMethodController.list);
		app.post("/api/payment-method/create", PaymentMethodController.create);
		app.get("/api/payment-method/detail/:id", PaymentMethodController.detail);
		app.put("/api/payment-method/update/:id", PaymentMethodController.update);
		app.delete("/api/payment-method/delete/:id/:hard", PaymentMethodController.delete);
		app.put("/api/payment-method/restore/:id", PaymentMethodController.restore);

		app.get("/api/registration-fee/detail", RegistrationFeeController.detail);
		app.post("/api/registration-fee/create", RegistrationFeeController.create);
		app.put("/api/registration-fee/update/:id", RegistrationFeeController.update);

		app.get("/api/region/province", RegionController.province);
		app.get("/api/region/city/:province_code", RegionController.city);
		app.get("/api/region/subdistrict/:city_code", RegionController.subdistrict);
		app.get("/api/region/ward/:subdistric_code", RegionController.ward);

		app.get("/api/responsible-party-consent/body", ResponsiblePartyConsentController.body);
		app.post("/api/responsible-party-consent/create", ResponsiblePartyConsentController.create);
		app.put("/api/responsible-party-consent/update/:id", ResponsiblePartyConsentController.update);

		app.get("/api/foster-care-history/list", FosterCareHistoryController.list);
		app.post("/api/foster-care-history/create", FosterCareHistoryController.create);
		app.get("/api/foster-care-history/detail/:id", FosterCareHistoryController.detail);
		app.put("/api/foster-care-history/update/:id", FosterCareHistoryController.update);
		app.delete("/api/foster-care-history/delete/:id/:hard", FosterCareHistoryController.delete);
		app.put("/api/foster-care-history/restore/:id", FosterCareHistoryController.restore);
	}
}
