Files
tessera-ctl/apps/api/src/tenant/tenant.module.ts
T
schalli 0d7d8a597e feat(260805-fok): beide Mandanten-Entstehungspfade verdrahten + Startup-Reparatur
- TenantService.create ruft nach prisma.tenant.create ensureDefaultGroup
  auf; Fehler werden protokolliert, nicht propagiert (Muster aus
  UserService.create)
- tenant.module.ts importiert GroupsModule (keine Zirkularitaet, wie
  UserModule bereits vormacht)
- AdminSeedService.onApplicationBootstrap besteht jetzt aus zwei
  sequenziellen await-Schritten: seedAdmin() (bisheriger Rumpf, plus
  ensureDefaultGroup nach dem Tenant-Upsert und VOR user.create), dann
  ensureDefaultGroupsForAllTenants() als abschliessende Reparatur ueber
  ALLE Mandanten — laeuft unabhaengig von seedAdmin()s fruehen
  Rueckkehrpfaden (fehlende ENV / Admin existiert bereits) und ist je
  Mandant sowie insgesamt try/catch-gekapselt, blockiert den API-Start nie
- Reparatur sitzt bewusst NICHT als eigener onApplicationBootstrap-Hook
  in GroupsModule (Ordering-Falle aus tender-scheduler.service.ts)
- tenant.service.spec.ts, admin-seed.service.spec.ts (neu): Reihenfolge,
  beide fruehen Rueckkehrpfade, Fehlerisolation je Mandant, Idempotenz
  ueber zwei Bootstrap-Laeufe
2026-08-05 11:30:49 +02:00

19 lines
626 B
TypeScript

import { Module } from '@nestjs/common';
import { GroupsModule } from '../groups/groups.module';
import { TenantController } from './tenant.controller';
import { TenantService } from './tenant.service';
/**
* Importiert GroupsModule für TenantService.create's Standardgruppen-
* Anlage (D-06/D-13). GroupsModule importiert seinerseits nichts,
* deshalb entsteht keine Zirkularität — UserModule bindet GroupsModule
* bereits nach demselben Muster ein.
*/
@Module({
imports: [GroupsModule],
controllers: [TenantController],
providers: [TenantService],
exports: [TenantService],
})
export class TenantModule {}