From a3f7abd4dd0ecfc18ffef6d196a7ac40571cbfc9 Mon Sep 17 00:00:00 2001
From: cgeek <cem.moreau@gmail.com>
Date: Sat, 14 Jul 2018 16:29:40 +0200
Subject: [PATCH] [fix] dao: peers collection could contain empty peers

---
 app/lib/dal/indexDAL/loki/LokiPeer.ts | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/app/lib/dal/indexDAL/loki/LokiPeer.ts b/app/lib/dal/indexDAL/loki/LokiPeer.ts
index 7aef11957..c067aa297 100644
--- a/app/lib/dal/indexDAL/loki/LokiPeer.ts
+++ b/app/lib/dal/indexDAL/loki/LokiPeer.ts
@@ -8,6 +8,11 @@ export class LokiPeer extends LokiCollectionManager<DBPeer> implements PeerDAO {
     super(loki, 'peer', ['pubkey'])
   }
 
+  async init(): Promise<void> {
+    await super.init();
+    this.cleanEmptyPeers()
+  }
+
   cleanCache(): void {
   }
 
@@ -84,6 +89,14 @@ export class LokiPeer extends LokiCollectionManager<DBPeer> implements PeerDAO {
       .remove()
   }
 
+  async cleanEmptyPeers(): Promise<void> {
+    this.collection
+      .chain()
+      .find({})
+      .where(p => !p.endpoints || !p.endpoints.length)
+      .remove()
+  }
+
   async getPeersWithEndpointsLike(ep: string): Promise<DBPeer[]> {
     return this.collection
       .chain()
-- 
GitLab