Files
tessera-ctl/apps/api/src/groups/groups.module.ts
T
schalli 072fb7f62f feat(15-03): ModuleGrantsController und Einbindung in GroupsModule
- GET /module-grants/matrix, GET /module-grants/users/:userId,
  POST /module-grants, DELETE /module-grants — alle vier rollengeschützt
  (RolesGuard + Roles ADMIN/SUPER_ADMIN)
- matrix vor users/:userId deklariert (Beschattungsfehler-Vermeidung)
- GroupsModule bindet ModuleGrantsController/-Service ein; kein Import
  von ModuleRegistryModule nötig, da der Service nur PrismaService braucht
2026-08-04 18:41:17 +02:00

25 lines
1.0 KiB
TypeScript

import { Module } from '@nestjs/common';
import { GroupsController } from './groups.controller';
import { GroupsService } from './groups.service';
import { ModuleGrantsController } from './module-grants.controller';
import { ModuleGrantsService } from './module-grants.service';
/**
* NestJS-Modul für die Gruppenverwaltung (PERM-01, PERM-06) und die
* Schreibseite der Modul-Freigaben (PERM-03, Plan 15-03).
*
* Exportiert GroupsService, damit UserModule (Plan 15-02 Task 2) darüber
* addUserToDefaultGroup aufrufen kann — der einzige Codepfad für die
* automatische Standardgruppen-Mitgliedschaft (D-11/D-12).
*
* ModuleGrantsService injiziert ausschließlich PrismaService, deshalb ist
* kein Import von ModuleRegistryModule nötig — anders als
* ModuleAccessService (15-01/15-05), das hier nicht verwendet wird.
*/
@Module({
controllers: [GroupsController, ModuleGrantsController],
providers: [GroupsService, ModuleGrantsService],
exports: [GroupsService, ModuleGrantsService],
})
export class GroupsModule {}