feat(backend): Voelker-Modul (Modul 3)
ColoniesModule: CRUD + Move/Split/Merge/Dissolve/History, entsprechend Lastenheft §4.4 (Lebenszyklus eines Volkes): - move: Standortwechsel, protokolliert in ColonyApiaryHistory. - split: erzeugt Ableger als neues Volk, Abstammung ueber ColonyLineage(SPLIT, von Mutter- zu Ablegervolk). - merge: vereinigtes Volk bleibt historisch erhalten (status MERGED, deactivatedAt gesetzt statt geloescht), ColonyLineage(MERGE) je vereinigtem Volk zum Zielvolk. - dissolve: Volk wird deaktiviert (status DISSOLVED), Dokumentation bleibt erhalten. - history: aggregiert Standort-Historie, Koeniginnen-Historie und Abstammungslinien (als Quelle und als Ergebnis). Move/Split/Merge laufen transaktional (prisma.$transaction). Rollen wie bei Apiaries: Lesen offen, Schreiben auf ADMIN/BEEKEEPER beschraenkt. 9 Unit-Tests + 6 e2e-Tests (inkl. vollstaendigem Move->Split->Merge-> Dissolve-Flow und Rollenpruefung), Lint, Typecheck und Build gruen.
This commit is contained in:
1 parent
d59153a697
commit
d3f321f1b5
12 files changed
+781
-1
No files matched your search
@@ -7,6 +7,7 @@ import { AuditModule } from './audit/audit.module';
|
||||
import { UsersModule } from './users/users.module';
|
||||
import { AuthModule } from './auth/auth.module';
|
||||
import { ApiariesModule } from './apiaries/apiaries.module';
|
||||
import { ColoniesModule } from './colonies/colonies.module';
|
||||
import { JwtAuthGuard } from './auth/guards/jwt-auth.guard';
|
||||
import { RolesGuard } from './auth/guards/roles.guard';
|
||||
|
||||
@@ -19,6 +20,7 @@ import { RolesGuard } from './auth/guards/roles.guard';
|
||||
UsersModule,
|
||||
AuthModule,
|
||||
ApiariesModule,
|
||||
ColoniesModule,
|
||||
],
|
||||
controllers: [],
|
||||
providers: [
|
||||
|
||||
Reference in new issue
Block a user