fix(mobile): deep links when using the beta timeline (#20111)

* fix: deep links when using the beta timeline

* Update remote_asset.repository.dart

* Update mobile/lib/domain/services/asset.service.dart

Co-authored-by: Alex <alex.tran1502@gmail.com>

* return optional from album get

* do not include trashed assets in album asset count

Co-authored-by: shenlong <139912620+shenlong-tanwen@users.noreply.github.com>

* formatting

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
Co-authored-by: shenlong <139912620+shenlong-tanwen@users.noreply.github.com>
This commit is contained in:
Brandon Wees
2025-07-25 12:02:49 -05:00
committed by GitHub
parent 2e0ee6ec05
commit f9292c9c96
7 changed files with 212 additions and 35 deletions
@@ -29,6 +29,33 @@ class RemoteAssetRepository extends DriftDatabaseRepository {
return query.map((row) => row.toDto()).get();
}
SingleOrNullSelectable<RemoteAsset?> _assetSelectable(String id) {
final query = _db.remoteAssetEntity.select().addColumns([
_db.localAssetEntity.id,
]).join([
leftOuterJoin(
_db.localAssetEntity,
_db.remoteAssetEntity.checksum.equalsExp(_db.localAssetEntity.checksum),
useColumns: false,
),
])
..where(_db.remoteAssetEntity.id.equals(id))
..limit(1);
return query.map((row) {
final asset = row.readTable(_db.remoteAssetEntity).toDto();
return asset.copyWith(localId: row.read(_db.localAssetEntity.id));
});
}
Stream<RemoteAsset?> watch(String id) {
return _assetSelectable(id).watchSingleOrNull();
}
Future<RemoteAsset?> get(String id) {
return _assetSelectable(id).getSingleOrNull();
}
Stream<RemoteAsset?> watchAsset(String id) {
final query = _db.remoteAssetEntity.select().addColumns([
_db.localAssetEntity.id,