mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-09-08 12:28:21 +00:00
They hold a TIN but no business licence, so there is no eTrade record to look their registration up in. A checkbox on the first wizard step marks them, and everything that assumed a trade licence bends around it: - The company step replaces the eTrade lookup with typed registration details — name, region, zone, woreda, kebele, house number — required exactly because they are now on screen. applyEtradeSourcedFields skips the lookup rather than failing it, so what the customer sends is what is stored. - No freight-forwarder role. Forwarding is licensed work, so the option is not offered, and the API refuses it at start-onboarding and at every later role-add rather than letting approval fail on a document they cannot produce. - No per-role business-licence upload, client-side or in the completion gate. - Their own document set (company_onboarding_documents_cooperative) merges on top of the nationality one, admin-managed like every other set. Nationality wins a fileKey collision so no slot renders twice, and the DARS paper is not injected into it — the set it merges onto already carries one. - The owner is typed in full; with no eTrade manager on file the licence comparison reports "nothing to compare against", which backoffice now explains rather than leaving as a bare dash. Stored as an attributes flag, not a column: everything it changes is behavioural, and nothing queries or joins on it.
22 lines
680 B
TypeScript
22 lines
680 B
TypeScript
import { Injectable } from "@nestjs/common";
|
|
import { InjectRepository } from "@nestjs/typeorm";
|
|
import { Repository } from "typeorm";
|
|
import { BaseRepository } from "@edr/api-common";
|
|
|
|
import { StampSetting } from "./entities/stamp-setting.entity";
|
|
|
|
@Injectable()
|
|
export class StampSettingsRepository extends BaseRepository<StampSetting> {
|
|
constructor(
|
|
@InjectRepository(StampSetting)
|
|
repo: Repository<StampSetting>,
|
|
) {
|
|
super(repo);
|
|
}
|
|
|
|
/** The single settings row, with its stamp file joined, or null before first upload. */
|
|
findSingleton(): Promise<StampSetting | null> {
|
|
return this.repository.findOne({ where: {}, relations: ["stampFile"] });
|
|
}
|
|
}
|