mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-08-27 23:40:56 +00:00
116 lines
2.7 KiB
TypeScript
116 lines
2.7 KiB
TypeScript
import { registerAs } from "@nestjs/config";
|
|
import { TypeOrmModuleOptions } from "@nestjs/typeorm";
|
|
import {
|
|
DefaultPosition,
|
|
DefaultUnit,
|
|
EmployeePosition,
|
|
Employee,
|
|
OrganizationConfiguration,
|
|
GlobalOrganizationConfiguration,
|
|
OrganizationType,
|
|
Organization,
|
|
PositionConfiguration,
|
|
PositionPermission,
|
|
PositionTypeConfiguration,
|
|
PositionTypePermission,
|
|
PositionType,
|
|
Position,
|
|
Project,
|
|
UnitConfiguration,
|
|
GlobalUnitConfiguration,
|
|
Unit,
|
|
EmployeeSignature,
|
|
EmployeeStamp,
|
|
RecordFooter,
|
|
RecordHeader,
|
|
Seal,
|
|
AccountConfiguration,
|
|
Application,
|
|
DocumentaryRequirement,
|
|
Permission,
|
|
RolePermission,
|
|
Role,
|
|
Session,
|
|
UserCredential,
|
|
UserDocument,
|
|
UserRole,
|
|
UserVerification,
|
|
User,
|
|
Notification,
|
|
NotificationEvent,
|
|
NotificationPlaceholder,
|
|
NotificationReceiverField,
|
|
NotificationReceiver,
|
|
NotificationTemplate,
|
|
} from "@tria-plc/iamapi-common";
|
|
import { OrganizationSetting } from "@tria-plc/iamapi-common/entities/iam/organization-structure/organization-setting.entity";
|
|
|
|
const iamEntities = [
|
|
DefaultPosition,
|
|
DefaultUnit,
|
|
EmployeePosition,
|
|
Employee,
|
|
OrganizationConfiguration,
|
|
GlobalOrganizationConfiguration,
|
|
OrganizationSetting,
|
|
OrganizationType,
|
|
Organization,
|
|
PositionConfiguration,
|
|
PositionPermission,
|
|
PositionTypeConfiguration,
|
|
PositionTypePermission,
|
|
PositionType,
|
|
Position,
|
|
Project,
|
|
UnitConfiguration,
|
|
GlobalUnitConfiguration,
|
|
Unit,
|
|
EmployeeSignature,
|
|
EmployeeStamp,
|
|
RecordFooter,
|
|
RecordHeader,
|
|
Seal,
|
|
AccountConfiguration,
|
|
Application,
|
|
DocumentaryRequirement,
|
|
Permission,
|
|
RolePermission,
|
|
Role,
|
|
Session,
|
|
UserCredential,
|
|
UserDocument,
|
|
UserRole,
|
|
UserVerification,
|
|
User,
|
|
Notification,
|
|
NotificationEvent,
|
|
NotificationPlaceholder,
|
|
NotificationReceiverField,
|
|
NotificationReceiver,
|
|
NotificationTemplate,
|
|
];
|
|
|
|
export default registerAs(
|
|
"database",
|
|
(): TypeOrmModuleOptions => ({
|
|
type: "postgres",
|
|
host: process.env.DB_HOST ?? "localhost",
|
|
port: parseInt(process.env.DB_PORT ?? "5433", 10),
|
|
username: process.env.DB_USER ?? "postgres",
|
|
password: process.env.DB_PASSWORD ?? "",
|
|
database: process.env.DB_NAME ?? "edr_freight",
|
|
entities: [__dirname + "/../**/*.entity.{ts,js}", ...iamEntities],
|
|
autoLoadEntities: true,
|
|
migrations: [
|
|
// IAM schema + tables must be created before freight entity sync
|
|
__dirname +
|
|
"/../../node_modules/@tria-plc/iamapi-common/dist/db/migrations/*.js",
|
|
__dirname + "/../../migrations/*.{ts,js}",
|
|
],
|
|
migrationsRun: true,
|
|
// Never enable synchronize in production. Use migrations.
|
|
synchronize: process.env.NODE_ENV === "development",
|
|
logging: process.env.NODE_ENV === "development",
|
|
}),
|
|
);
|