From e4e4b3abb43b71475d463a0fa34ca3d9a21d4318 Mon Sep 17 00:00:00 2001 From: Jason Cihelka Date: Tue, 4 Apr 2023 17:05:16 -0700 Subject: [PATCH] feat: add countTotal to datasets response --- api/datasets.go | 3 +++ core/database.go | 1 + docs/api.md | 2 ++ 3 files changed, 6 insertions(+) diff --git a/api/datasets.go b/api/datasets.go index 08af3ef..0ac5af5 100644 --- a/api/datasets.go +++ b/api/datasets.go @@ -33,9 +33,12 @@ func ConfigureDatasetsRouter(e *echo.Group, dldm *core.DeltaDM) { ds[i].BytesTotal = core.ByteSizes{Raw: tb[0], Padded: tb[1]} var countReplicated uint64 = 0 + var countTotal uint64 = 0 dldm.DB.Raw("select count(*) cr FROM contents c inner join replications r on r.content_comm_p = c.comm_p where r.status = 'SUCCESS' AND dataset_name = ?", d.Name).Row().Scan(&countReplicated) + dldm.DB.Raw("select count(*) cr FROM contents c where dataset_name = ?", d.Name).Row().Scan(&countTotal) ds[i].CountReplicated = countReplicated + ds[i].CountTotal = countTotal } return c.JSON(200, ds) diff --git a/core/database.go b/core/database.go index 3519e9a..9f41ca5 100644 --- a/core/database.go +++ b/core/database.go @@ -101,6 +101,7 @@ type Dataset struct { BytesReplicated ByteSizes `json:"bytes_replicated,omitempty" gorm:"-"` BytesTotal ByteSizes `json:"bytes_total,omitempty" gorm:"-"` CountReplicated uint64 `json:"count_replicated" gorm:"-"` + CountTotal uint64 `json:"count_total" gorm:"-"` AllowedProviders []Provider `json:"allowed_providers" gorm:"many2many:provider_allowed_datasets;"` } diff --git a/docs/api.md b/docs/api.md index a9b43cf..b0826e5 100644 --- a/docs/api.md +++ b/docs/api.md @@ -89,6 +89,7 @@ All endpoints (with the exception of `/self-service`) require the `Authorization "indexed": true, "contents": null, "count_replicated": 21, // # of successful replications/storage deals + "count_total": 210, // total # of contents for this dataset "bytes_replicated": [ 198110211431, // Raw bytes (the content itself) 377957122048 // Padded bytes (i.e, filecoin piece) @@ -113,6 +114,7 @@ All endpoints (with the exception of `/self-service`) require the `Authorization "indexed": true, "contents": null, "count_replicated": 14, // # of successful replications/storage deals + "count_total": 440, // total # of contents for this dataset "bytes_replicated": [ 198110211431, // Raw bytes (the content itself) 377957122048 // Padded bytes (i.e, filecoin piece)