← back to AbramsOS

lib/ids.js

33 lines

const { ulid } = require('ulid');

const PREFIX = {
  user: 'user',
  consent: 'cnst',
  connector: 'conn',
  source: 'src',
  document: 'doc',
  purchase: 'pur',
  item: 'item',
  bill: 'bill',
  reorder: 'reord',
  reminder: 'rem',
  warranty: 'wty',
  person: 'prsn',
  medication: 'med',
  medrecall: 'mrcl',
  prescription_fill: 'rxfl',
  saving: 'sav',
  coupon: 'coup',
  reading: 'hr',
  asset: 'ast',
  biometric: 'bio',
};

function id(kind) {
  const prefix = PREFIX[kind];
  if (!prefix) throw new Error(`Unknown id kind: ${kind}`);
  return `${prefix}_${ulid().toLowerCase()}`;
}

module.exports = { id };