CloudMigration: Provide a stats rollup in the GetSnapshot response (#90252)

* order session list descending

* add snapshot status method to store

* query stats while retrieving snapshot

* return stats in dto

* swagger

* fix tests

* commit results of bingo get

* fix swagger

* minor improvement

* fix typo

* forgot a file
This commit is contained in:
Michael Mandrus
2024-07-10 08:46:38 -04:00
committed by GitHub
parent a3dfc894f7
commit 317da43a84
11 changed files with 190 additions and 25 deletions
+13 -1
View File
@@ -442,6 +442,17 @@ func (cma *CloudMigrationAPI) GetSnapshot(c *contextmodel.ReqContext) response.R
}
}
dtoStats := SnapshotResourceStats{
Types: make(map[MigrateDataType]int, len(snapshot.StatsRollup.CountsByStatus)),
Statuses: make(map[ItemStatus]int, len(snapshot.StatsRollup.CountsByType)),
}
for s, c := range snapshot.StatsRollup.CountsByStatus {
dtoStats.Statuses[ItemStatus(s)] = c
}
for s, c := range snapshot.StatsRollup.CountsByType {
dtoStats.Types[MigrateDataType(s)] = c
}
respDto := GetSnapshotResponseDTO{
SnapshotDTO: SnapshotDTO{
SnapshotUID: snapshot.UID,
@@ -450,7 +461,8 @@ func (cma *CloudMigrationAPI) GetSnapshot(c *contextmodel.ReqContext) response.R
Created: snapshot.Created,
Finished: snapshot.Finished,
},
Results: dtoResults,
Results: dtoResults,
StatsRollup: dtoStats,
}
return response.JSON(http.StatusOK, respDto)