AI Implementation feature(841): First-Start Create Admin Modal 1.00 (#3)

This commit was merged in pull request #3.
This commit is contained in:
2026-07-21 15:07:44 +00:00
parent 9f67ec8c50
commit 960516a7bc
18 changed files with 518 additions and 112 deletions
+2 -2
View File
@@ -3,7 +3,7 @@ type: architecture
title: System Overview
description: High-level layout of the HIPCTF monorepo (NestJS API + Angular SPA) and how they communicate.
tags: [architecture, backend, frontend, overview]
timestamp: 2026-07-21T14:18:00Z
timestamp: 2026-07-21T15:05:00Z
---
# Overview
@@ -73,7 +73,7 @@ Browser ──HTTPS──▶ NestJS process (PORT, default 3000)
| Concern | Backend | Frontend |
|----------------|------------------------------------------------------|---------------------------------------------|
| Authentication | `JwtAuthGuard` (global) + `AuthGuard('jwt')` strategy | `AuthService` signal + `authInterceptor` |
| Authorization | `AdminGuard` + `@Roles('admin')` decorator | `authGuard` route guard |
| Authorization | `AdminGuard` + `@Roles('admin')` decorator | `authGuard` for `/`, `adminGuard` for `/admin` (delegates to pure `decideAdminGuard`) |
| CSRF | `CsrfMiddleware` (skips `/api/v1/auth/login` and `/api/v1/auth/register-first-admin`) | `csrfInterceptor` reads `csrf` cookie |
| Errors | `ApiError``GlobalExceptionFilter` returns `{code, message, details, path, timestamp}` | Components display `error?.error?.message` |
| Config | `envSchema` (zod) + `validateEnv` | None (consumed via bootstrap) |