diff --git a/src/data/data.ts b/src/data/data.ts index 25612ab..4e1cf2a 100644 --- a/src/data/data.ts +++ b/src/data/data.ts @@ -7,6 +7,9 @@ import { Model } from "./models/Model" export interface DataApi { add
(model: Model
): Promise update
>(model: T): Promise + bulkUpdate
>( + models: T[] + ): Promise remove(id: string): Promise get
>(id: string): Promise getOrCreate
>( diff --git a/src/data/data.worker.ts b/src/data/data.worker.ts index 4271fb1..fb6f02e 100644 --- a/src/data/data.worker.ts +++ b/src/data/data.worker.ts @@ -67,6 +67,19 @@ class Data { } } + public async bulkUpdate
>( + models: T[] + ): Promise { + if (!this.locale || !models.length) return false + try { + const result = await this.locale.bulkDocs(models) + return result.every((r) => "ok" in r && r.ok) + } catch (error) { + console.warn(error) + return false + } + } + public async remove(id: string): Promise { try { const doc = await this.get(id)