let init = function(db){ // Create the tables we need to store galleries and files db.schema.createTableIfNotExists('albums', function (table) { table.increments() table.integer('userid') table.string('name') table.string('identifier') table.integer('enabled') table.integer('timestamp') table.integer('editedAt'); table.integer('zipGeneratedAt'); }).then(() => {}) db.schema.createTableIfNotExists('files', function (table) { table.increments() table.integer('userid') table.string('name') table.string('original') table.string('type') table.string('size') table.string('hash') table.string('ip') table.integer('albumid') table.integer('timestamp') }).then(() => {}) db.schema.createTableIfNotExists('users', function (table) { table.increments() table.string('username') table.string('password') table.string('token') table.integer('enabled') table.integer('timestamp') }).then(() => { db.table('users').where({username: 'root'}).then((user) => { if(user.length > 0) return require('bcrypt').hash('root', 10, function(err, hash) { if(err) console.error('Error generating password hash for root') db.table('users').insert({ username: 'root', password: hash, token: require('randomstring').generate(64), timestamp: Math.floor(Date.now() / 1000) }).then(() => {}) }) }) }) } module.exports = init