UNPKG

1.06 kBJavaScriptView Raw
1'use strict';
2
3
4/* dependencies */
5const _ = require('lodash');
6const { waterfall } = require('async');
7const { include } = require('@lykmapipo/include');
8const { connect } = require('@lykmapipo/mongoose-common');
9const { Permission } = include(__dirname, '..');
10
11
12// naive logger
13const log = (stage, error, result) => {
14 if (error) {
15 console.error(`${stage} seed error`, error);
16 }
17 if (result) {
18 const val = _.isArray(result) ? result.length : result;
19 console.info(`${stage} seed result`, val);
20 }
21};
22
23
24// refs
25let seedStart;
26let seedEnd;
27
28// seed permissions
29const seedPermission = done => {
30 Permission.seed((error, seeded) => {
31 log('permissions', error, seeded);
32 done(error);
33 });
34};
35
36// do seed
37const seed = done => {
38 seedStart = Date.now();
39 connect(error => {
40 if (error) { return done(error); }
41 waterfall([seedPermission], done);
42 });
43};
44
45// do seeding
46seed((error, results = [true]) => {
47 seedEnd = Date.now();
48 log('time', null, seedEnd - seedStart);
49 log('final', error, results);
50 process.exit(0);
51});