import { Module } from '@nestjs/common'; import { GroupsModule } from '../groups/groups.module'; import { MailModule } from '../mail/mail.module'; import { AdminSeedService } from './admin-seed.service'; import { UserController } from './user.controller'; import { UserService } from './user.service'; import { WelcomeMailService } from './welcome-mail.service'; import { WelcomeMailTemplateController } from './welcome-mail-template.controller'; import { WelcomeMailTemplateService } from './welcome-mail-template.service'; /** * Importiert GroupsModule für UserService.create's Standardgruppen- * Mitgliedschaft (D-11/D-12). GroupsModule importiert seinerseits * UserModule nicht — GroupsService greift für Benutzerprüfungen direkt * auf PrismaService zu, keine Zirkularität. * * Importiert MailModule für die Willkommensmail (`WelcomeMailService`). * Zyklusfrei: MailModule -> SettingsModule, keiner von beiden importiert * UserModule. * * Eigene Vorlage der Willkommensmail (Administrator → Willkommensmail): * `WelcomeMailTemplateService` (Speicherung je Mandant) und * `WelcomeMailTemplateController` (`/welcome-mail-template`) liegen hier, * weil Vorschau und Testmail denselben Weg wie der Versand nutzen * (`WelcomeMailService`: Adresse, Kopfbild, SMTP des Mandanten). */ @Module({ imports: [GroupsModule, MailModule], controllers: [UserController, WelcomeMailTemplateController], providers: [UserService, AdminSeedService, WelcomeMailService, WelcomeMailTemplateService], exports: [UserService], }) export class UserModule {}