Skip to content

Commit

Permalink
add .removeable and enforce it removeWriter
Browse files Browse the repository at this point in the history
  • Loading branch information
mafintosh committed Jul 29, 2024
1 parent 7daf7dd commit d8b71b3
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -1873,9 +1873,19 @@ module.exports = class Autobase extends ReadyResource {
this._queueBump()
}

removeable (key) {
if (this.system.indexers.length !== 1) return true
return !b4a.equals(this.system.indexers[0].key, key)
}

// triggered from apply
async removeWriter (key) { // just compat for old version
assert(this._applying !== null, 'System changes are only allowed in apply')

if (!this.removeable(key)) {
throw new Error('Not allowed to remove the last indexer')
}

await this.system.remove(key)

if (b4a.equals(key, this.local.key)) {
Expand Down

0 comments on commit d8b71b3

Please sign in to comment.