1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- 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;
|