immich/server/src/queries/activity.repository.sql

88 lines
1.7 KiB
MySQL
Raw Normal View History

-- NOTE: This file is auto generated by ./sql-generator
-- ActivityRepository.search
select
"activity".*,
to_json("user") as "user"
from
"activity"
inner join "users" on "users"."id" = "activity"."userId"
and "users"."deletedAt" is null
inner join lateral (
select
"users"."id",
"users"."name",
"users"."email",
2025-04-28 09:54:51 -04:00
"users"."avatarColor",
"users"."profileImagePath",
"users"."profileChangedAt"
from
(
select
1
) as "dummy"
) as "user" on true
left join "assets" on "assets"."id" = "activity"."assetId"
where
"activity"."albumId" = $1
and "assets"."deletedAt" is null
order by
"activity"."createdAt" asc
-- ActivityRepository.create
insert into
"activity" ("albumId", "userId")
values
($1, $2)
returning
*,
(
select
to_json(obj)
from
(
select
2025-01-15 23:31:26 -05:00
"id",
"name",
"email",
2025-04-28 09:54:51 -04:00
"avatarColor",
2025-01-15 23:31:26 -05:00
"profileImagePath",
"profileChangedAt"
from
"users"
where
"users"."id" = "activity"."userId"
) as obj
) as "user"
-- ActivityRepository.delete
delete from "activity"
where
"id" = $1::uuid
-- ActivityRepository.getStatistics
select
count(*) filter (
where
"activity"."isLiked" = $1
) as "comments",
count(*) filter (
where
"activity"."isLiked" = $2
) as "likes"
from
"activity"
2025-01-10 00:14:36 +01:00
inner join "users" on "users"."id" = "activity"."userId"
and "users"."deletedAt" is null
left join "assets" on "assets"."id" = "activity"."assetId"
where
"activity"."assetId" = $3
and "activity"."albumId" = $4
and (
(
"assets"."deletedAt" is null
and "assets"."visibility" != 'locked'
)
or "assets"."id" is null
)