UNPKG

majifix-account

Version:

A representation of an entity (i.e organization, individual, customer, or client) which receiving service(s) from a particular jurisdiction

76 lines (57 loc) 1.67 kB
'use strict'; /* ensure mongo uri */ process.env.MONGODB_URI = (process.env.MONGODB_URI || 'mongodb://localhost/majifix-account'); /* dependencies */ const path = require('path'); const _ = require('lodash'); const async = require('async'); const mongoose = require('mongoose'); // mongoose.set('debug', true); const { Jurisdiction } = require('@codetanzania/majifix-jurisdiction'); const { Account, app, router, info } = require(path.join(__dirname, '..')); let samples = require('./samples')(20); /* connect to mongoose */ mongoose.connect(process.env.MONGODB_URI); function boot() { async.waterfall([ function clear(next) { Account.remove(function ( /*error, results*/ ) { next(); }); }, function clearJurisdiction(next) { Jurisdiction.remove(function ( /*error, results*/ ) { next(); }); }, function seedJurisdiction(next) { const jurisdiction = Jurisdiction.fake(); jurisdiction.post(next); }, function seedAccounts(jurisdiction, next) { /* fake accounts */ samples = _.map(samples, function (sample, index) { if ((index % 2 === 0)) { sample.jurisdiction = jurisdiction; } return sample; }); Account.create(samples, next); } ], function (error, results) { /* expose module info */ app.get('/', function (request, response) { response.status(200); response.json(info); }); /* fire the app */ app.start(function (error, env) { console.log( `visit http://0.0.0.0:${env.PORT}/v${router.apiVersion}/accounts` ); }); }); } boot();