-- NOTE: This file is auto generated by ./sql-generator

-- MemoryRepository.search
select
  *
from
  "memories"
where
  "ownerId" = $1
order by
  "memoryAt" desc

-- MemoryRepository.get
select
  "memories".*,
  (
    select
      coalesce(json_agg(agg), '[]')
    from
      (
        select
          "assets".*
        from
          "assets"
          inner join "memories_assets_assets" on "assets"."id" = "memories_assets_assets"."assetsId"
        where
          "memories_assets_assets"."memoriesId" = "memories"."id"
          and "assets"."deletedAt" is null
      ) as agg
  ) as "assets"
from
  "memories"
where
  "id" = $1
  and "deletedAt" is null

-- MemoryRepository.update
update "memories"
set
  "ownerId" = $1,
  "isSaved" = $2
where
  "id" = $3
select
  "memories".*,
  (
    select
      coalesce(json_agg(agg), '[]')
    from
      (
        select
          "assets".*
        from
          "assets"
          inner join "memories_assets_assets" on "assets"."id" = "memories_assets_assets"."assetsId"
        where
          "memories_assets_assets"."memoriesId" = "memories"."id"
          and "assets"."deletedAt" is null
      ) as agg
  ) as "assets"
from
  "memories"
where
  "id" = $1
  and "deletedAt" is null

-- MemoryRepository.delete
delete from "memories"
where
  "id" = $1

-- MemoryRepository.getAssetIds
select
  "assetsId"
from
  "memories_assets_assets"
where
  "memoriesId" = $1
  and "assetsId" in ($2)
