Files
service-master-data-revenue/src/helpers/orm.ts
2026-06-10 23:45:11 +09:00

231 lines
4.1 KiB
TypeScript

import config from "config";
import { DataSource } from "typeorm";
import { ILogObj, Logger } from "tslog";
import {
ResponsiblePartyConsent,
Province,
City,
Subdistrict,
Ward,
RefferalHospital,
RegistrationFee,
FareType,
RoomStock,
Administrativu,
Aldeia,
District,
Menu,
Munisipo,
Suco,
Application,
Nationality,
Diagnosis,
DiagnosticProcedure,
Room,
MedicalForm,
ServiceType,
ServiceClass,
Service,
ServiceFare,
ServicePackage,
Department,
DoctorSchedule,
MeasurementUnit,
ReferenceRange,
QueueMonitoring,
QueueMonitoringRooms,
ExaminationDetail,
ExaminationType,
User,
UserRole,
HrmsEmployee,
HrmsDepartment,
HrmsPosition,
HrmsShift,
HospitalInformation,
ItemOrigin,
ItemType,
ItemTypeDetail,
Unit,
ItemCategory,
ItemStatus,
UsageInstructions,
UsageTime,
ItemClass,
ItemClassDetail,
GenericName,
Factory,
Supplier,
FactoryToSupplier,
ItemMaster,
ItemGroup,
PharmacyInfo,
ItemPrice,
SellingPricePercentage,
PatientGroup,
Currency,
InpatientRoom,
SurgeryRoom,
SurgeryType,
PatientGuarantor,
InitialStock,
DoctorItem,
DoctorItemPackage,
UserToRoom,
RoomToPharmacy,
PlanningVerificator,
ScheduleSeries,
ScheduleException,
CardType,
PaymentMethod,
FosterCareHistory,
InpatientRoomBed,
EmrBoardingRoom,
EmrPatient,
EmrRegistration,
EmrDiagnosis,
EmrRegistrationOutpatient,
EmrRegistrationEmergency,
EmrRegistrationEmergencyResponsible,
DischargeStatusEmergency,
EmrInternalConsultation,
Counter,
RoomNumber,
MainDisease,
CardKeySet,
CardPrintQueue,
EmrRegistrationTreatment,
TreatmentPlanSession,
TreatmentPlan
} from "entity";
export class OrmHelper {
static DB: DataSource = null;
static setup() {
const log: Logger<ILogObj> = new Logger({
name: "[OrmHelper]",
type: "pretty",
});
const engine: "mysql" | "postgres" = config.get("database.engine");
OrmHelper.DB = new DataSource({
type: engine,
host: config.get("database.host"),
port: Number(config.get("database.port")),
username: String(config.get("database.username")),
password: String(config.get("database.password")),
database: String(config.get("database.database")),
synchronize: true,
logging: config.get("database.logging"),
entities: [
//
Menu,
Administrativu,
Aldeia,
District,
Munisipo,
Suco,
Application,
Nationality,
Diagnosis,
DiagnosticProcedure,
Room,
MedicalForm,
ServiceType,
ServiceClass,
Service,
ServiceFare,
ServicePackage,
Department,
DoctorSchedule,
MeasurementUnit,
ReferenceRange,
QueueMonitoring,
QueueMonitoringRooms,
ExaminationDetail,
ExaminationType,
User,
UserRole,
HrmsEmployee,
HrmsDepartment,
HrmsPosition,
HospitalInformation,
HrmsShift,
ItemGroup,
ItemOrigin,
ItemType,
ItemTypeDetail,
Unit,
Currency,
InpatientRoom,
InpatientRoomBed,
EmrPatient,
EmrRegistration,
EmrDiagnosis,
EmrRegistrationOutpatient,
EmrRegistrationEmergency,
EmrRegistrationEmergencyResponsible,
DischargeStatusEmergency,
EmrInternalConsultation,
EmrBoardingRoom,
SurgeryRoom,
SurgeryType,
ItemCategory,
ItemStatus,
UsageInstructions,
UsageTime,
ItemClass,
ItemClassDetail,
GenericName,
Factory,
Supplier,
FactoryToSupplier,
ItemMaster,
PharmacyInfo,
ItemPrice,
SellingPricePercentage,
PatientGroup,
PatientGuarantor,
InitialStock,
DoctorItem,
DoctorItemPackage,
UserToRoom,
RoomToPharmacy,
PlanningVerificator,
RoomStock,
ScheduleSeries,
ScheduleException,
FareType,
CardType,
PaymentMethod,
RegistrationFee,
RefferalHospital,
Province,
City,
Subdistrict,
Ward,
ResponsiblePartyConsent,
FosterCareHistory,
Counter,
RoomNumber,
MainDisease,
CardKeySet,
CardPrintQueue,
EmrRegistrationTreatment,
TreatmentPlanSession,
TreatmentPlan
],
subscribers: [],
migrations: [],
});
OrmHelper.DB.initialize()
.then(() => {
// here you can start to work with your database
})
.catch((error: any) => log.error(error));
}
}