mirror-immich/e2e
Timon 1fcc2b704b
feat(server)!: add isOwned filter to albums API (#28213)
* feat(server)!: add owned filter to albums API

BREAKING CHANGE: GET /albums with no parameters now returns all accessible albums (owned + shared-with-me) instead of only owned albums.

* document tri-state matrix

* web impl

* collapse to single method and handover branching to sql

* dedupe

* verify that owned, shared, and notShared counts are mapped independently from their respective queries

* refactor(server): add select:['id'] overload to albumRepository.getAll

Avoid fetching full album rows (with albumUsers/sharedLinks subqueries) in map.service where only album IDs are needed.

* focus relevant test filters

* fmt

* Revert "verify that owned, shared, and notShared counts are mapped independently from their respective queries"

This reverts commit 47aab458192c766de4662aada5a6841b091d2a80.

* sync sql

* Revert "document tri-state matrix"

This reverts commit a5b2355d0c6a084f2c021d517bf5ee80123d108c.

* address review comments

* inline shared condition and return as ternary

* sync sql

* use [...albums].sort

Array.toSorted() is not supported in Chrome 109

* use isShared and isOwned nomenclature

* fix e2e tests

* add params to sql query
2026-05-07 12:13:07 -04:00
..
src feat(server)!: add isOwned filter to albums API (#28213) 2026-05-07 12:13:07 -04:00
test-assets@6742055402 feat(server): track video metadata (#28023) 2026-05-01 17:03:49 +00:00
.gitignore feat: timeline e2e tests (#23895) 2025-11-18 21:08:55 -06:00
.nvmrc chore(deps): update node.js to v24.15.0 (#28006) 2026-04-21 09:47:32 +00:00
.prettierignore chore: linting (#7532) 2024-02-29 11:26:55 -05:00
.prettierrc chore: linting (#7532) 2024-02-29 11:26:55 -05:00
docker-compose.dev.yml fix: development containers init race conditions (#25876) 2026-02-16 18:34:42 -05:00
docker-compose.yml chore(deps): update docker.io/valkey/valkey:9 docker digest to 3b55fba (#27559) 2026-04-07 11:48:06 +02:00
eslint.config.mjs chore: finish migrating eslint config files; bump unicorn (#17200) 2025-03-31 12:18:25 +01:00
mise.toml feat: mise monorepo tasks (#23691) 2025-11-10 15:55:15 +01:00
package.json chore(deps): update node.js to v24.15.0 (#28006) 2026-04-21 09:47:32 +00:00
playwright.config.ts chore: run maintenance test (e2e) in isolation too, share containers (#26246) 2026-02-18 09:39:13 -05:00
tsconfig.json chore(deps): update dependency typescript to v6 (#27577) 2026-04-07 17:15:55 +02:00
vitest.config.ts chore: vitest 4 for web, cli, and e2e (#26668) 2026-03-04 14:19:13 +00:00
vitest.maintenance.config.ts chore: vitest 4 for web, cli, and e2e (#26668) 2026-03-04 14:19:13 +00:00