Apply Javascript styleguide
This commit is contained in:
parent
752ce964c8
commit
6e0f351093
30 changed files with 364 additions and 375 deletions
|
@ -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;
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
import fs from 'fs';
|
||||
import path from 'path';
|
||||
import createError from 'http-errors';
|
||||
import { get as getFile } from './s3';
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
29
lib/redis.js
29
lib/redis.js
|
@ -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;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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});
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -23,7 +23,7 @@ const extensions = {
|
|||
'gz': 'archive',
|
||||
'tgz': 'archive',
|
||||
'bz2': 'archive',
|
||||
'rar': 'archive'
|
||||
'rar': 'archive',
|
||||
};
|
||||
|
||||
export function sniff(filename) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue