Skip to content

Full management of Topology Maps (#15)#16

Merged
davidnmbond merged 2 commits into
mainfrom
feature/15-topology-map-management
Jul 3, 2026
Merged

Full management of Topology Maps (#15)#16
davidnmbond merged 2 commits into
mainfrom
feature/15-topology-map-management

Conversation

@davidnmbond

Copy link
Copy Markdown
Contributor

Closes #15.

Adds the missing pieces for programmatic Topology map (not just group) management.

Changes

  • Topology : IPatchable — enables PatchAsync/UpdateAsync/DeleteAsync on a map.
  • TopologyCreationDto : CreationDto<Topology> — enables CreateAsync<Topology>(...); exposes name, groupId, views, layout, connections, isCollapseEdges, isDisplayRelatedVertices, showAlertStatus, showEdgeStatus, showUndiscovered, sharable, hiddenVertices, groupBy, edgeStatusConfig. Defaults sharable=true (API-only accounts cannot own private items), isCollapseEdges=true, showAlertStatus=true.
  • GetTopologyAsync(int id) — single-item getter (GET topology/topologies/{id}).
  • TopologyLayoutMode.Radial ("RADIAL") — the existing store maps use RADIAL, which previously could not be round-tripped by the enum.
  • TopologyTests.Crud — create group → seed a view from a live device → create map → GetTopologyAsyncPatchAsync → delete.

Testing

  • dotnet build --configuration Release succeeds (0 warnings, 0 errors); package LogicMonitor.Api.3.240.11 produced.
  • New CRUD test compiles and follows the TopologyGroupTests.Crud pattern (runs against the CI test portal).

Downstream

Unblocks panoramicdata/PanoramicData.Skills#427 (logicmonitor skill topology commands), which unblocks the Store Map Manager in panoramicdata/LogicMonitor.LogicModules. A tagged release publishing the NuGet is required before the skill can consume these APIs.

🤖 Generated with Claude Code

- Topology now implements IPatchable (enables PatchAsync/UpdateAsync/DeleteAsync)
- New TopologyCreationDto for CreateAsync<Topology>
- GetTopologyAsync(int id) single-item getter
- TopologyLayoutMode gains RADIAL (existing maps use it; was un-round-trippable)
- TopologyTests.Crud: create group -> create map (seeded view) -> get -> patch -> delete

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@codacy-production

codacy-production Bot commented Jul 3, 2026

Copy link
Copy Markdown

Not up to standards ⛔

🔴 Issues 1 medium

Alerts:
⚠ 1 issue (≤ 0 issues of at least minor severity)

Results:
1 new issue

Category Results
BestPractice 1 medium

View in Codacy

🟢 Metrics 17 complexity

Metric Results
Complexity 17

View in Codacy

AI Reviewer: run a review on demand. To trigger the first review automatically, go to your organization or repository integration settings. AI can make mistakes. Always validate suggestions.

Run reviewer

TIP This summary will be updated as you push new changes.

@davidnmbond
davidnmbond merged commit ffc909e into main Jul 3, 2026
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Full management of Topology Maps (Topology CRUD: create/update/get-by-id)

1 participant