mirror of
https://github.com/immich-app/immich.git
synced 2025-07-09 03:04:16 -04:00
feat: new mobile asset sync
This commit is contained in:
parent
36ca115f52
commit
6cba86f339
@ -23,24 +23,26 @@ class SyncStreamService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_isUserSyncing = true;
|
_isUserSyncing = true;
|
||||||
|
final Map<String, String> acks = {};
|
||||||
_userSyncSubscription = _syncApiRepository.watchUserSyncEvent().listen(
|
_userSyncSubscription = _syncApiRepository.watchUserSyncEvent().listen(
|
||||||
(events) async {
|
(events) async {
|
||||||
for (final event in events) {
|
for (final event in events) {
|
||||||
if (event.data is SyncUserV1) {
|
if (event.data is SyncUserV1) {
|
||||||
final data = event.data as SyncUserV1;
|
// final data = event.data as SyncUserV1;
|
||||||
debugPrint("User Update: $data");
|
|
||||||
|
|
||||||
// await _syncApiRepository.ack(event.ack);
|
acks['SyncUserV1'] = event.ack;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (event.data is SyncUserDeleteV1) {
|
if (event.data is SyncUserDeleteV1) {
|
||||||
final data = event.data as SyncUserDeleteV1;
|
// final data = event.data as SyncUserDeleteV1;
|
||||||
|
|
||||||
debugPrint("User delete: $data");
|
acks['SyncUserDeleteV1'] = event.ack;
|
||||||
// await _syncApiRepository.ack(event.ack);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
await _syncApiRepository.ack(events.last.ack);
|
|
||||||
|
for (final ack in acks.values) {
|
||||||
|
await _syncApiRepository.ack(ack);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
onDone: () {
|
onDone: () {
|
||||||
_isUserSyncing = false;
|
_isUserSyncing = false;
|
||||||
@ -58,6 +60,7 @@ class SyncStreamService {
|
|||||||
}
|
}
|
||||||
_isAssetSyncing = true;
|
_isAssetSyncing = true;
|
||||||
int eventCount = 0;
|
int eventCount = 0;
|
||||||
|
final Map<String, String> acks = {};
|
||||||
|
|
||||||
_assetSyncSubscription = _syncApiRepository.watchAssetSyncEvent().listen(
|
_assetSyncSubscription = _syncApiRepository.watchAssetSyncEvent().listen(
|
||||||
(events) async {
|
(events) async {
|
||||||
@ -66,17 +69,18 @@ class SyncStreamService {
|
|||||||
for (final event in events) {
|
for (final event in events) {
|
||||||
if (event.data is SyncAssetV1) {
|
if (event.data is SyncAssetV1) {
|
||||||
// final data = event.data as SyncAssetV1;
|
// final data = event.data as SyncAssetV1;
|
||||||
// await _syncApiRepository.ack(event.ack);
|
acks['SyncAssetV1'] = event.ack;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (event.data is SyncAssetDeleteV1) {
|
if (event.data is SyncAssetDeleteV1) {
|
||||||
// final data = event.data as SyncAssetDeleteV1;
|
// final data = event.data as SyncAssetDeleteV1;
|
||||||
|
acks['SyncAssetDeleteV1'] = event.ack;
|
||||||
// debugPrint("Asset delete: $data");
|
|
||||||
// await _syncApiRepository.ack(event.ack);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
await _syncApiRepository.ack(events.last.ack);
|
|
||||||
|
for (final ack in acks.values) {
|
||||||
|
await _syncApiRepository.ack(ack);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
onDone: () {
|
onDone: () {
|
||||||
_isAssetSyncing = false;
|
_isAssetSyncing = false;
|
||||||
@ -95,6 +99,7 @@ class SyncStreamService {
|
|||||||
|
|
||||||
_isExifSyncing = true;
|
_isExifSyncing = true;
|
||||||
int eventCount = 0;
|
int eventCount = 0;
|
||||||
|
final Map<String, String> acks = {};
|
||||||
|
|
||||||
_exifSyncSubscription = _syncApiRepository.watchExifSyncEvent().listen(
|
_exifSyncSubscription = _syncApiRepository.watchExifSyncEvent().listen(
|
||||||
(events) async {
|
(events) async {
|
||||||
@ -104,10 +109,13 @@ class SyncStreamService {
|
|||||||
if (event.data is SyncAssetExifV1) {
|
if (event.data is SyncAssetExifV1) {
|
||||||
// final data = event.data as SyncAssetExifV1;
|
// final data = event.data as SyncAssetExifV1;
|
||||||
|
|
||||||
// await _syncApiRepository.ack(event.ack);
|
acks['SyncAssetExifV1'] = event.ack;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
await _syncApiRepository.ack(events.last.ack);
|
|
||||||
|
for (final ack in acks.values) {
|
||||||
|
await _syncApiRepository.ack(ack);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
onDone: () {
|
onDone: () {
|
||||||
_isExifSyncing = false;
|
_isExifSyncing = false;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user