From ca437b2ea5e3aa906c95d9b80b256ddb720f99d9 Mon Sep 17 00:00:00 2001 From: Gianmaria Del Monte <39946305+gmgigi96@users.noreply.github.com> Date: Thu, 13 Oct 2022 16:38:19 +0200 Subject: [PATCH] Fix user quota percentage (#3344) --- changelog/unreleased/fix-quota-percentage.md | 3 +++ .../ocs/handlers/cloud/users/users.go | 23 ++++++++++--------- 2 files changed, 15 insertions(+), 11 deletions(-) create mode 100644 changelog/unreleased/fix-quota-percentage.md diff --git a/changelog/unreleased/fix-quota-percentage.md b/changelog/unreleased/fix-quota-percentage.md new file mode 100644 index 0000000000..8be1f29db1 --- /dev/null +++ b/changelog/unreleased/fix-quota-percentage.md @@ -0,0 +1,3 @@ +Bugfix: Fix quota percentage + +https://github.com/cs3org/reva/pull/3344 \ No newline at end of file diff --git a/internal/http/services/owncloud/ocs/handlers/cloud/users/users.go b/internal/http/services/owncloud/ocs/handlers/cloud/users/users.go index 2f6d7a84a7..6a49ff56e9 100644 --- a/internal/http/services/owncloud/ocs/handlers/cloud/users/users.go +++ b/internal/http/services/owncloud/ocs/handlers/cloud/users/users.go @@ -104,20 +104,21 @@ func (h *Handler) GetUsers(w http.ResponseWriter, r *http.Request) { return } - getHomeRes, err := gc.GetHome(ctx, &provider.GetHomeRequest{}) - if err != nil { - sublog.Error().Err(err).Msg("error calling GetHome") - w.WriteHeader(http.StatusInternalServerError) - return - } - if getHomeRes.Status.Code != rpc.Code_CODE_OK { - ocdav.HandleErrorStatus(sublog, w, getHomeRes.Status) - return - } var total, used uint64 = 2, 1 var relative float32 // lightweight and federated accounts don't have access to their storage space if u.Id.Type != userpb.UserType_USER_TYPE_LIGHTWEIGHT && u.Id.Type != userpb.UserType_USER_TYPE_FEDERATED { + getHomeRes, err := gc.GetHome(ctx, &provider.GetHomeRequest{}) + if err != nil { + sublog.Error().Err(err).Msg("error calling GetHome") + w.WriteHeader(http.StatusInternalServerError) + return + } + if getHomeRes.Status.Code != rpc.Code_CODE_OK { + ocdav.HandleErrorStatus(sublog, w, getHomeRes.Status) + return + } + getQuotaRes, err := gc.GetQuota(ctx, &gateway.GetQuotaRequest{Ref: &provider.Reference{Path: getHomeRes.Path}}) if err != nil { sublog.Error().Err(err).Msg("error calling GetQuota") @@ -131,7 +132,7 @@ func (h *Handler) GetUsers(w http.ResponseWriter, r *http.Request) { } total = getQuotaRes.TotalBytes used = getQuotaRes.UsedBytes - relative = float32(float64(used) / float64(total)) + relative = float32(float64(used)/float64(total)) * 100 } response.WriteOCSSuccess(w, r, &Users{