mirror of
https://github.com/BobbyWibowo/lolisafe.git
synced 2024-12-13 16:06:21 +00:00
aea89ecbd4
* Removing files from an album will now update the state of the said album. Which means, the Download Album as zip feature will properly make a new zip instead of re-using the old one which would obviously still have the said files. * "migration.js" will no longer try to create column if it already exists. * Changed type of all columns that used to be DATETIME to INTEGER. Apparently SQLite would have stored them as INTEGER anyways, so you don't have to change anything else.
65 lines
1.8 KiB
JavaScript
65 lines
1.8 KiB
JavaScript
let init = function (db) {
|
|
// Create the tables we need to store galleries and files
|
|
db.schema.hasTable('albums').then(exists => {
|
|
if (!exists) {
|
|
db.schema.createTable('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.hasTable('files').then(exists => {
|
|
if (!exists) {
|
|
db.schema.createTable('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.hasTable('users').then(exists => {
|
|
if (!exists) {
|
|
db.schema.createTable('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 (error, hash) {
|
|
if (error) { 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
|