# Module: Azaion.Common.Requests.GetResourceRequest ## Purpose Request DTOs and validator for resource access endpoints. Contains both `GetResourceRequest` and `CheckResourceRequest`. ## Public Interface ### CheckResourceRequest | Property | Type | Description | |----------|------|-------------| | `Hardware` | `string` | Hardware fingerprint to validate | ### GetResourceRequest | Property | Type | Description | |----------|------|-------------| | `Password` | `string` | User's password (used to derive encryption key) | | `Hardware` | `string` | Hardware fingerprint for authorization | | `FileName` | `string` | Resource file to retrieve | ### GetResourceRequestValidator | Rule | Constraint | Error Code | |------|-----------|------------| | `Password` min length | >= 8 chars | `PasswordLengthIncorrect` | | `Hardware` not empty | Required | `BadHardware` | | `FileName` not empty | Required | `WrongResourceName` | ## Internal Logic Validator uses `BusinessException.GetMessage()` to derive user-facing error messages from `ExceptionEnum`. ## Dependencies - `BusinessException`, `ExceptionEnum` - FluentValidation ## Consumers - `Program.cs` `/resources/get/{dataFolder?}` and `/resources/check` endpoints ## Data Models None. ## Configuration None. ## External Integrations None. ## Security Password is sent in the POST body (not URL) to avoid logging in access logs. Hardware fingerprint validates device authorization. ## Tests None.