diff --git a/nuxt.config.js b/nuxt.config.js index c3b992c..8e2d953 100644 --- a/nuxt.config.js +++ b/nuxt.config.js @@ -60,13 +60,7 @@ export default { linkExactActiveClass: 'is-active' }, env: { - development: process.env.NODE_ENV !== 'production', - version: process.env.npm_package_version, - serviceName: Util.config.serviceName, - maxFileSize: Util.config.maxSize, - chunkSize: Util.config.chunkSize, - publicMode: Util.config.publicMode, - userAccounts: Util.config.userAccounts + development: process.env.NODE_ENV !== 'production' }, axios: { baseURL: `${process.env.NODE_ENV === 'production' ? '' : 'http://localhost:5000'}/api` diff --git a/src/api/routes/service/configGET.js b/src/api/routes/service/configGET.js index b0a9c16..c8d88d3 100644 --- a/src/api/routes/service/configGET.js +++ b/src/api/routes/service/configGET.js @@ -3,20 +3,21 @@ const Util = require('../../utils/Util'); class configGET extends Route { constructor() { - super('/service/config', 'get', { adminOnly: true }); + super('/service/config', 'get', { bypassAuth: true }); } run(req, res) { return res.json({ message: 'Successfully retrieved config', config: { + version: process.env.npm_package_version, serviceName: Util.config.serviceName, maxUploadSize: Util.config.maxSize, filenameLength: Util.config.generatedFilenameLength, albumLinkLength: Util.config.generatedAlbumLength, - generateZips: Util.config.generateZips, + chunkSize: Util.config.chunkSize, publicMode: Util.config.publicMode, - enableAccounts: Util.config.userAccounts + userAccounts: Util.config.userAccounts } }); } diff --git a/src/site/components/footer/Footer.vue b/src/site/components/footer/Footer.vue index 0c77603..0e3cceb 100644 --- a/src/site/components/footer/Footer.vue +++ b/src/site/components/footer/Footer.vue @@ -9,7 +9,7 @@ href="https://github.com/pitu" class="no-block">Pitu
- v{{ version }} + {{ version }}
GitHub diff --git a/src/site/components/uploader/Uploader.vue b/src/site/components/uploader/Uploader.vue index abe2128..f2d213a 100644 --- a/src/site/components/uploader/Uploader.vue +++ b/src/site/components/uploader/Uploader.vue @@ -124,7 +124,7 @@ export default { parallelChunkUploads: false, chunkSize: this.config.chunkSize * 1000000, chunksUploaded: this.dropzoneChunksUploaded, - maxFilesize: this.config.maxFileSize, + maxFilesize: this.config.maxUploadSize, previewTemplate: this.$refs.template.innerHTML, dictDefaultMessage: 'Drag & Drop your files or click to browse', headers: { Accept: 'application/vnd.chibisafe.json' } diff --git a/src/site/store/config.js b/src/site/store/config.js index 623e324..3f5d752 100644 --- a/src/site/store/config.js +++ b/src/site/store/config.js @@ -1,11 +1,33 @@ export const state = () => ({ development: process.env.development, - version: process.env.version, + version: '', URL: process.env.development ? 'http://localhost:5000' : '/', baseURL: `${process.env.development ? 'http://localhost:5000' : ''}/api`, - serviceName: process.env.serviceName, - maxFileSize: process.env.maxFilesize, - chunkSize: process.env.chunkSize, - publicMode: process.env.publicMode, - userAccounts: process.env.userAccounts + serviceName: '', + maxFileSize: '', + chunkSize: 0, + publicMode: false, + userAccounts: false }); + +export const mutations = { + setSettings(state, { config }) { + state.version = `v${config.version}`; + state.serviceName = config.serviceName; + state.maxUploadSize = config.maxUploadSize; + state.filenameLength = config.filenameLength; + state.albumLinkLength = config.albumLinkLength; + state.chunkSize = config.chunkSize; + state.publicMode = config.publicMode; + state.userAccounts = config.userAccounts; + } +}; + +export const actions = { + async fetchSettings({ commit }) { + const response = await this.$axios.$get('service/config'); + commit('setSettings', response); + + return response; + } +}; diff --git a/src/site/store/index.js b/src/site/store/index.js index b94a336..680ae84 100644 --- a/src/site/store/index.js +++ b/src/site/store/index.js @@ -1,8 +1,6 @@ -import config from '../../../dist/config.json'; - export const actions = { async nuxtServerInit({ commit, dispatch }) { - commit('config/set', config); + await dispatch('config/fetchSettings'); const cookies = this.$cookies.getAll(); if (!cookies.token) return dispatch('auth/logout');