import { database as db, models, type PluginData } from 'insomnia-data'; const { type } = models.pluginData; export function create(patch: Partial = {}) { return db.docCreate(type, patch); } export async function update(doc: PluginData, patch: Partial) { return db.docUpdate(doc, patch); } export async function upsertByKey(plugin: string, key: string, value: string) { const doc = await getByKey(plugin, key); return doc ? update(doc, { value, }) : create({ plugin, key, value, }); } export async function removeByKey(plugin: string, key: string) { return db.removeWhere(type, { plugin, key }); } export async function all(plugin: string) { return db.find(type, { plugin }); } export async function removeAll(plugin: string) { return db.removeWhere(type, { plugin }); } export async function getByKey(plugin: string, key: string) { return db.findOne(type, { plugin, key }); }