2023-11-30 10:10:30 -05:00
|
|
|
-- NOTE: This file is auto generated by ./sql-generator
|
|
|
|
|
|
2025-01-13 19:30:34 -06:00
|
|
|
-- UserRepository.get
|
|
|
|
|
select
|
|
|
|
|
"id",
|
2025-03-17 15:32:12 -04:00
|
|
|
"name",
|
2025-01-13 19:30:34 -06:00
|
|
|
"email",
|
2025-04-28 09:54:51 -04:00
|
|
|
"avatarColor",
|
2025-01-13 19:30:34 -06:00
|
|
|
"profileImagePath",
|
2025-03-17 15:32:12 -04:00
|
|
|
"profileChangedAt",
|
|
|
|
|
"createdAt",
|
|
|
|
|
"updatedAt",
|
2025-01-13 19:30:34 -06:00
|
|
|
"deletedAt",
|
2025-03-17 15:32:12 -04:00
|
|
|
"isAdmin",
|
|
|
|
|
"status",
|
2025-01-13 19:30:34 -06:00
|
|
|
"oauthId",
|
2025-03-17 15:32:12 -04:00
|
|
|
"profileImagePath",
|
|
|
|
|
"shouldChangePassword",
|
2025-01-13 19:30:34 -06:00
|
|
|
"storageLabel",
|
|
|
|
|
"quotaSizeInBytes",
|
|
|
|
|
"quotaUsageInBytes",
|
|
|
|
|
(
|
|
|
|
|
select
|
|
|
|
|
coalesce(json_agg(agg), '[]')
|
|
|
|
|
from
|
|
|
|
|
(
|
|
|
|
|
select
|
2025-04-10 15:53:21 +01:00
|
|
|
"user_metadata"."key",
|
|
|
|
|
"user_metadata"."value"
|
2025-01-13 19:30:34 -06:00
|
|
|
from
|
|
|
|
|
"user_metadata"
|
|
|
|
|
where
|
2025-07-14 10:13:06 -04:00
|
|
|
"user"."id" = "user_metadata"."userId"
|
2025-01-13 19:30:34 -06:00
|
|
|
) as agg
|
|
|
|
|
) as "metadata"
|
|
|
|
|
from
|
2025-07-14 10:13:06 -04:00
|
|
|
"user"
|
2025-01-13 19:30:34 -06:00
|
|
|
where
|
2025-07-14 10:13:06 -04:00
|
|
|
"user"."id" = $1
|
|
|
|
|
and "user"."deletedAt" is null
|
2025-01-13 19:30:34 -06:00
|
|
|
|
2023-11-30 10:10:30 -05:00
|
|
|
-- UserRepository.getAdmin
|
2025-01-13 19:30:34 -06:00
|
|
|
select
|
|
|
|
|
"id",
|
2025-03-17 15:32:12 -04:00
|
|
|
"name",
|
2025-01-13 19:30:34 -06:00
|
|
|
"email",
|
2025-04-28 09:54:51 -04:00
|
|
|
"avatarColor",
|
2025-01-13 19:30:34 -06:00
|
|
|
"profileImagePath",
|
2025-03-17 15:32:12 -04:00
|
|
|
"profileChangedAt",
|
|
|
|
|
"createdAt",
|
|
|
|
|
"updatedAt",
|
2025-01-13 19:30:34 -06:00
|
|
|
"deletedAt",
|
2025-03-17 15:32:12 -04:00
|
|
|
"isAdmin",
|
|
|
|
|
"status",
|
2025-01-13 19:30:34 -06:00
|
|
|
"oauthId",
|
2025-03-17 15:32:12 -04:00
|
|
|
"profileImagePath",
|
|
|
|
|
"shouldChangePassword",
|
2025-01-13 19:30:34 -06:00
|
|
|
"storageLabel",
|
|
|
|
|
"quotaSizeInBytes",
|
2025-04-10 15:53:21 +01:00
|
|
|
"quotaUsageInBytes",
|
|
|
|
|
(
|
|
|
|
|
select
|
|
|
|
|
coalesce(json_agg(agg), '[]')
|
|
|
|
|
from
|
|
|
|
|
(
|
|
|
|
|
select
|
|
|
|
|
"user_metadata"."key",
|
|
|
|
|
"user_metadata"."value"
|
|
|
|
|
from
|
|
|
|
|
"user_metadata"
|
|
|
|
|
where
|
2025-07-14 10:13:06 -04:00
|
|
|
"user"."id" = "user_metadata"."userId"
|
2025-04-10 15:53:21 +01:00
|
|
|
) as agg
|
|
|
|
|
) as "metadata"
|
2025-01-13 19:30:34 -06:00
|
|
|
from
|
2025-07-14 10:13:06 -04:00
|
|
|
"user"
|
2025-01-13 19:30:34 -06:00
|
|
|
where
|
2025-07-14 10:13:06 -04:00
|
|
|
"user"."isAdmin" = $1
|
|
|
|
|
and "user"."deletedAt" is null
|
2023-11-30 10:10:30 -05:00
|
|
|
|
2025-07-18 10:57:29 -04:00
|
|
|
-- UserRepository.getFileSamples
|
|
|
|
|
select
|
|
|
|
|
"id",
|
|
|
|
|
"profileImagePath"
|
|
|
|
|
from
|
|
|
|
|
"user"
|
|
|
|
|
where
|
|
|
|
|
"profileImagePath" != ''
|
|
|
|
|
limit
|
|
|
|
|
3
|
|
|
|
|
|
2023-11-30 10:10:30 -05:00
|
|
|
-- UserRepository.hasAdmin
|
2025-01-13 19:30:34 -06:00
|
|
|
select
|
2025-07-14 10:13:06 -04:00
|
|
|
"user"."id"
|
2025-01-13 19:30:34 -06:00
|
|
|
from
|
2025-07-14 10:13:06 -04:00
|
|
|
"user"
|
2025-01-13 19:30:34 -06:00
|
|
|
where
|
2025-07-14 10:13:06 -04:00
|
|
|
"user"."isAdmin" = $1
|
|
|
|
|
and "user"."deletedAt" is null
|
2023-11-30 10:10:30 -05:00
|
|
|
|
2025-05-09 16:00:58 -05:00
|
|
|
-- UserRepository.getForPinCode
|
|
|
|
|
select
|
2025-07-14 10:13:06 -04:00
|
|
|
"user"."pinCode",
|
|
|
|
|
"user"."password"
|
2025-05-09 16:00:58 -05:00
|
|
|
from
|
2025-07-14 10:13:06 -04:00
|
|
|
"user"
|
2025-05-09 16:00:58 -05:00
|
|
|
where
|
2025-07-14 10:13:06 -04:00
|
|
|
"user"."id" = $1
|
|
|
|
|
and "user"."deletedAt" is null
|
2025-05-09 16:00:58 -05:00
|
|
|
|
2025-06-27 16:52:04 -04:00
|
|
|
-- UserRepository.getForChangePassword
|
|
|
|
|
select
|
2025-07-14 10:13:06 -04:00
|
|
|
"user"."id",
|
|
|
|
|
"user"."password"
|
2025-06-27 16:52:04 -04:00
|
|
|
from
|
2025-07-14 10:13:06 -04:00
|
|
|
"user"
|
2025-06-27 16:52:04 -04:00
|
|
|
where
|
2025-07-14 10:13:06 -04:00
|
|
|
"user"."id" = $1
|
|
|
|
|
and "user"."deletedAt" is null
|
2025-06-27 16:52:04 -04:00
|
|
|
|
2023-11-30 10:10:30 -05:00
|
|
|
-- UserRepository.getByEmail
|
2025-01-13 19:30:34 -06:00
|
|
|
select
|
|
|
|
|
"id",
|
2025-03-17 15:32:12 -04:00
|
|
|
"name",
|
2025-01-13 19:30:34 -06:00
|
|
|
"email",
|
2025-04-28 09:54:51 -04:00
|
|
|
"avatarColor",
|
2025-01-13 19:30:34 -06:00
|
|
|
"profileImagePath",
|
2025-03-17 15:32:12 -04:00
|
|
|
"profileChangedAt",
|
|
|
|
|
"createdAt",
|
|
|
|
|
"updatedAt",
|
2025-01-13 19:30:34 -06:00
|
|
|
"deletedAt",
|
2025-03-17 15:32:12 -04:00
|
|
|
"isAdmin",
|
|
|
|
|
"status",
|
2025-01-13 19:30:34 -06:00
|
|
|
"oauthId",
|
2025-03-17 15:32:12 -04:00
|
|
|
"profileImagePath",
|
|
|
|
|
"shouldChangePassword",
|
2025-01-13 19:30:34 -06:00
|
|
|
"storageLabel",
|
|
|
|
|
"quotaSizeInBytes",
|
2025-04-10 15:53:21 +01:00
|
|
|
"quotaUsageInBytes",
|
|
|
|
|
(
|
|
|
|
|
select
|
|
|
|
|
coalesce(json_agg(agg), '[]')
|
|
|
|
|
from
|
|
|
|
|
(
|
|
|
|
|
select
|
|
|
|
|
"user_metadata"."key",
|
|
|
|
|
"user_metadata"."value"
|
|
|
|
|
from
|
|
|
|
|
"user_metadata"
|
|
|
|
|
where
|
2025-07-14 10:13:06 -04:00
|
|
|
"user"."id" = "user_metadata"."userId"
|
2025-04-10 15:53:21 +01:00
|
|
|
) as agg
|
|
|
|
|
) as "metadata"
|
2025-01-13 19:30:34 -06:00
|
|
|
from
|
2025-07-14 10:13:06 -04:00
|
|
|
"user"
|
2025-01-13 19:30:34 -06:00
|
|
|
where
|
|
|
|
|
"email" = $1
|
2025-07-14 10:13:06 -04:00
|
|
|
and "user"."deletedAt" is null
|
2023-11-30 10:10:30 -05:00
|
|
|
|
|
|
|
|
-- UserRepository.getByStorageLabel
|
2025-01-13 19:30:34 -06:00
|
|
|
select
|
|
|
|
|
"id",
|
2025-03-17 15:32:12 -04:00
|
|
|
"name",
|
2025-01-13 19:30:34 -06:00
|
|
|
"email",
|
2025-04-28 09:54:51 -04:00
|
|
|
"avatarColor",
|
2025-01-13 19:30:34 -06:00
|
|
|
"profileImagePath",
|
2025-03-17 15:32:12 -04:00
|
|
|
"profileChangedAt",
|
|
|
|
|
"createdAt",
|
|
|
|
|
"updatedAt",
|
2025-01-13 19:30:34 -06:00
|
|
|
"deletedAt",
|
2025-03-17 15:32:12 -04:00
|
|
|
"isAdmin",
|
|
|
|
|
"status",
|
2025-01-13 19:30:34 -06:00
|
|
|
"oauthId",
|
2025-03-17 15:32:12 -04:00
|
|
|
"profileImagePath",
|
|
|
|
|
"shouldChangePassword",
|
2025-01-13 19:30:34 -06:00
|
|
|
"storageLabel",
|
|
|
|
|
"quotaSizeInBytes",
|
2025-03-17 15:32:12 -04:00
|
|
|
"quotaUsageInBytes"
|
2025-01-13 19:30:34 -06:00
|
|
|
from
|
2025-07-14 10:13:06 -04:00
|
|
|
"user"
|
2025-01-13 19:30:34 -06:00
|
|
|
where
|
2025-07-14 10:13:06 -04:00
|
|
|
"user"."storageLabel" = $1
|
|
|
|
|
and "user"."deletedAt" is null
|
2023-11-30 10:10:30 -05:00
|
|
|
|
|
|
|
|
-- UserRepository.getByOAuthId
|
2025-01-13 19:30:34 -06:00
|
|
|
select
|
|
|
|
|
"id",
|
2025-03-17 15:32:12 -04:00
|
|
|
"name",
|
2025-01-13 19:30:34 -06:00
|
|
|
"email",
|
2025-04-28 09:54:51 -04:00
|
|
|
"avatarColor",
|
2025-01-13 19:30:34 -06:00
|
|
|
"profileImagePath",
|
2025-03-17 15:32:12 -04:00
|
|
|
"profileChangedAt",
|
|
|
|
|
"createdAt",
|
|
|
|
|
"updatedAt",
|
|
|
|
|
"deletedAt",
|
2025-01-13 19:30:34 -06:00
|
|
|
"isAdmin",
|
2025-03-17 15:32:12 -04:00
|
|
|
"status",
|
|
|
|
|
"oauthId",
|
|
|
|
|
"profileImagePath",
|
2025-01-13 19:30:34 -06:00
|
|
|
"shouldChangePassword",
|
2025-03-17 15:32:12 -04:00
|
|
|
"storageLabel",
|
|
|
|
|
"quotaSizeInBytes",
|
2025-04-10 15:53:21 +01:00
|
|
|
"quotaUsageInBytes",
|
|
|
|
|
(
|
|
|
|
|
select
|
|
|
|
|
coalesce(json_agg(agg), '[]')
|
|
|
|
|
from
|
|
|
|
|
(
|
|
|
|
|
select
|
|
|
|
|
"user_metadata"."key",
|
|
|
|
|
"user_metadata"."value"
|
|
|
|
|
from
|
|
|
|
|
"user_metadata"
|
|
|
|
|
where
|
2025-07-14 10:13:06 -04:00
|
|
|
"user"."id" = "user_metadata"."userId"
|
2025-04-10 15:53:21 +01:00
|
|
|
) as agg
|
|
|
|
|
) as "metadata"
|
2025-03-17 15:32:12 -04:00
|
|
|
from
|
2025-07-14 10:13:06 -04:00
|
|
|
"user"
|
2025-03-17 15:32:12 -04:00
|
|
|
where
|
2025-07-14 10:13:06 -04:00
|
|
|
"user"."oauthId" = $1
|
|
|
|
|
and "user"."deletedAt" is null
|
2025-03-17 15:32:12 -04:00
|
|
|
|
|
|
|
|
-- UserRepository.getDeletedAfter
|
|
|
|
|
select
|
|
|
|
|
"id"
|
|
|
|
|
from
|
2025-07-14 10:13:06 -04:00
|
|
|
"user"
|
2025-03-17 15:32:12 -04:00
|
|
|
where
|
2025-07-14 10:13:06 -04:00
|
|
|
"user"."deletedAt" < $1
|
2025-03-17 15:32:12 -04:00
|
|
|
|
|
|
|
|
-- UserRepository.getList (with deleted)
|
|
|
|
|
select
|
|
|
|
|
"id",
|
|
|
|
|
"name",
|
|
|
|
|
"email",
|
2025-04-28 09:54:51 -04:00
|
|
|
"avatarColor",
|
2025-03-17 15:32:12 -04:00
|
|
|
"profileImagePath",
|
|
|
|
|
"profileChangedAt",
|
|
|
|
|
"createdAt",
|
|
|
|
|
"updatedAt",
|
2025-01-13 19:30:34 -06:00
|
|
|
"deletedAt",
|
2025-03-17 15:32:12 -04:00
|
|
|
"isAdmin",
|
|
|
|
|
"status",
|
2025-01-13 19:30:34 -06:00
|
|
|
"oauthId",
|
2025-03-17 15:32:12 -04:00
|
|
|
"profileImagePath",
|
|
|
|
|
"shouldChangePassword",
|
2025-01-13 19:30:34 -06:00
|
|
|
"storageLabel",
|
|
|
|
|
"quotaSizeInBytes",
|
|
|
|
|
"quotaUsageInBytes",
|
2025-03-17 15:32:12 -04:00
|
|
|
(
|
|
|
|
|
select
|
|
|
|
|
coalesce(json_agg(agg), '[]')
|
|
|
|
|
from
|
|
|
|
|
(
|
|
|
|
|
select
|
2025-04-10 15:53:21 +01:00
|
|
|
"user_metadata"."key",
|
|
|
|
|
"user_metadata"."value"
|
2025-03-17 15:32:12 -04:00
|
|
|
from
|
|
|
|
|
"user_metadata"
|
|
|
|
|
where
|
2025-07-14 10:13:06 -04:00
|
|
|
"user"."id" = "user_metadata"."userId"
|
2025-03-17 15:32:12 -04:00
|
|
|
) as agg
|
|
|
|
|
) as "metadata"
|
|
|
|
|
from
|
2025-07-14 10:13:06 -04:00
|
|
|
"user"
|
2025-03-17 15:32:12 -04:00
|
|
|
order by
|
|
|
|
|
"createdAt" desc
|
|
|
|
|
|
|
|
|
|
-- UserRepository.getList (without deleted)
|
|
|
|
|
select
|
|
|
|
|
"id",
|
|
|
|
|
"name",
|
|
|
|
|
"email",
|
2025-04-28 09:54:51 -04:00
|
|
|
"avatarColor",
|
2025-03-17 15:32:12 -04:00
|
|
|
"profileImagePath",
|
|
|
|
|
"profileChangedAt",
|
|
|
|
|
"createdAt",
|
|
|
|
|
"updatedAt",
|
|
|
|
|
"deletedAt",
|
|
|
|
|
"isAdmin",
|
2025-01-13 19:30:34 -06:00
|
|
|
"status",
|
2025-03-17 15:32:12 -04:00
|
|
|
"oauthId",
|
|
|
|
|
"profileImagePath",
|
|
|
|
|
"shouldChangePassword",
|
|
|
|
|
"storageLabel",
|
|
|
|
|
"quotaSizeInBytes",
|
|
|
|
|
"quotaUsageInBytes",
|
|
|
|
|
(
|
|
|
|
|
select
|
|
|
|
|
coalesce(json_agg(agg), '[]')
|
|
|
|
|
from
|
|
|
|
|
(
|
|
|
|
|
select
|
2025-04-10 15:53:21 +01:00
|
|
|
"user_metadata"."key",
|
|
|
|
|
"user_metadata"."value"
|
2025-03-17 15:32:12 -04:00
|
|
|
from
|
|
|
|
|
"user_metadata"
|
|
|
|
|
where
|
2025-07-14 10:13:06 -04:00
|
|
|
"user"."id" = "user_metadata"."userId"
|
2025-03-17 15:32:12 -04:00
|
|
|
) as agg
|
|
|
|
|
) as "metadata"
|
2025-01-13 19:30:34 -06:00
|
|
|
from
|
2025-07-14 10:13:06 -04:00
|
|
|
"user"
|
2025-01-13 19:30:34 -06:00
|
|
|
where
|
2025-07-14 10:13:06 -04:00
|
|
|
"user"."deletedAt" is null
|
2025-03-17 15:32:12 -04:00
|
|
|
order by
|
|
|
|
|
"createdAt" desc
|
2023-11-30 10:10:30 -05:00
|
|
|
|
|
|
|
|
-- UserRepository.getUserStats
|
2025-01-13 19:30:34 -06:00
|
|
|
select
|
2025-07-14 10:13:06 -04:00
|
|
|
"user"."id" as "userId",
|
|
|
|
|
"user"."name" as "userName",
|
|
|
|
|
"user"."quotaSizeInBytes",
|
2025-01-13 19:30:34 -06:00
|
|
|
count(*) filter (
|
|
|
|
|
where
|
|
|
|
|
(
|
2025-07-14 10:13:06 -04:00
|
|
|
"asset"."type" = 'IMAGE'
|
|
|
|
|
and "asset"."visibility" != 'hidden'
|
2025-01-13 19:30:34 -06:00
|
|
|
)
|
|
|
|
|
) as "photos",
|
|
|
|
|
count(*) filter (
|
|
|
|
|
where
|
|
|
|
|
(
|
2025-07-14 10:13:06 -04:00
|
|
|
"asset"."type" = 'VIDEO'
|
|
|
|
|
and "asset"."visibility" != 'hidden'
|
2025-01-13 19:30:34 -06:00
|
|
|
)
|
|
|
|
|
) as "videos",
|
|
|
|
|
coalesce(
|
2025-07-14 10:13:06 -04:00
|
|
|
sum("asset_exif"."fileSizeInByte") filter (
|
2025-01-13 19:30:34 -06:00
|
|
|
where
|
2025-07-14 10:13:06 -04:00
|
|
|
"asset"."libraryId" is null
|
2024-06-08 06:56:11 -03:00
|
|
|
),
|
|
|
|
|
0
|
2025-01-13 19:30:34 -06:00
|
|
|
) as "usage",
|
|
|
|
|
coalesce(
|
2025-07-14 10:13:06 -04:00
|
|
|
sum("asset_exif"."fileSizeInByte") filter (
|
2025-01-13 19:30:34 -06:00
|
|
|
where
|
|
|
|
|
(
|
2025-07-14 10:13:06 -04:00
|
|
|
"asset"."libraryId" is null
|
|
|
|
|
and "asset"."type" = 'IMAGE'
|
2025-01-13 19:30:34 -06:00
|
|
|
)
|
2024-11-15 23:38:57 +01:00
|
|
|
),
|
|
|
|
|
0
|
2025-01-13 19:30:34 -06:00
|
|
|
) as "usagePhotos",
|
|
|
|
|
coalesce(
|
2025-07-14 10:13:06 -04:00
|
|
|
sum("asset_exif"."fileSizeInByte") filter (
|
2025-01-13 19:30:34 -06:00
|
|
|
where
|
|
|
|
|
(
|
2025-07-14 10:13:06 -04:00
|
|
|
"asset"."libraryId" is null
|
|
|
|
|
and "asset"."type" = 'VIDEO'
|
2025-01-13 19:30:34 -06:00
|
|
|
)
|
2024-11-15 23:38:57 +01:00
|
|
|
),
|
|
|
|
|
0
|
2025-01-13 19:30:34 -06:00
|
|
|
) as "usageVideos"
|
|
|
|
|
from
|
2025-07-14 10:13:06 -04:00
|
|
|
"user"
|
|
|
|
|
left join "asset" on "asset"."ownerId" = "user"."id"
|
|
|
|
|
and "asset"."deletedAt" is null
|
|
|
|
|
left join "asset_exif" on "asset_exif"."assetId" = "asset"."id"
|
2025-01-13 19:30:34 -06:00
|
|
|
group by
|
2025-07-14 10:13:06 -04:00
|
|
|
"user"."id"
|
2025-01-13 19:30:34 -06:00
|
|
|
order by
|
2025-07-14 10:13:06 -04:00
|
|
|
"user"."createdAt" asc
|
2024-01-15 09:04:29 -06:00
|
|
|
|
2024-05-03 15:34:57 -04:00
|
|
|
-- UserRepository.updateUsage
|
2025-07-14 10:13:06 -04:00
|
|
|
update "user"
|
2025-01-13 19:30:34 -06:00
|
|
|
set
|
|
|
|
|
"quotaUsageInBytes" = "quotaUsageInBytes" + $1,
|
|
|
|
|
"updatedAt" = $2
|
|
|
|
|
where
|
|
|
|
|
"id" = $3::uuid
|
2025-07-14 10:13:06 -04:00
|
|
|
and "user"."deletedAt" is null
|
2024-05-03 15:34:57 -04:00
|
|
|
|
2024-01-15 09:04:29 -06:00
|
|
|
-- UserRepository.syncUsage
|
2025-07-14 10:13:06 -04:00
|
|
|
update "user"
|
2025-01-13 19:30:34 -06:00
|
|
|
set
|
2024-01-15 09:04:29 -06:00
|
|
|
"quotaUsageInBytes" = (
|
2025-01-13 19:30:34 -06:00
|
|
|
select
|
2025-07-14 10:13:06 -04:00
|
|
|
coalesce(sum("asset_exif"."fileSizeInByte"), 0) as "usage"
|
2025-01-13 19:30:34 -06:00
|
|
|
from
|
2025-07-14 10:13:06 -04:00
|
|
|
"asset"
|
|
|
|
|
left join "asset_exif" on "asset_exif"."assetId" = "asset"."id"
|
2025-01-13 19:30:34 -06:00
|
|
|
where
|
2025-07-14 10:13:06 -04:00
|
|
|
"asset"."libraryId" is null
|
|
|
|
|
and "asset"."ownerId" = "user"."id"
|
2024-01-15 09:04:29 -06:00
|
|
|
),
|
2025-01-13 19:30:34 -06:00
|
|
|
"updatedAt" = $1
|
|
|
|
|
where
|
2025-07-14 10:13:06 -04:00
|
|
|
"user"."deletedAt" is null
|
|
|
|
|
and "user"."id" = $2::uuid
|