Files
admin/_docs/02_document/diagrams/components.md
T
Oleksandr Bezdieniezhnykh 3a925b9b0f
ci/woodpecker/push/01-test Pipeline failed
ci/woodpecker/push/02-build-push unknown status
refactor: remove obsolete resource download and installer endpoints
- Deleted the `POST /resources/get/{dataFolder?}` and `GET /resources/get-installer` endpoints as part of the architectural shift towards simplified resource management.
- Removed associated methods and configurations, including `ResourcesService.GetEncryptedResource`, `ResourcesService.GetInstaller`, and related properties in `ResourcesConfig`.
- Cleaned up environment variables and configuration files to reflect the removal of installer-related settings.
- Eliminated the `GetResourceRequest` DTO and its validator, along with the `WrongResourceName` error code.
- Updated documentation to clarify the changes in resource handling and the retirement of per-user file encryption.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-14 04:17:55 +03:00

2.2 KiB

Component Diagram

graph TD
    subgraph "Common Helpers"
        EXT["Extensions<br/>(Enum, String, Stream, Queryable)"]
        BEX["BusinessException<br/>(ExceptionEnum)"]
    end

    subgraph "01 Data Layer"
        DB["AzaionDb + SchemaHolder"]
        DBF["DbFactory<br/>(IDbFactory)"]
        CACHE["MemoryCache<br/>(ICache)"]
        ENT["User, RoleEnum"]
        CFG["Configs<br/>(ConnectionStrings, JwtConfig, ResourcesConfig)"]
    end

    subgraph "02 User Management"
        US["UserService<br/>(IUserService)"]
        REQ["Request DTOs<br/>+ Validators"]
    end

    subgraph "03 Auth & Security"
        AUTH["AuthService<br/>(IAuthService)"]
        SEC["Security<br/>(static: hash, encrypt, decrypt)"]
    end

    subgraph "04 Resource Management"
        RES["ResourcesService<br/>(IResourcesService)"]
    end

    subgraph "05 Admin API"
        API["Program.cs<br/>(Minimal API endpoints)"]
        EXH["BusinessExceptionHandler"]
    end

    DB --> ENT
    DB --> EXT
    DBF --> DB
    DBF --> CFG

    US --> DBF
    US --> CACHE
    US --> SEC
    US --> BEX
    US --> EXT

    AUTH --> US
    AUTH --> CFG

    RES --> CFG
    RES --> SEC
    RES --> BEX

    API --> US
    API --> AUTH
    API --> RES
    API --> DBF
    API --> CACHE
    EXH --> BEX

Component Summary

# Component Modules Purpose
01 Data Layer 9 DB access, entities, configs, caching
02 User Management 5 User CRUD, role management, device provisioning (hardware binding removed by AZ-197)
03 Auth & Security 2 JWT tokens + SHA-384 password hashing (per-user file encryption removed in cycle 2)
04 Resource Management 2 File upload / list / clear (encrypted-download + installer endpoints removed in cycle 2)
05 Admin API 2 HTTP endpoints, middleware, DI composition
Common Helpers 6 Extensions, BusinessException

Total: 26 modules across 5 components + common helpers. The previously listed in-process unit tests (SecurityTest, UserServiceTest) and the Azaion.Test project itself were removed in cycle 2; remaining test coverage lives in e2e/Azaion.E2E/.