about summary refs log tree commit diff
path: root/src/state/models/content/list-membership.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/state/models/content/list-membership.ts')
-rw-r--r--src/state/models/content/list-membership.ts9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/state/models/content/list-membership.ts b/src/state/models/content/list-membership.ts
index 20d9b60af..135d34dd5 100644
--- a/src/state/models/content/list-membership.ts
+++ b/src/state/models/content/list-membership.ts
@@ -110,14 +110,21 @@ export class ListMembershipModel {
     })
   }
 
-  async updateTo(uris: string[]) {
+  async updateTo(
+    uris: string[],
+  ): Promise<{added: string[]; removed: string[]}> {
+    const added = []
+    const removed = []
     for (const uri of uris) {
       await this.add(uri)
+      added.push(uri)
     }
     for (const membership of this.memberships) {
       if (!uris.includes(membership.value.list)) {
         await this.remove(membership.value.list)
+        removed.push(membership.value.list)
       }
     }
+    return {added, removed}
   }
 }