drift(mobile): drift auth user sync
This commit is contained in:
@@ -95,7 +95,7 @@ class AlbumRepository extends DatabaseRepository {
|
||||
}
|
||||
|
||||
Future<void> removeUsers(Album album, List<UserDto> users) => txn(
|
||||
() => album.sharedUsers.update(unlink: users.map(entity.User.fromDto)),
|
||||
() => album.sharedUsers.update(unlink: users.map(entity.IsarUser.fromDto)),
|
||||
);
|
||||
|
||||
Future<void> addAssets(Album album, List<Asset> assets) => txn(() => album.assets.update(link: assets));
|
||||
@@ -109,8 +109,9 @@ class AlbumRepository extends DatabaseRepository {
|
||||
return album;
|
||||
}
|
||||
|
||||
Future<void> addUsers(Album album, List<UserDto> users) =>
|
||||
txn(() => album.sharedUsers.update(link: users.map(entity.User.fromDto)));
|
||||
Future<void> addUsers(Album album, List<UserDto> users) => txn(
|
||||
() => album.sharedUsers.update(link: users.map(entity.IsarUser.fromDto)),
|
||||
);
|
||||
|
||||
Future<void> deleteAllLocal() => txn(() => db.albums.where().localIdIsNotNull().deleteAll());
|
||||
|
||||
|
||||
@@ -177,10 +177,10 @@ class AlbumApiRepository extends ApiRepository {
|
||||
sortOrder: dto.order == AssetOrder.asc ? SortOrder.asc : SortOrder.desc,
|
||||
);
|
||||
album.remoteAssetCount = dto.assetCount;
|
||||
album.owner.value = entity.User.fromDto(UserConverter.fromSimpleUserDto(dto.owner));
|
||||
album.owner.value = entity.IsarUser.fromDto(UserConverter.fromSimpleUserDto(dto.owner));
|
||||
album.remoteThumbnailAssetId = dto.albumThumbnailAssetId;
|
||||
final users = dto.albumUsers.map((albumUser) => UserConverter.fromSimpleUserDto(albumUser.user));
|
||||
album.sharedUsers.addAll(users.map(entity.User.fromDto));
|
||||
album.sharedUsers.addAll(users.map(entity.IsarUser.fromDto));
|
||||
final assets = dto.assets.map(Asset.remote).toList();
|
||||
album.assets.addAll(assets);
|
||||
|
||||
|
||||
@@ -99,7 +99,7 @@ class AlbumMediaRepository {
|
||||
shared: false,
|
||||
activityEnabled: false,
|
||||
);
|
||||
album.owner.value = User.fromDto(Store.get(StoreKey.currentUser));
|
||||
album.owner.value = IsarUser.fromDto(Store.get(StoreKey.currentUser));
|
||||
album.localId = assetPathEntity.id;
|
||||
album.isAll = assetPathEntity.isAll;
|
||||
return album;
|
||||
|
||||
@@ -43,6 +43,7 @@ class AuthRepository extends DatabaseRepository {
|
||||
_drift.remoteAlbumEntity.deleteAll(),
|
||||
_drift.remoteAssetEntity.deleteAll(),
|
||||
_drift.userEntity.deleteAll(),
|
||||
_drift.authUserEntity.deleteAll(),
|
||||
]);
|
||||
|
||||
return db.writeTxn(() {
|
||||
@@ -51,7 +52,7 @@ class AuthRepository extends DatabaseRepository {
|
||||
db.exifInfos.clear(),
|
||||
db.albums.clear(),
|
||||
db.eTags.clear(),
|
||||
db.users.clear(),
|
||||
db.isarUsers.clear(),
|
||||
]);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -13,22 +13,24 @@ class PartnerRepository extends DatabaseRepository {
|
||||
const PartnerRepository(super.db);
|
||||
|
||||
Future<List<UserDto>> getSharedBy() async {
|
||||
return (await db.users.filter().isPartnerSharedByEqualTo(true).sortById().findAll()).map((u) => u.toDto()).toList();
|
||||
return (await db.isarUsers.filter().isPartnerSharedByEqualTo(true).sortById().findAll())
|
||||
.map((u) => u.toDto())
|
||||
.toList();
|
||||
}
|
||||
|
||||
Future<List<UserDto>> getSharedWith() async {
|
||||
return (await db.users.filter().isPartnerSharedWithEqualTo(true).sortById().findAll())
|
||||
return (await db.isarUsers.filter().isPartnerSharedWithEqualTo(true).sortById().findAll())
|
||||
.map((u) => u.toDto())
|
||||
.toList();
|
||||
}
|
||||
|
||||
Stream<List<UserDto>> watchSharedBy() {
|
||||
return (db.users.filter().isPartnerSharedByEqualTo(true).sortById().watch())
|
||||
return (db.isarUsers.filter().isPartnerSharedByEqualTo(true).sortById().watch())
|
||||
.map((users) => users.map((u) => u.toDto()).toList());
|
||||
}
|
||||
|
||||
Stream<List<UserDto>> watchSharedWith() {
|
||||
return (db.users.filter().isPartnerSharedWithEqualTo(true).sortById().watch())
|
||||
return (db.isarUsers.filter().isPartnerSharedWithEqualTo(true).sortById().watch())
|
||||
.map((users) => users.map((u) => u.toDto()).toList());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,11 +15,11 @@ class TimelineRepository extends DatabaseRepository {
|
||||
const TimelineRepository(super.db);
|
||||
|
||||
Future<List<String>> getTimelineUserIds(String id) {
|
||||
return db.users.filter().inTimelineEqualTo(true).or().idEqualTo(id).idProperty().findAll();
|
||||
return db.isarUsers.filter().inTimelineEqualTo(true).or().idEqualTo(id).idProperty().findAll();
|
||||
}
|
||||
|
||||
Stream<List<String>> watchTimelineUsers(String id) {
|
||||
return db.users.filter().inTimelineEqualTo(true).or().idEqualTo(id).idProperty().watch();
|
||||
return db.isarUsers.filter().inTimelineEqualTo(true).or().idEqualTo(id).idProperty().watch();
|
||||
}
|
||||
|
||||
Stream<RenderList> watchArchiveTimeline(String userId) {
|
||||
|
||||
Reference in New Issue
Block a user