mirror of
https://github.com/azaion/admin.git
synced 2026-06-21 09:31:08 +00:00
c7b297de83
- Deleted the deploy.cmd script as it was no longer needed. - Updated Dockerfile to include curl for health checks and added a non-root user for improved security. - Modified health check command to use curl for better reliability. - Adjusted docker-compose.test.yml to reflect changes in health check configuration. - Cleaned up appsettings.json and removed unused configuration properties. - Removed Resource entity and related requests from the codebase as part of the architectural shift. - Updated documentation to reflect the removal of hardware binding and related endpoints. Co-authored-by: Cursor <cursoragent@cursor.com>
1.9 KiB
1.9 KiB
Module: Azaion.Common.Entities.DetectionClass
Purpose
Domain entity for a single detection class shown to operators in the Detection Classes admin table. Persisted to the detection_classes table; managed via the /classes admin endpoints introduced by AZ-513.
Cycle 1 (2026-05-13) origin — added by AZ-513 to back the new admin
/classesCRUD endpoints; previously the read path was served by another service (likelyannotations/) and admin/ had no own model for it.
Public Interface
| Property | Type | Description |
|---|---|---|
Id |
int |
Auto-assigned identity (DB-generated via InsertWithInt32IdentityAsync) |
Name |
string |
Full display name (max 120 chars per validator) |
ShortName |
string |
Short label used in tight UI (max 20 chars) |
Color |
string |
UI color (e.g. "#FF0000", max 20 chars — accepts hex strings or named-color tokens) |
MaxSizeM |
double |
Maximum real-world object size in meters (must be > 0) |
PhotoMode |
string? |
Optional capture-mode hint (max 20 chars when present) |
CreatedAt |
DateTime |
UTC creation timestamp set by the service on insert |
Internal Logic
Plain POCO; no behaviour. Identity is assigned by the database on insert (InsertWithInt32IdentityAsync).
Dependencies
None (no using directives on Azaion.Services / external libs).
Consumers
Azaion.Services.DetectionClassService— CRUD operationsAzaionDb.DetectionClasses— linq2db table mapping (seecommon_database_azaion_db.md)Azaion.AdminApi.Program—POST/PATCH/DELETE /classesendpoints
Data Models
Maps 1:1 to the detection_classes PostgreSQL table.
Configuration
None.
External Integrations
None directly; persisted via IDbFactory → PostgreSQL.
Security
Data is operator-controlled metadata; no PII or secrets.
Tests
e2e/Azaion.E2E/Tests/DetectionClassesTests.cs— covers AZ-513 ACs 1–9