UNPKG

@codetanzania/ewea-case

Version:

A representation of an entity which define and track cases during an emergency event.

110 lines (101 loc) 2.3 kB
/** * @module Case * @namespace Case * @name Case * @description A representation of an entity which define and track cases * during an emergency event. * * @see {@link https://en.wikipedia.org/wiki/Emergency} * * @author lally elias <lallyelias87@gmail.com> * @since 0.1.0 * @version 0.1.0 * @license MIT * @example * * const { Case, start } = require('@codetanzania/ewea-case'); * start(error => { ... }); * */ import '@codetanzania/ewea-internals'; import { pkg } from '@lykmapipo/common'; import { apiVersion as httpApiVersion } from '@lykmapipo/env'; import { connect } from '@lykmapipo/mongoose-common'; import { mount } from '@lykmapipo/express-common'; import { start as startHttp } from '@lykmapipo/express-rest-actions'; import { createModels } from '@lykmapipo/file'; import Case from './case.model'; import caseRouter from './case.http.router'; /** * @name info * @description package information * @type {object} * * @author lally elias <lallyelias87@gmail.com> * @since 1.0.0 * @version 0.1.0 */ export const info = pkg( `${__dirname}/package.json`, 'name', 'description', 'version', 'license', 'homepage', 'repository', 'bugs', 'sandbox', 'contributors' ); /** * @name Case * @description Case model * * @author lally elias <lallyelias87@gmail.com> * @since 0.1.0 * @version 0.1.0 */ export { Case }; /** * @name caseRouter * @description case http router * * @author lally elias <lallyelias87@gmail.com> * @since 0.1.0 * @version 0.1.0 */ export { caseRouter }; /** * @name apiVersion * @description http router api version * @type {string} * * @author lally elias <lallyelias87@gmail.com> * @since 0.1.0 * @version 0.1.0 */ export const apiVersion = httpApiVersion(); /** * @function start * @name start * @description start http server * @param {Function} done callback to invoke on success or error * @author lally elias <lallyelias87@gmail.com> * @since 0.1.0 * @version 0.1.0 */ export const start = (done) => { // connect mongodb connect((error) => { // back-off on connect error if (error) { return done(error); } // ensure file models createModels(); // mount case router mount(caseRouter); // start http server return startHttp(done); }); };