mirror of
https://github.com/immich-app/immich.git
synced 2025-06-23 15:30:51 -04:00
* wip: timeline * more segment extensions * added scrubber * refactor: timeline state * more refactors * fix scrubber segments * added remote thumb & thumbhash provider * feat: merged view * scrub / merged asset fixes * rename stuff & add tile indicators * fix local album timeline query * ignore hidden assets during sync * ignore recovered assets during sync * old scrubber * add video indicator * handle groupBy * handle partner inTimeline * show duration * reduce widget nesting in thumb tile * merge main * chore: extend cacheExtent * ignore touch events on scrub label when not visible * scrub label ignore events and hide immediately * auto reload on sync * refactor image providers * throttle db updates --------- Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com> Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
82 lines
1.5 KiB
Plaintext
82 lines
1.5 KiB
Plaintext
import 'remote_asset.entity.dart';
|
|
import 'local_asset.entity.dart';
|
|
|
|
mergedAsset: SELECT * FROM
|
|
(
|
|
SELECT
|
|
rae.id as remote_id,
|
|
lae.id as local_id,
|
|
rae.name,
|
|
rae."type",
|
|
rae.created_at,
|
|
rae.updated_at,
|
|
rae.width,
|
|
rae.height,
|
|
rae.duration_in_seconds,
|
|
rae.is_favorite,
|
|
rae.thumb_hash,
|
|
rae.checksum,
|
|
rae.owner_id
|
|
FROM
|
|
remote_asset_entity rae
|
|
LEFT JOIN
|
|
local_asset_entity lae ON rae.checksum = lae.checksum
|
|
WHERE
|
|
rae.visibility = 0 AND rae.owner_id in ?
|
|
UNION ALL
|
|
SELECT
|
|
NULL as remote_id,
|
|
lae.id as local_id,
|
|
lae.name,
|
|
lae."type",
|
|
lae.created_at,
|
|
lae.updated_at,
|
|
lae.width,
|
|
lae.height,
|
|
lae.duration_in_seconds,
|
|
lae.is_favorite,
|
|
NULL as thumb_hash,
|
|
lae.checksum,
|
|
NULL as owner_id
|
|
FROM
|
|
local_asset_entity lae
|
|
LEFT JOIN
|
|
remote_asset_entity rae ON rae.checksum = lae.checksum
|
|
WHERE
|
|
rae.id IS NULL
|
|
)
|
|
ORDER BY created_at DESC
|
|
LIMIT $limit;
|
|
|
|
mergedBucket(:group_by AS INTEGER):
|
|
SELECT
|
|
COUNT(*) as asset_count,
|
|
CASE
|
|
WHEN :group_by = 0 THEN STRFTIME('%Y-%m-%d', created_at) -- day
|
|
WHEN :group_by = 1 THEN STRFTIME('%Y-%m', created_at) -- month
|
|
END AS bucket_date
|
|
FROM
|
|
(
|
|
SELECT
|
|
rae.name,
|
|
rae.created_at
|
|
FROM
|
|
remote_asset_entity rae
|
|
LEFT JOIN
|
|
local_asset_entity lae ON rae.checksum = lae.checksum
|
|
WHERE
|
|
rae.visibility = 0 AND rae.owner_id in ?
|
|
UNION ALL
|
|
SELECT
|
|
lae.name,
|
|
lae.created_at
|
|
FROM
|
|
local_asset_entity lae
|
|
LEFT JOIN
|
|
remote_asset_entity rae ON rae.checksum = lae.checksum
|
|
WHERE
|
|
rae.id IS NULL
|
|
)
|
|
GROUP BY bucket_date
|
|
ORDER BY bucket_date DESC;
|