Files
admin/_docs/02_document/modules/common_entities_detection_class.md
T
Oleksandr Bezdieniezhnykh c7b297de83
ci/woodpecker/push/01-test Pipeline failed
ci/woodpecker/push/02-build-push unknown status
refactor: remove deploy.cmd and update Dockerfile for health checks
- 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>
2026-05-13 08:47:21 +03:00

1.9 KiB
Raw Blame History

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 /classes CRUD endpoints; previously the read path was served by another service (likely annotations/) 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 operations
  • AzaionDb.DetectionClasses — linq2db table mapping (see common_database_azaion_db.md)
  • Azaion.AdminApi.ProgramPOST/PATCH/DELETE /classes endpoints

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 19