diff options
| author | Pitu <[email protected]> | 2021-06-15 00:13:37 +0900 |
|---|---|---|
| committer | Pitu <[email protected]> | 2021-06-15 00:13:37 +0900 |
| commit | b2253c7f607204daeb20a35cf57ff9605f5ead43 (patch) | |
| tree | 485560b0e6b6db2d69fee1e3af23aedad129b10e /src/api/database | |
| parent | update package.json, pin volta, update deps (diff) | |
| download | host.fuwn.me-b2253c7f607204daeb20a35cf57ff9605f5ead43.tar.xz host.fuwn.me-b2253c7f607204daeb20a35cf57ff9605f5ead43.zip | |
chore: update db migration, seed and docker env
Diffstat (limited to 'src/api/database')
| -rw-r--r-- | src/api/database/migrations/20210112011802_addSettingsTable.js | 24 | ||||
| -rw-r--r-- | src/api/database/seeds/initial.js | 27 |
2 files changed, 22 insertions, 29 deletions
diff --git a/src/api/database/migrations/20210112011802_addSettingsTable.js b/src/api/database/migrations/20210112011802_addSettingsTable.js index 3acd845..cd4ac55 100644 --- a/src/api/database/migrations/20210112011802_addSettingsTable.js +++ b/src/api/database/migrations/20210112011802_addSettingsTable.js @@ -1,27 +1,7 @@ exports.up = async knex => { await knex.schema.createTable('settings', table => { - table.string('routePrefix'); - table.integer('rateLimitWindow'); - table.integer('rateLimitMax'); - table.string('secret'); - table.string('serviceName'); - table.string('domain'); - table.integer('chunkSize'); - table.integer('maxSize'); - table.boolean('generateZips'); - table.integer('generatedFilenameLength'); - table.integer('generatedAlbumLength'); - table.integer('maxLinksPerAlbum'); - table.string('uploadFolder'); - table.json('blockedExtensions'); - table.boolean('publicMode'); - table.boolean('userAccounts'); - table.string('adminAccount'); - table.string('adminPassword'); - table.string('metaThemeColor'); - table.string('metaDescription'); - table.string('metaKeywords'); - table.string('metaTwitterHandle'); + table.string('key'); + table.string('value'); }); }; diff --git a/src/api/database/seeds/initial.js b/src/api/database/seeds/initial.js index bb60b2c..30d84c8 100644 --- a/src/api/database/seeds/initial.js +++ b/src/api/database/seeds/initial.js @@ -8,21 +8,34 @@ exports.seed = async db => { // Save environment variables to the database try { - const settings = await db.table('settings').first(); - if (!settings) { - await Util.writeConfigToDb(Util.getEnvironmentDefaults(), false); + const defaults = Util.getEnvironmentDefaults(); + const keys = Object.keys(defaults); + for await (const item of keys) { + 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: process.env.ADMIN_ACCOUNT }).first(); - if (user) return; + 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, |