From bbb498718a5a6d5116d6a204169daae224b863aa Mon Sep 17 00:00:00 2001 From: cgeek <cem.moreau@gmail.com> Date: Mon, 22 Aug 2022 13:01:28 +0200 Subject: [PATCH] fix(1434): put back value of `expires_on`, not `expired_on` --- .../indexers/LevelMIndexExpiresOnIndexer.ts | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/app/lib/dal/indexDAL/leveldb/indexers/LevelMIndexExpiresOnIndexer.ts b/app/lib/dal/indexDAL/leveldb/indexers/LevelMIndexExpiresOnIndexer.ts index 483a85951..a72e77acf 100644 --- a/app/lib/dal/indexDAL/leveldb/indexers/LevelMIndexExpiresOnIndexer.ts +++ b/app/lib/dal/indexDAL/leveldb/indexers/LevelMIndexExpiresOnIndexer.ts @@ -59,13 +59,20 @@ export class LevelMIndexExpiresOnIndexer extends LevelDBDataIndex<Pubkey[], Mind } }) - ) - // Case 2: expiration REVERT - const values: MindexEntry[] = Underscore.values(newStateByPub).map(entries => reduce(entries)) - const byExpiredOn = reduceGroupBy(values, "expired_on") - await Promise.all(Underscore.keys(byExpiredOn) - .map(async expiresOn => this.addAllKeysToExpiresOn(pint(expiresOn), byExpiredOn[expiresOn].map(e => e.pub))) - ) + ); + // Case 2: REVERT expired = put back the value of `expires_on` + const values: MindexEntry[] = Underscore.values( + newStateByPub + ).map((entries) => reduce(entries)); + const byExpiresOnForExpired = reduceGroupBy(values, "expires_on"); + await Promise.all( + Underscore.keys(byExpiresOnForExpired).map(async (expiresOn) => + this.addAllKeysToExpiresOn( + pint(expiresOn), + byExpiresOnForExpired[expiresOn].map((e) => e.pub) + ) + ) + ); } async addAllKeysToExpiresOn(expiresOn: number, pubkeys: Pubkey[]): Promise<void> { @@ -75,7 +82,9 @@ export class LevelMIndexExpiresOnIndexer extends LevelDBDataIndex<Pubkey[], Mind entry = [] } for (const pub of pubkeys) { - entry.push(pub) + if (!entry.includes(pub)) { + entry.push(pub); + } } await this.put(key, entry) } -- GitLab