- CatalogStatus type with forward-only state machine (draft→indexed→…→complete) - Transition() enforces valid transitions, returns error with 'invalid transition' message - ParseCatalogStatus() validates known status strings - HardwareRecord domain type composing netbox.Device with quality gate state - CatalogUpdater.UpdateCatalogStatus() validates transition then PatchCustomFields - SyncTags() normalizes tags (slug form) and ensures they exist in NetBox - normalizeTags deduplicates across case/whitespace/space-vs-hyphen variants - ensureTag uses go-netbox v4 NewTagRequest(name, slug) / ExtrasTagsCreate - All 12 state machine table-driven tests pass |
||
|---|---|---|
| .. | ||
| client.go | ||
| client_test.go | ||
| custom_fields.go | ||
| custom_fields_test.go | ||
| hwid.go | ||
| hwid_test.go | ||
| tags.go | ||
| tags_test.go | ||
| types.go | ||