From 3c5ba77e860c77c5df73993eb2f425a6e5aeaeca Mon Sep 17 00:00:00 2001 From: Alejandro Armas <58491232+mycroftsnm@users.noreply.github.com> Date: Sat, 8 Jun 2024 06:56:11 -0300 Subject: [PATCH] fix(server): server stats showing wrong quota usage (#10036) * Add filter to exclude external libraries from the user quota usage * Add filter to exclude external libraries from the user quota usage * fix sql syntax --- server/src/queries/user.repository.sql | 8 +++++++- server/src/repositories/user.repository.ts | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/server/src/queries/user.repository.sql b/server/src/queries/user.repository.sql index 64d4e12643..2c75786f97 100644 --- a/server/src/queries/user.repository.sql +++ b/server/src/queries/user.repository.sql @@ -130,7 +130,13 @@ SELECT "assets"."type" = 'VIDEO' AND "assets"."isVisible" ) AS "videos", - COALESCE(SUM("exif"."fileSizeInByte"), 0) AS "usage" + COALESCE( + SUM("exif"."fileSizeInByte") FILTER ( + WHERE + "assets"."libraryId" IS NULL + ), + 0 + ) AS "usage" FROM "users" "users" LEFT JOIN "assets" "assets" ON "assets"."ownerId" = "users"."id" diff --git a/server/src/repositories/user.repository.ts b/server/src/repositories/user.repository.ts index 7b7861a8de..1e77633bbf 100644 --- a/server/src/repositories/user.repository.ts +++ b/server/src/repositories/user.repository.ts @@ -108,7 +108,7 @@ export class UserRepository implements IUserRepository { .addSelect('users.name', 'userName') .addSelect(`COUNT(assets.id) FILTER (WHERE assets.type = 'IMAGE' AND assets.isVisible)`, 'photos') .addSelect(`COUNT(assets.id) FILTER (WHERE assets.type = 'VIDEO' AND assets.isVisible)`, 'videos') - .addSelect('COALESCE(SUM(exif.fileSizeInByte), 0)', 'usage') + .addSelect('COALESCE(SUM(exif.fileSizeInByte) FILTER (WHERE assets.libraryId IS NULL), 0)', 'usage') .addSelect('users.quotaSizeInBytes', 'quotaSizeInBytes') .leftJoin('users.assets', 'assets') .leftJoin('assets.exifInfo', 'exif')