From 7aa8f6f00f4cc4aaad32c8a3acfc9560f345e044 Mon Sep 17 00:00:00 2001 From: mngshm Date: Thu, 13 Feb 2025 14:59:52 +0530 Subject: [PATCH] chore: wrap everything inside nil check for storageLimit --- server/pkg/controller/family/admin.go | 35 ++++++++++++++------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/server/pkg/controller/family/admin.go b/server/pkg/controller/family/admin.go index f0b27e2bca..ae729fd97f 100644 --- a/server/pkg/controller/family/admin.go +++ b/server/pkg/controller/family/admin.go @@ -198,11 +198,11 @@ func (c *Controller) ModifyMemberStorage(ctx context.Context, actorUserID int64, } if member.AdminUserID != actorUserID { - return stacktrace.Propagate(ente.ErrBadRequest, "you do not have sufficient permission") + return stacktrace.Propagate(ente.ErrPermissionDenied, "you do not have sufficient permission") } if member.IsAdmin { - return stacktrace.Propagate(ente.NewBadRequestWithMessage("failed to modify storage"), "cannot modify admin storage limit") + return stacktrace.Propagate(ente.NewBadRequestWithMessage("can not limit admin storage"), "cannot modify admin storage limit") } if member.Status != ente.ACCEPTED && member.Status != ente.INVITED { @@ -219,23 +219,24 @@ func (c *Controller) ModifyMemberStorage(ctx context.Context, actorUserID int64, if *storageLimit > totalFamilyStorage { return stacktrace.Propagate(ente.ErrStorageLimitExceeded, "potential storage limit is more than subscription storage") } + + // Handle if the admin user tries reducing the storage Limit + // and the members Usage is more than the potential storage Limit + memberUsage, memUsageErr := c.UsageRepo.GetUsage(member.MemberUserID) + if memUsageErr != nil { + return stacktrace.Propagate(memUsageErr, "Couldn't find members storage usage") + } + + if memberUsage > *storageLimit { + return stacktrace.Propagate(ente.NewBadRequestWithMessage("Failed to reduce storage"), "User's current usage is more") + } + + modifyStorageErr := c.FamilyRepo.ModifyMemberStorage(ctx, actorUserID, member.ID, storageLimit) + if modifyStorageErr != nil { + return stacktrace.Propagate(modifyStorageErr, "Failed to modify members storage") + } } - // Handle if the admin user tries reducing the storage Limit - // and the members Usage is more than the potential storage Limit - memberUsage, memUsageErr := c.UsageRepo.GetUsage(member.MemberUserID) - if memUsageErr != nil { - return stacktrace.Propagate(memUsageErr, "Couldn't find members storage usage") - } - - if memberUsage > *storageLimit { - return stacktrace.Propagate(ente.NewBadRequestWithMessage("Failed to reduce storage"), "User's current usage is more") - } - - modifyStorageErr := c.FamilyRepo.ModifyMemberStorage(ctx, actorUserID, member.ID, storageLimit) - if modifyStorageErr != nil { - return stacktrace.Propagate(modifyStorageErr, "Failed to modify members storage") - } return nil }