mirror of
https://git.vectorsigma.ru/public/immich.git
synced 2026-08-08 07:38:31 +00:00
* Allow submission of null country
* Update searchAssetBuilder to handle nulls
andWhere({country:null}) produces `"exifInfo"."country" = NULL`. We want
`"exifInfo"."country" IS NULL`, so we have to treat NULL as a special
case
* Allow null country in frontend
* Make the query code a bit more straightforward
* Remove unused brackets import
* Remove log message
* Don't change whitespace for no reason
* Fix prettier style issue
* Update search.dto.ts validators per @jrasm91's recommendation
* Update api types
* Combine null country and state into one guard clause
* chore: clean up
* chore: add e2e for null/empty city, state, country search
* refactor: server returns suggestion for null values
* chore: clean up
---------
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
Co-authored-by: Jason Rasmussen <jason@rasm.me>
57 lines
1.4 KiB
SQL
57 lines
1.4 KiB
SQL
-- NOTE: This file is auto generated by ./sql-generator
|
|
|
|
-- MetadataRepository.getCountries
|
|
SELECT DISTINCT
|
|
ON ("exif"."country") "exif"."country" AS "country"
|
|
FROM
|
|
"exif" "exif"
|
|
LEFT JOIN "assets" "asset" ON "asset"."id" = "exif"."assetId"
|
|
AND ("asset"."deletedAt" IS NULL)
|
|
WHERE
|
|
"asset"."ownerId" = $1
|
|
|
|
-- MetadataRepository.getStates
|
|
SELECT DISTINCT
|
|
ON ("exif"."state") "exif"."state" AS "state"
|
|
FROM
|
|
"exif" "exif"
|
|
LEFT JOIN "assets" "asset" ON "asset"."id" = "exif"."assetId"
|
|
AND ("asset"."deletedAt" IS NULL)
|
|
WHERE
|
|
"asset"."ownerId" = $1
|
|
AND "exif"."country" = $2
|
|
|
|
-- MetadataRepository.getCities
|
|
SELECT DISTINCT
|
|
ON ("exif"."city") "exif"."city" AS "city"
|
|
FROM
|
|
"exif" "exif"
|
|
LEFT JOIN "assets" "asset" ON "asset"."id" = "exif"."assetId"
|
|
AND ("asset"."deletedAt" IS NULL)
|
|
WHERE
|
|
"asset"."ownerId" = $1
|
|
AND "exif"."country" = $2
|
|
AND "exif"."state" = $3
|
|
|
|
-- MetadataRepository.getCameraMakes
|
|
SELECT DISTINCT
|
|
ON ("exif"."make") "exif"."make" AS "make"
|
|
FROM
|
|
"exif" "exif"
|
|
LEFT JOIN "assets" "asset" ON "asset"."id" = "exif"."assetId"
|
|
AND ("asset"."deletedAt" IS NULL)
|
|
WHERE
|
|
"asset"."ownerId" = $1
|
|
AND "exif"."model" = $2
|
|
|
|
-- MetadataRepository.getCameraModels
|
|
SELECT DISTINCT
|
|
ON ("exif"."model") "exif"."model" AS "model"
|
|
FROM
|
|
"exif" "exif"
|
|
LEFT JOIN "assets" "asset" ON "asset"."id" = "exif"."assetId"
|
|
AND ("asset"."deletedAt" IS NULL)
|
|
WHERE
|
|
"asset"."ownerId" = $1
|
|
AND "exif"."make" = $2
|