Enviroment variables parsing fix

This commit is contained in:
Pitu 2019-03-02 02:08:11 +09:00
parent e8f70f5170
commit 73d85e8c79
10 changed files with 37 additions and 25 deletions

View File

@ -14,7 +14,9 @@ export default {
serviceName: process.env.SERVICE_NAME,
maxFileSize: process.env.MAX_SIZE,
chunkSize: process.env.CHUNK_SIZE,
maxLinksPerAlbum: process.env.MAX_LINKS_PER_ALBUM
maxLinksPerAlbum: process.env.MAX_LINKS_PER_ALBUM,
publicMode: process.env.PUBLIC_MODE,
userAccounts: process.env.USER_ACCOUNTS
},
srcDir: 'src/site/',
head: {

View File

@ -22,7 +22,7 @@ class linkPOST extends Route {
Count the amount of links created for that album already and error out if max was reached
*/
const count = await db.table('links').where('albumId', albumId).count({ count: 'id' });
if (count[0].count >= process.env.MAX_LINKS_PER_ALBUM) return res.status(400).json({ message: 'Maximum links per album reached' });
if (count[0].count >= parseInt(process.env.MAX_LINKS_PER_ALBUM, 10)) return res.status(400).json({ message: 'Maximum links per album reached' });
/*
Try to allocate a new identifier on the db

View File

@ -10,7 +10,7 @@ class registerPOST extends Route {
}
async run(req, res, db) {
if (!process.env.USER_ACCOUNTS) return res.status(401).json({ message: 'Creation of new accounts is currently disabled' });
if (process.env.USER_ACCOUNTS == 'false') return res.status(401).json({ message: 'Creation of new accounts is currently disabled' });
if (!req.body) return res.status(400).json({ message: 'No body provided' });
const { username, password } = req.body;
if (!username || !password) return res.status(401).json({ message: 'Invalid body provided' });

View File

@ -181,7 +181,7 @@ class uploadPOST extends Route {
/*
If exif removal has been force service-wide or requested by the user, remove it
*/
if (process.env.STRIP_EXIF) { // || user.settings.stripExif) {
if (process.env.STRIP_EXIF == 'true') { // || user.settings.stripExif) {
// Util.removeExif(upload.filename);
}
@ -195,7 +195,7 @@ class uploadPOST extends Route {
const busboy = new Busboy({
headers: req.headers,
limits: {
fileSize: process.env.MAX_SIZE * (1000 * 1000),
fileSize: parseInt(process.env.MAX_SIZE, 10) * (1000 * 1000),
files: 1
}
});

View File

@ -11,15 +11,15 @@ class configGET extends Route {
config: {
serviceName: process.env.SERVICE_NAME,
uploadFolder: process.env.UPLOAD_FOLDER,
linksPerAlbum: process.env.MAX_LINKS_PER_ALBUM,
maxUploadSize: process.env.MAX_SIZE,
filenameLength: process.env.GENERATED_FILENAME_LENGTH,
albumLinkLength: process.env.GENERATED_ALBUM_LENGTH,
generateThumbnails: process.env.GENERATE_THUMBNAILS,
generateZips: process.env.GENERATE_ZIPS,
stripExif: process.env.STRIP_EXIF,
publicMode: process.env.PUBLIC_MODE,
enableAccounts: process.env.USER_ACCOUNTS
linksPerAlbum: parseInt(process.env.MAX_LINKS_PER_ALBUM, 10),
maxUploadSize: parseInt(process.env.MAX_SIZE, 10),
filenameLength: parseInt(process.env.GENERATED_FILENAME_LENGTH, 10),
albumLinkLength: parseInt(process.env.GENERATED_ALBUM_LENGTH, 10),
generateThumbnails: process.env.GENERATE_THUMBNAILS == 'true' ? true : false,
generateZips: process.env.GENERATE_ZIPS == 'true' ? true : false,
stripExif: process.env.STRIP_EXIF == 'true' ? true : false,
publicMode: process.env.PUBLIC_MODE == 'true' ? true : false,
enableAccounts: process.env.USER_ACCOUNTS == 'true' ? true : false
}
});
}

View File

@ -10,14 +10,14 @@ const jetpack = require('fs-jetpack');
const path = require('path');
const rateLimiter = new RateLimit({
windowMs: process.env.RATE_LIMIT_WINDOW,
max: process.env.RATE_LIMIT_MAX,
windowMs: parseInt(process.env.RATE_LIMIT_WINDOW, 10),
max: parseInt(process.env.RATE_LIMIT_MAX, 10),
delayMs: 0
});
class Server {
constructor() {
this.port = process.env.SERVER_PORT;
this.port = parseInt(process.env.SERVER_PORT, 10);
this.server = express();
this.server.set('trust proxy', 1);
this.server.use(helmet());

View File

@ -106,7 +106,7 @@ class Util {
static getUniqueFilename(name) {
const retry = (i = 0) => {
const filename = randomstring.generate({
length: process.env.GENERATED_FILENAME_LENGTH,
length: parseInt(process.env.GENERATED_FILENAME_LENGTH, 10),
capitalization: 'lowercase'
}) + path.extname(name);
const exists = jetpack.exists(path.join(__dirname, '..', '..', '..', process.env.UPLOAD_FOLDER, filename));
@ -121,7 +121,7 @@ class Util {
static getUniqueAlbumIdentifier() {
const retry = async (i = 0) => {
const identifier = randomstring.generate({
length: process.env.GENERATED_ALBUM_LENGTH,
length: parseInt(process.env.GENERATED_ALBUM_LENGTH, 10),
capitalization: 'lowercase'
});
const exists = await db.table('links').where({ identifier }).first();

View File

@ -51,7 +51,7 @@
<div class="columns">
<div class="column is-3 is-offset-2">
<div class="logo">
<Logo/>
<Logo />
</div>
</div>
<div class="column is-5 centered">
@ -64,7 +64,10 @@
</div>
</div>
<div class="spacer mt7" />
<Uploader />
<Uploader v-if="config.publicMode && !loggedIn" />
<div v-else>
This site has disabled public uploads. You need an account.
</div>
</div>
</div>
<div class="hero-foot">
@ -96,6 +99,9 @@ export default {
computed: {
loggedIn() {
return this.$store.state.loggedIn;
},
config() {
return this.$store.state.config;
}
},
mounted() {

View File

@ -31,8 +31,10 @@
</b-field>
<p class="control has-addons is-pulled-right">
<router-link to="/register"
<router-link v-if="config.enableAccounts"
to="/register"
class="is-text">Don't have an account?</router-link>
<span v-else>Registration is closed at the moment</span>
<a id="loginBtn"
class="button"
@click="login">Log in</a>

View File

@ -44,9 +44,11 @@ const actions = {
URL: process.env.DOMAIN,
baseURL: `${process.env.DOMAIN}${process.env.ROUTE_PREFIX}`,
serviceName: process.env.SERVICE_NAME,
maxFileSize: process.env.MAX_SIZE,
chunkSize: process.env.CHUNK_SIZE,
maxLinksPerAlbum: process.env.MAX_LINKS_PER_ALBUM
maxFileSize: parseInt(process.env.MAX_SIZE, 10),
chunkSize: parseInt(process.env.CHUNK_SIZE, 10),
maxLinksPerAlbum: parseInt(process.env.MAX_LINKS_PER_ALBUM, 10),
publicMode: process.env.PUBLIC_MODE == 'true' ? true : false,
enableAccounts: process.env.USER_ACCOUNTS == 'true' ? true : false
});
}
};