Some checks failed
CI / Lint, typecheck, test (pull_request) Successful in 6m47s
CI / Build container images (pull_request) Successful in 3m59s
CI / Auth e2e pack (pull_request) Successful in 9m7s
CI / Import/export fidelity gate (pull_request) Successful in 57s
CD / Deploy to Test (push) Blocked by required conditions
CD / Smoke tests against Test (push) Blocked by required conditions
CD / Promote to Int (push) Blocked by required conditions
CI / Build container images (push) Blocked by required conditions
CI / Lint, typecheck, test (push) Has been cancelled
CI / Auth e2e pack (push) Blocked by required conditions
CI / Import/export fidelity gate (push) Blocked by required conditions
CD / Build and push images (push) Has been cancelled
POST /admin/users (Site-Admin guard) creates an account with the same field rules as self-registration, but active immediately: the admin vouches for the address, so the e-mail is marked verified and the personal pond is provisioned exactly like the verify-email path does (markEmailVerified alone would skip the pond). The user manager gains a create dialog (useModalFocus/useDismissable, Field wiring, flat RHF field names per the #322 lesson). New audit action user.created_by_admin, catalogue bumped to 1.9. Tests: api e2e-db (create + immediate login + personal pond, duplicate username 409, non-admin 403), web e2e through the dialog, and the admin a11y scan now opens the dialog too. Both packs verified locally against a fresh stack. Closes #331
48 lines
1.5 KiB
TypeScript
48 lines
1.5 KiB
TypeScript
import { Module } from '@nestjs/common';
|
|
|
|
import { AuthModule } from '../auth/auth.module';
|
|
import { BackupModule } from '../backup/backup.module';
|
|
import { PondsModule } from '../ponds/ponds.module';
|
|
import { QuotasModule } from '../quotas/quotas.module';
|
|
import { SchedulerModule } from '../scheduler/scheduler.module';
|
|
import { SearchModule } from '../search/search.module';
|
|
import { UsersModule } from '../users/users.module';
|
|
|
|
import { AdminSettingsController } from './admin.controller';
|
|
import { BackupAdminController } from './backup-admin.controller';
|
|
import { BackupAdminService } from './backup-admin.service';
|
|
import { PseudonymizationService } from './pseudonymization.service';
|
|
import { QuotaAdminController } from './quota-admin.controller';
|
|
import { SystemAdminController } from './system-admin.controller';
|
|
import { SystemAdminService } from './system-admin.service';
|
|
import { QuotaAdminService } from './quota-admin.service';
|
|
import { UserAdminController } from './user-admin.controller';
|
|
import { UserAdminService } from './user-admin.service';
|
|
|
|
@Module({
|
|
imports: [
|
|
QuotasModule,
|
|
UsersModule,
|
|
AuthModule,
|
|
SchedulerModule,
|
|
BackupModule,
|
|
SearchModule,
|
|
PondsModule,
|
|
],
|
|
controllers: [
|
|
AdminSettingsController,
|
|
BackupAdminController,
|
|
QuotaAdminController,
|
|
SystemAdminController,
|
|
UserAdminController,
|
|
],
|
|
providers: [
|
|
BackupAdminService,
|
|
QuotaAdminService,
|
|
SystemAdminService,
|
|
UserAdminService,
|
|
PseudonymizationService,
|
|
],
|
|
})
|
|
export class AdminModule {}
|