Apply Javascript styleguide

This commit is contained in:
Jonathan Cremin 2015-08-23 22:12:32 +01:00
parent 752ce964c8
commit 6e0f351093
30 changed files with 364 additions and 375 deletions

View file

@ -9,20 +9,16 @@ export function formatDate(timestamp) {
export function formatSize(size) {
if (size >= 1073741824) {
size = Math.round((size / 1073741824) * 10) / 10 + 'GB';
} else {
if (size >= 1048576) {
size = Math.round((size / 1048576) * 10) / 10 + 'MB';
} else {
if (size >= 1024) {
size = Math.round((size / 1024) * 10) / 10 + 'KB';
} else {
size = Math.round(size) + 'B';
}
}
return Math.round((size / 1073741824) * 10) / 10 + 'GB';
}
return size;
};
if (size >= 1048576) {
return Math.round((size / 1048576) * 10) / 10 + 'MB';
}
if (size >= 1024) {
return Math.round((size / 1024) * 10) / 10 + 'KB';
}
return Math.round(size) + 'B';
}
export function formatFile(file) {
const formattedFile = {
@ -36,7 +32,7 @@ export function formatFile(file) {
readableSize: formatSize(file.file_size),
type: sniff(file.file_name),
trashed: (file.status === 'trashed'),
status: file.status
status: file.status,
};
if (file.width) {
@ -45,7 +41,7 @@ export function formatFile(file) {
const ext = (file.file_name.split('.').pop().toLowerCase() === 'psd' ? '.png' : '');
formattedFile.direct = {
'150x': fileHost + '/file/150/' + file._id + '/' + file.file_name + ext, // eslint-disable-line no-underscore-dangle
'970x': fileHost + '/file/970/' + file._id + '/' + file.file_name + ext // eslint-disable-line no-underscore-dangle
'970x': fileHost + '/file/970/' + file._id + '/' + file.file_name + ext, // eslint-disable-line no-underscore-dangle
};
}
return formattedFile;

View file

@ -1,5 +1,4 @@
import fs from 'fs';
import path from 'path';
import createError from 'http-errors';
import { get as getFile } from './s3';

View file

@ -13,14 +13,12 @@ function* checkId(Files, fileId, attempts) {
return false;
}
const file = yield Files.findOne({'_id': fileId});
if(file === null) {
if (file === null) {
return fileId;
} else {
return checkId(randomID(), attempts++);
}
return checkId(randomID(), ++attempts); // eslint-disable-line no-param-reassign
}
export default function* (Files) {
let attempts = 0;
return yield checkId(Files, randomID(), attempts);
return yield checkId(Files, randomID(), 0);
}

View file

@ -6,33 +6,29 @@ const extensions = ['EXE', 'PIF', 'APPLICATION', 'GADGET', 'MSI', 'MSP', 'COM',
'JAR', 'BAT', 'CMD', 'VB', 'VBS', 'VBE', 'JS', 'JSE', 'WS', 'WSF', 'WSC', 'WSH', 'PS1', 'PS1XML', 'PS2',
'PS2XML', 'PSC1', 'PSC2', 'MSH', 'MSH1', 'MSH2', 'MSHXML', 'MSH1XML', 'MSH2XML', 'SCF', 'LNK', 'INF', 'REG',
'PDF', 'DOC', 'XLS', 'PPT', 'DOCM', 'DOTM', 'XLSM', 'XLTM', 'XLAM', 'PPTM', 'POTM', 'PPAM', 'PPSM', 'SLDM',
'RAR', 'TAR', 'ZIP', 'GZ'
'RAR', 'TAR', 'ZIP', 'GZ',
];
function getExtension(filename) {
const i = filename.lastIndexOf('.');
return (i < 0) ? '' : filename.substr(i + 1);
};
}
export default function (file) {
const deferred = {};
deferred.promise = new Promise(function(resolve, reject) {
deferred.resolve = resolve;
deferred.reject = reject;
export default function(file) {
return new Promise((resolve, reject) => {
if (extensions.indexOf(getExtension(file.file_name.toUpperCase())) >= 0) {
virustotal.getFileReport(file.md5, (err, res) => {
if (err) {
return reject(err);
}
if (res.scans) {
resolve({positive: res.positives >= 5, result: res});
} else {
resolve();
}
});
} else {
resolve();
}
});
if (extensions.indexOf(getExtension(file.file_name.toUpperCase())) >= 0) {
virustotal.getFileReport(file.md5, function (err, res) {
if (err) {
return deferred.reject(err);
}
if (res.scans) {
deferred.resolve({positive: res.positives >= 5, result: res});
} else {
deferred.resolve();
}
});
} else {
deferred.resolve();
}
return deferred.promise;
};
}

View file

@ -5,7 +5,7 @@ const debug = debugname('hostr:mongo');
const uristring = process.env.MONGO_URL || process.env.MONGOLAB_URI || 'mongodb://localhost:27017/hostr';
let configuredClient = new Promise(function (resolve, reject) {
const configuredClient = new Promise((resolve, reject) => {
debug('Connecting to Mongodb');
return MongoClient.connect(uristring).then((client) => {
debug('Successfully connected to Mongodb');
@ -20,19 +20,19 @@ let configuredClient = new Promise(function (resolve, reject) {
client.ObjectId = mongodb().ObjectId;
return resolve(client);
}).catch((e) => {
reject(e)
reject(e);
});
}).catch((e) => {
debug(e);
});
export default function() {
return function* (next) {
return function* dbMiddleware(next) {
try {
this.db = yield configuredClient;
} catch (e) {
debug(e);
}
yield next;
}
};
}

View file

@ -9,17 +9,20 @@ const redisUrl = process.env.REDIS_URL || process.env.REDISTOGO_URL || 'redis://
const connection = new Promise((resolve, reject) => {
debug('Connecting to Redis');
resolve(redis.connect(redisUrl));
const client = redis.connect(redisUrl);
client.on('error', reject);
resolve(client);
}).catch((err) => {
debug('Connection error: ' + err);
throw err;
});
const redisSession = new Promise((resolve, reject) => {
return connection.then((client) => {
client = koaRedis({client: client});
const sessionClient = koaRedis({client: client});
resolve(session({
key: 'hid',
store: client
store: sessionClient,
}));
}).catch((err) => {
debug('koa-redis error: ' + err);
@ -29,31 +32,29 @@ const redisSession = new Promise((resolve, reject) => {
const wrapped = new Promise((resolve, reject) => {
return connection.then((client) => {
client = coRedis(client);
client.on('error', (err) => {
debug('Client error: ' + err);
reject(err);
});
client.on('ready', () => {
const asyncClient = coRedis(client);
asyncClient.on('error', reject);
asyncClient.on('ready', () => {
debug('Successfully connected to Redis');
resolve(client);
resolve(asyncClient);
});
}).catch((err) => {
debug('co-redis error: ' + err);
reject(err);
throw err;
});
});
export function sessionStore() {
return function* (next) {
return function* sessionStoreMiddleware(next) {
const sess = yield redisSession;
yield sess.bind(this)(next);
}
};
}
export function middleware() {
return function* (next) {
return function* redisMiddleware(next) {
this.redis = yield wrapped;
yield next;
}
};
}

View file

@ -13,7 +13,7 @@ export function get(key) {
return s3.getObject({Bucket: bucket, Key: 'hostr_files/' + key}).createReadStream();
}
export function upload(key, body) {
export function upload(key) {
debug('Uploading file: %s', 'hostr_files/' + key);
return s3Stream.upload({Bucket: bucket, Key: 'hostr_files/' + key});
}

View file

@ -2,8 +2,8 @@ import fs from 'fs';
import path from 'path';
function range(start, stop) {
var result = [];
for (var idx = start.charCodeAt(0), end = stop.charCodeAt(0); idx <= end; ++idx){
const result = [];
for (let idx = start.charCodeAt(0), end = stop.charCodeAt(0); idx <= end; ++idx) {
result.push(String.fromCharCode(idx));
}
return result;

View file

@ -23,7 +23,7 @@ const extensions = {
'gz': 'archive',
'tgz': 'archive',
'bz2': 'archive',
'rar': 'archive'
'rar': 'archive',
};
export function sniff(filename) {