feat(freight:api): initial backend work

This commit is contained in:
Michael Abebe
2026-05-18 10:25:33 +03:00
parent f0b309b65c
commit 0e0d2ea450
13 changed files with 177 additions and 16 deletions

View File

@@ -1,5 +1,94 @@
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",
@@ -10,7 +99,8 @@ export default registerAs(
username: process.env.DB_USER ?? "postgres",
password: process.env.DB_PASSWORD ?? "",
database: process.env.DB_NAME ?? "edr_freight",
entities: [__dirname + "/../**/*.entity.{ts,js}"],
entities: [__dirname + "/../**/*.entity.{ts,js}", ...iamEntities],
autoLoadEntities: true,
migrations: [__dirname + "/../../migrations/*.{ts,js}"],
// Never enable synchronize in production. Use migrations.
synchronize: process.env.NODE_ENV === "development",