insomnia/packages/insomnia-app/app/models/request-meta.js

53 lines
1.1 KiB
JavaScript
Raw Normal View History

import * as db from '../common/database';
import {PREVIEW_MODE_FRIENDLY} from '../common/constants';
export const name = 'Request Meta';
export const type = 'RequestMeta';
export const prefix = 'reqm';
export const canDuplicate = false;
export function init () {
return {
parentId: null,
previewMode: PREVIEW_MODE_FRIENDLY,
responseFilter: '',
responseFilterHistory: [],
activeResponseId: null,
savedRequestBody: {}
};
}
export function migrate (doc) {
return doc;
}
export function create (patch = {}) {
if (!patch.parentId) {
throw new Error('New RequestMeta missing `parentId`', patch);
}
return db.docCreate(type, patch);
}
export function update (requestMeta, patch) {
return db.docUpdate(requestMeta, patch);
}
export function getByParentId (parentId) {
return db.getWhere(type, {parentId});
}
export async function getOrCreateByParentId (parentId) {
const requestMeta = await getByParentId(parentId);
if (requestMeta) {
return requestMeta;
}
return create({parentId});
}
export function all () {
return db.all(type);
}