Skip to content

Lookup ownership ​

The legacy domains/lookup package is a migration container, not a permanent business module. A reference dictionary belongs to the module that owns its meaning and change policy, even while its public HTTP path remains under /api/v1/lookup for compatibility.

Extracted to Devices ​

Devices now owns the complete SQL, repository, service, handler, and route slices for:

  • device types, categories, functions, and application risks;
  • applied-part types and electrical safety classes;
  • primary and backup power sources;
  • EU and FDA regulatory classes.

The legacy lookup router mounts Devices root components. It does not import Devices handlers, services, or repositories.

Remaining assignments ​

Legacy query groupTarget ownerReason
failure_codemaintenanceDescribes maintenance and fault diagnosis
work_order_typemaintenanceDefines maintenance work classification
work_order_prioritymaintenanceDefines maintenance planning urgency
work_order_statusmaintenanceDefines the work-order lifecycle
location_categoryfacilitiesClassifies facility-owned locations
organization_typeorganizationsClassifies organizations during onboarding and administration
user_rolesidentityDefines authentication and membership authorization roles
subscription_plansbillingDefines commercial plan entitlements and pricing identity
statusreference temporarilyA mixed generic table currently read by several workflows

The generic status table should not receive new unrelated status families. Each target module should own new lifecycle states directly. Existing status families can be split during their owning module's extraction.

Migration order ​

  1. Maintenance dictionaries as one cohesive group.
  2. Facility location categories.
  3. Organization types.
  4. Identity roles.
  5. Billing subscription plans.
  6. Audit and split the remaining generic status families.

An automated allowlist test prevents new SQL query groups from being added to the legacy lookup directory during this migration.

Ovahol developer documentation