mirror of
https://github.com/samsonjs/immich.git
synced 2026-04-27 15:07:45 +00:00
fix: null local date time in timeline queries (#26133)
* fix: null local date time in timeline queries * refactor effectiveCreatedAt --------- Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
This commit is contained in:
parent
420cd5193b
commit
ec4de54ea2
1 changed files with 10 additions and 5 deletions
|
|
@ -203,7 +203,7 @@ class DriftTimelineRepository extends DriftDatabaseRepository {
|
||||||
final album = albums.first;
|
final album = albums.first;
|
||||||
final isAscending = album.order == AlbumAssetOrder.asc;
|
final isAscending = album.order == AlbumAssetOrder.asc;
|
||||||
final assetCountExp = _db.remoteAssetEntity.id.count();
|
final assetCountExp = _db.remoteAssetEntity.id.count();
|
||||||
final dateExp = _db.remoteAssetEntity.localDateTime.dateFmt(groupBy);
|
final dateExp = _db.remoteAssetEntity.effectiveCreatedAt(groupBy);
|
||||||
|
|
||||||
final query = _db.remoteAssetEntity.selectOnly()
|
final query = _db.remoteAssetEntity.selectOnly()
|
||||||
..addColumns([assetCountExp, dateExp])
|
..addColumns([assetCountExp, dateExp])
|
||||||
|
|
@ -361,7 +361,7 @@ class DriftTimelineRepository extends DriftDatabaseRepository {
|
||||||
}
|
}
|
||||||
|
|
||||||
final assetCountExp = _db.remoteAssetEntity.id.count();
|
final assetCountExp = _db.remoteAssetEntity.id.count();
|
||||||
final dateExp = _db.remoteAssetEntity.localDateTime.dateFmt(groupBy);
|
final dateExp = _db.remoteAssetEntity.effectiveCreatedAt(groupBy);
|
||||||
|
|
||||||
final query = _db.remoteAssetEntity.selectOnly()
|
final query = _db.remoteAssetEntity.selectOnly()
|
||||||
..addColumns([assetCountExp, dateExp])
|
..addColumns([assetCountExp, dateExp])
|
||||||
|
|
@ -431,7 +431,7 @@ class DriftTimelineRepository extends DriftDatabaseRepository {
|
||||||
}
|
}
|
||||||
|
|
||||||
final assetCountExp = _db.remoteAssetEntity.id.count();
|
final assetCountExp = _db.remoteAssetEntity.id.count();
|
||||||
final dateExp = _db.remoteAssetEntity.localDateTime.dateFmt(groupBy);
|
final dateExp = _db.remoteAssetEntity.effectiveCreatedAt(groupBy);
|
||||||
|
|
||||||
final query = _db.remoteAssetEntity.selectOnly()
|
final query = _db.remoteAssetEntity.selectOnly()
|
||||||
..addColumns([assetCountExp, dateExp])
|
..addColumns([assetCountExp, dateExp])
|
||||||
|
|
@ -501,7 +501,7 @@ class DriftTimelineRepository extends DriftDatabaseRepository {
|
||||||
}
|
}
|
||||||
|
|
||||||
final assetCountExp = _db.remoteAssetEntity.id.count();
|
final assetCountExp = _db.remoteAssetEntity.id.count();
|
||||||
final dateExp = _db.remoteAssetEntity.localDateTime.dateFmt(groupBy);
|
final dateExp = _db.remoteAssetEntity.effectiveCreatedAt(groupBy);
|
||||||
|
|
||||||
final query = _db.remoteAssetEntity.selectOnly()
|
final query = _db.remoteAssetEntity.selectOnly()
|
||||||
..addColumns([assetCountExp, dateExp])
|
..addColumns([assetCountExp, dateExp])
|
||||||
|
|
@ -603,7 +603,7 @@ class DriftTimelineRepository extends DriftDatabaseRepository {
|
||||||
}
|
}
|
||||||
|
|
||||||
final assetCountExp = _db.remoteAssetEntity.id.count();
|
final assetCountExp = _db.remoteAssetEntity.id.count();
|
||||||
final dateExp = _db.remoteAssetEntity.localDateTime.dateFmt(groupBy);
|
final dateExp = _db.remoteAssetEntity.effectiveCreatedAt(groupBy);
|
||||||
|
|
||||||
final query = _db.remoteAssetEntity.selectOnly()
|
final query = _db.remoteAssetEntity.selectOnly()
|
||||||
..addColumns([assetCountExp, dateExp])
|
..addColumns([assetCountExp, dateExp])
|
||||||
|
|
@ -678,6 +678,11 @@ extension on Expression<DateTime> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extension on $RemoteAssetEntityTable {
|
||||||
|
Expression<String> effectiveCreatedAt(GroupAssetsBy groupBy) =>
|
||||||
|
coalesce([localDateTime.dateFmt(groupBy), createdAt.dateFmt(groupBy, toLocal: true)]);
|
||||||
|
}
|
||||||
|
|
||||||
extension on String {
|
extension on String {
|
||||||
DateTime truncateDate(GroupAssetsBy groupBy) {
|
DateTime truncateDate(GroupAssetsBy groupBy) {
|
||||||
final format = switch (groupBy) {
|
final format = switch (groupBy) {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue