text: 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 const canSync = 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);
  }
  