aboutsummaryrefslogtreecommitdiff
path: root/src/api/database/seeds/initial.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/api/database/seeds/initial.js')
-rw-r--r--src/api/database/seeds/initial.js34
1 files changed, 30 insertions, 4 deletions
diff --git a/src/api/database/seeds/initial.js b/src/api/database/seeds/initial.js
index edc1949..7c04dad 100644
--- a/src/api/database/seeds/initial.js
+++ b/src/api/database/seeds/initial.js
@@ -1,15 +1,41 @@
/* eslint-disable no-console */
const bcrypt = require('bcrypt');
const moment = require('moment');
+const Util = require('../../utils/Util');
exports.seed = async db => {
const now = moment.utc().toDate();
- const user = await db.table('users').where({ username: process.env.ADMIN_ACCOUNT }).first();
- if (user) return;
+
+ // Save environment variables to the database
+ try {
+ const defaults = Util.getEnvironmentDefaults();
+ const keys = Object.keys(defaults);
+ for (const item of keys) {
+ await Util.writeConfigToDb({
+ key: item,
+ value: defaults[item]
+ });
+ }
+ } catch (error) {
+ console.error(error);
+ }
+
+ // Create admin user if it doesnt exist
+ const user = await db.table('users').where({ username: 'admin' }).first();
+ if (user) {
+ console.log();
+ console.log('=========================================================');
+ console.log('== admin account already exists, skipping. ==');
+ console.log('=========================================================');
+ console.log('== Run `pm2 start pm2.json` to start the service ==');
+ console.log('=========================================================');
+ console.log();
+ return;
+ }
try {
- const hash = await bcrypt.hash(process.env.ADMIN_PASSWORD, 10);
+ const hash = await bcrypt.hash('admin', 10);
await db.table('users').insert({
- username: process.env.ADMIN_ACCOUNT,
+ username: 'admin',
password: hash,
passwordEditedAt: now,
createdAt: now,