add Entra device identity to computers and Azure/Thor import sources
PC records now carry Entra/Azure device identity so imported machines keep a durable link back to their directory object instead of matching on hostname alone. Adds azuredeviceid, azureobjectid, and azuredevicecategory to the Computer model with matching migrations, surfaces them read-only in PCDetail as an Entra Device Info card, and lets PCForm edit the device id directly. The computers plugin registers a machineassetnumber import hook that reconciles PC-to-machine links during bulk import and warns on unresolved or conflicting relationships. Adds importsources adapters that normalize Azure device-group and Thor PC inventory exports into canonical ShopDB CSVs via hostname alignment, exposes register_import_hook and RowWarning on the shopdb.api contract surface (contract 0.21.0), and refreshes the Import Site Assets page with clearer source instructions. Includes reconcile_locations maintenance script and coverage for the new import paths.
This commit is contained in:
@@ -57,7 +57,15 @@ from .plugins import plugin_manager
|
||||
# permission / empty / position. BREAKING for any plugin still using the old
|
||||
# shape, which is why it is recorded here: the change itself shipped earlier
|
||||
# without a bump, and a contract that changes silently is not a contract.
|
||||
__contract_version__ = '0.20.0'
|
||||
# 0.21.0: added register_import_hook to shopdb.api so a plugin can own a VIRTUAL
|
||||
# COLUMN on an importable CSV table - a header the bulk importer accepts but
|
||||
# never writes - and a post-write row hook that turns that value into a plugin
|
||||
# concept. The computers plugin uses it for a machineassetnumber column on
|
||||
# computers.csv that builds the PC->machine controls link, so a site writes the
|
||||
# machine number in the PC row instead of hand-building a relationships sheet.
|
||||
# Core stays ignorant of the column's meaning. Additive name on the import
|
||||
# surface, minor bump.
|
||||
__contract_version__ = '0.21.0'
|
||||
|
||||
# Product release version (see ADR-007). The product version and the
|
||||
# plugin-contract version above are distinct series with independent
|
||||
|
||||
Reference in New Issue
Block a user