2025-02-21 09:01:46 -06:00
|
|
|
import 'package:immich_mobile/entities/album.entity.dart';
|
2025-02-25 11:33:48 -06:00
|
|
|
import 'package:immich_mobile/entities/asset.entity.dart';
|
2025-02-21 09:01:46 -06:00
|
|
|
import 'package:immich_mobile/widgets/asset_grid/asset_grid_data_structure.dart';
|
|
|
|
|
|
|
|
abstract class ITimelineRepository {
|
2025-03-18 21:35:37 +05:30
|
|
|
Future<List<String>> getTimelineUserIds(String id);
|
2025-03-03 20:40:09 +05:30
|
|
|
|
2025-03-18 21:35:37 +05:30
|
|
|
Stream<List<String>> watchTimelineUsers(String id);
|
2025-03-03 20:40:09 +05:30
|
|
|
|
2025-03-18 21:35:37 +05:30
|
|
|
Stream<RenderList> watchArchiveTimeline(String userId);
|
|
|
|
Stream<RenderList> watchFavoriteTimeline(String userId);
|
|
|
|
Stream<RenderList> watchTrashTimeline(String userId);
|
2025-02-25 23:10:08 +08:00
|
|
|
Stream<RenderList> watchAlbumTimeline(
|
|
|
|
Album album,
|
|
|
|
GroupAssetsBy groupAssetsBy,
|
|
|
|
);
|
2025-02-21 09:01:46 -06:00
|
|
|
Stream<RenderList> watchAllVideosTimeline();
|
|
|
|
|
2025-03-18 21:35:37 +05:30
|
|
|
Stream<RenderList> watchHomeTimeline(
|
|
|
|
String userId,
|
|
|
|
GroupAssetsBy groupAssetsBy,
|
|
|
|
);
|
2025-02-21 09:01:46 -06:00
|
|
|
Stream<RenderList> watchMultiUsersTimeline(
|
2025-03-18 21:35:37 +05:30
|
|
|
List<String> userIds,
|
2025-02-21 09:01:46 -06:00
|
|
|
GroupAssetsBy groupAssetsBy,
|
|
|
|
);
|
2025-02-25 11:33:48 -06:00
|
|
|
|
|
|
|
Future<RenderList> getTimelineFromAssets(
|
|
|
|
List<Asset> assets,
|
|
|
|
GroupAssetsBy getGroupByOption,
|
|
|
|
);
|
|
|
|
|
2025-03-18 21:35:37 +05:30
|
|
|
Stream<RenderList> watchAssetSelectionTimeline(String userId);
|
2025-02-21 09:01:46 -06:00
|
|
|
}
|