mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-08-29 21:08:12 +00:00
Ticket #238 — pre-approval edits and document uploads write straight to the live company row with no approval gate and, until now, no trace. Adds an append-only company_revisions log (diffed field changes, document uploads) recorded from updateProfile and uploadCompanyDocuments, exposed via GET /companies/:id/revisions and shown as "Version history" on the backoffice customer detail page.
68 lines
2.7 KiB
TypeScript
68 lines
2.7 KiB
TypeScript
import { Module, forwardRef } from "@nestjs/common";
|
|
import { TypeOrmModule } from "@nestjs/typeorm";
|
|
import { HttpModule } from "@nestjs/axios";
|
|
import { FilesModule } from "../files/files.module";
|
|
import { FileUploadSettingsModule } from "../file-upload-settings/file-upload-settings.module";
|
|
import { MinioModule } from "../minio/minio.module";
|
|
import { NotificationsModule } from "../notifications/notifications.module";
|
|
import { NotificationInboxModule } from "../notification-inbox/notification-inbox.module";
|
|
import { CompaniesController } from "./companies.controller";
|
|
import { CompaniesService } from "./companies.service";
|
|
import { CompaniesRepository } from "./companies.repository";
|
|
import { ExternalProfileRepository } from "./external-profile.repository";
|
|
import { CompanyDashboardRepository } from "./company-dashboard.repository";
|
|
import { Company } from "./entities/company.entity";
|
|
import { ExternalProfile } from "./entities/external-profile.entity";
|
|
import { CompanyProfile } from "./entities/company-profile.entity";
|
|
import { CompanyChangeRequest } from "./entities/company-change-request.entity";
|
|
import { CompanyRevision } from "./entities/company-revision.entity";
|
|
import { Booking } from "../bookings/entities/booking.entity";
|
|
import { CompanyProfileRepository } from "./company-profile.repository";
|
|
import { CompanyChangeRequestRepository } from "./company-change-request.repository";
|
|
import { CompanyRevisionRepository } from "./company-revision.repository";
|
|
import { ETradeService } from "./services/etrade.service";
|
|
import { CompanyNotifierService } from "./company-notifier.service";
|
|
import { VerifaydaModule } from "../verifayda/verifayda.module";
|
|
|
|
@Module({
|
|
imports: [
|
|
TypeOrmModule.forFeature([
|
|
Company,
|
|
ExternalProfile,
|
|
CompanyProfile,
|
|
CompanyChangeRequest,
|
|
CompanyRevision,
|
|
Booking,
|
|
]),
|
|
HttpModule,
|
|
FilesModule,
|
|
FileUploadSettingsModule,
|
|
MinioModule,
|
|
// Account-status notifications (CompanyNotifierService). The inbox module
|
|
// imports this module back for portal recipient targeting, hence forwardRef.
|
|
NotificationsModule,
|
|
forwardRef(() => NotificationInboxModule),
|
|
// Fayda identity verification for the company's owner and PoA.
|
|
VerifaydaModule,
|
|
],
|
|
controllers: [CompaniesController],
|
|
providers: [
|
|
CompaniesService,
|
|
CompaniesRepository,
|
|
ExternalProfileRepository,
|
|
CompanyProfileRepository,
|
|
CompanyChangeRequestRepository,
|
|
CompanyRevisionRepository,
|
|
CompanyDashboardRepository,
|
|
ETradeService,
|
|
CompanyNotifierService,
|
|
],
|
|
exports: [
|
|
CompaniesService,
|
|
// Consumed by NotificationInboxModule for portal recipient targeting.
|
|
ExternalProfileRepository,
|
|
CompanyProfileRepository,
|
|
],
|
|
})
|
|
export class CompaniesModule { }
|