Skip to content

Commit

Permalink
Merge pull request RandomAPI#130 from RandomAPI/loadTracker
Browse files Browse the repository at this point in the history
Load tracker
  • Loading branch information
keitharm committed Sep 30, 2019
2 parents 3626678 + ac60cd5 commit 3092f95
Show file tree
Hide file tree
Showing 10 changed files with 84 additions and 125 deletions.
16 changes: 5 additions & 11 deletions api/.nextRelease/api.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,8 @@
*/

const fs = require('fs');
const util = require('util');
const readDir = util.promisify(fs.readdir);
const readFile = util.promisify(fs.readFile);
const readDir = require('util').promisify(fs.readdir);
const readFile = require('util').promisify(fs.readFile);
const path = require('path');
const mersenne = require('mersenne');
const crypto = require('crypto');
Expand All @@ -22,6 +21,7 @@ const js2xmlparser = require('js2xmlparser');
const converter = require('json-2-csv');
const faker = require('faker');
const tr = require("transliteration");
const util = require('../../util');
const settings = require('../../settings');
const version = '1.3';

Expand Down Expand Up @@ -234,7 +234,7 @@ class Generator {
let json = {
results: output,
info: {
seed: String(this.seed + (this.nat !== null && !Array.isArray(this.nat) ? pad((this.nats.indexOf(this.nat)).toString(16), 2) : '')),
seed: String(this.seed + (this.nat !== null && !Array.isArray(this.nat) ? util.pad((this.nats.indexOf(this.nat)).toString(16), 2) : '')),
results: this.results,
page: this.page,
version: this.version
Expand Down Expand Up @@ -426,12 +426,6 @@ function randomItem(arr) {
return arr[range(0, arr.length-1)];
}

function pad (n, width, z) {
z = z || '0';
n = n + '';
return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n;
}

function range (min, max) {
return min + mersenne.rand(max-min+1);
}
Expand All @@ -457,7 +451,7 @@ module.exports = {
Generator,
random,
randomItem,
pad,
pad: util.pad,
range,
uppercaseify,
include,
Expand Down
16 changes: 5 additions & 11 deletions api/1.0/api.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
const fs = require('fs');
const util = require('util');
const readDir = util.promisify(fs.readdir);
const readFile = util.promisify(fs.readFile);
const readDir = require('util').promisify(fs.readdir);
const readFile = require('util').promisify(fs.readFile);
const path = require('path');
const mersenne = require('mersenne');
const crypto = require('crypto');
const YAML = require('yamljs');
const js2xmlparser = require('js2xmlparser');
const converter = require('json-2-csv');
const util = require('../../util');
const settings = require('../../settings');
const version = '1.0';

Expand Down Expand Up @@ -193,7 +193,7 @@ class Generator {
let json = {
results: output,
info: {
seed: String(this.seed + (this.nat !== null && !Array.isArray(this.nat) ? pad((this.nats.indexOf(this.nat)).toString(16), 2) : '')),
seed: String(this.seed + (this.nat !== null && !Array.isArray(this.nat) ? util.pad((this.nats.indexOf(this.nat)).toString(16), 2) : '')),
results: this.results,
page: this.page,
version: this.version
Expand Down Expand Up @@ -308,12 +308,6 @@ function randomItem(arr) {
return arr[range(0, arr.length-1)];
}

function pad (n, width, z) {
z = z || '0';
n = n + '';
return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n;
}

function range (min, max) {
return min + mersenne.rand(max-min+1);
}
Expand All @@ -339,7 +333,7 @@ module.exports = {
Generator,
random,
randomItem,
pad,
pad: util.pad,
range,
uppercaseify,
include,
Expand Down
16 changes: 5 additions & 11 deletions api/1.1/api.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,16 @@
*/

const fs = require('fs');
const util = require('util');
const readDir = util.promisify(fs.readdir);
const readFile = util.promisify(fs.readFile);
const readDir = require('util').promisify(fs.readdir);
const readFile = require('util').promisify(fs.readFile);
const path = require('path');
const mersenne = require('mersenne');
const moment = require('moment');
const crypto = require('crypto');
const YAML = require('yamljs');
const js2xmlparser = require('js2xmlparser');
const converter = require('json-2-csv');
const util = require('../../util');
const settings = require('../../settings');
const version = '1.1';

Expand Down Expand Up @@ -204,7 +204,7 @@ class Generator {
let json = {
results: output,
info: {
seed: String(this.seed + (this.nat !== null && !Array.isArray(this.nat) ? pad((this.nats.indexOf(this.nat)).toString(16), 2) : '')),
seed: String(this.seed + (this.nat !== null && !Array.isArray(this.nat) ? util.pad((this.nats.indexOf(this.nat)).toString(16), 2) : '')),
results: this.results,
page: this.page,
version: this.version
Expand Down Expand Up @@ -373,12 +373,6 @@ function randomItem(arr) {
return arr[range(0, arr.length-1)];
}

function pad (n, width, z) {
z = z || '0';
n = n + '';
return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n;
}

function range (min, max) {
return min + mersenne.rand(max-min+1);
}
Expand All @@ -404,7 +398,7 @@ module.exports = {
Generator,
random,
randomItem,
pad,
pad: util.pad,
range,
uppercaseify,
include,
Expand Down
16 changes: 5 additions & 11 deletions api/1.2/api.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,8 @@
*/

const fs = require('fs');
const util = require('util');
const readDir = util.promisify(fs.readdir);
const readFile = util.promisify(fs.readFile);
const readDir = require('util').promisify(fs.readdir);
const readFile = require('util').promisify(fs.readFile);
const path = require('path');
const mersenne = require('mersenne');
const moment = require('moment');
Expand All @@ -22,6 +21,7 @@ const YAML = require('yamljs');
const js2xmlparser = require('js2xmlparser');
const converter = require('json-2-csv');
const faker = require('faker');
const util = require('../../util');
const settings = require('../../settings');
const version = '1.2';

Expand Down Expand Up @@ -231,7 +231,7 @@ class Generator {
let json = {
results: output,
info: {
seed: String(this.seed + (this.nat !== null && !Array.isArray(this.nat) ? pad((this.nats.indexOf(this.nat)).toString(16), 2) : '')),
seed: String(this.seed + (this.nat !== null && !Array.isArray(this.nat) ? util.pad((this.nats.indexOf(this.nat)).toString(16), 2) : '')),
results: this.results,
page: this.page,
version: this.version
Expand Down Expand Up @@ -401,12 +401,6 @@ function randomItem(arr) {
return arr[range(0, arr.length-1)];
}

function pad (n, width, z) {
z = z || '0';
n = n + '';
return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n;
}

function range (min, max) {
return min + mersenne.rand(max-min+1);
}
Expand All @@ -432,7 +426,7 @@ module.exports = {
Generator,
random,
randomItem,
pad,
pad: util.pad,
range,
uppercaseify,
include,
Expand Down
16 changes: 5 additions & 11 deletions api/1.3/api.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,8 @@
*/

const fs = require('fs');
const util = require('util');
const readDir = util.promisify(fs.readdir);
const readFile = util.promisify(fs.readFile);
const readDir = require('util').promisify(fs.readdir);
const readFile = require('util').promisify(fs.readFile);
const path = require('path');
const mersenne = require('mersenne');
const crypto = require('crypto');
Expand All @@ -22,6 +21,7 @@ const js2xmlparser = require('js2xmlparser');
const converter = require('json-2-csv');
const faker = require('faker');
const tr = require("transliteration");
const util = require('../../util');
const settings = require('../../settings');
const version = '1.3';

Expand Down Expand Up @@ -234,7 +234,7 @@ class Generator {
let json = {
results: output,
info: {
seed: String(this.seed + (this.nat !== null && !Array.isArray(this.nat) ? pad((this.nats.indexOf(this.nat)).toString(16), 2) : '')),
seed: String(this.seed + (this.nat !== null && !Array.isArray(this.nat) ? util.pad((this.nats.indexOf(this.nat)).toString(16), 2) : '')),
results: this.results,
page: this.page,
version: this.version
Expand Down Expand Up @@ -426,12 +426,6 @@ function randomItem(arr) {
return arr[range(0, arr.length-1)];
}

function pad (n, width, z) {
z = z || '0';
n = n + '';
return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n;
}

function range (min, max) {
return min + mersenne.rand(max-min+1);
}
Expand All @@ -457,7 +451,7 @@ module.exports = {
Generator,
random,
randomItem,
pad,
pad: util.pad,
range,
uppercaseify,
include,
Expand Down
14 changes: 14 additions & 0 deletions models/Load.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
const mongoose = require('mongoose');

const loadSchema = mongoose.Schema({
date: {
type: Date,
unique: true
},
'load': Number
});
loadSchema.index({date: 1}, {unique: true});

const Load = mongoose.model('Load', loadSchema);

module.exports = Load;
33 changes: 7 additions & 26 deletions routes/api.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
const fs = require('fs');
const util = require('util');
const writeFile = util.promisify(fs.writeFile);
const unlink = util.promisify(fs.unlink);
const writeFile = require('util').promisify(fs.writeFile);
const unlink = require('util').promisify(fs.unlink);
const qs = require('qs');
const express = require('express');
const router = express.Router();
const settings = require('../settings');
const Request = require('../models/Request');
const legRequest = require('request-promise-native');
const store = require('../store');
const util = require('../util');

router.use('/portraits', express.static('public/portraits'));

Expand Down Expand Up @@ -111,7 +111,7 @@ async function genUser(req, res, version) {
payload[version.replace(/\./g, '_')] = results;

let doc = await Request.findOneAndUpdate(
{date: getDateTime()},
{date: util.getDateTime()},
{$setOnInsert: payload},
{
returnOriginal: false,
Expand All @@ -120,7 +120,7 @@ async function genUser(req, res, version) {
);

if (doc !== null) {
await Request.updateOne({date: getDateTime()}, {$inc: payload});
await Request.updateOne({date: util.getDateTime()}, {$inc: payload});
}

res.send(ret);
Expand Down Expand Up @@ -188,7 +188,7 @@ async function genUser(req, res, version) {
payload[version.replace(/\./g, '_')] = results;

let doc = await Request.findOneAndUpdate(
{date: getDateTime()},
{date: util.getDateTime()},
{$setOnInsert: payload},
{
returnOriginal: true,
Expand All @@ -197,7 +197,7 @@ async function genUser(req, res, version) {
);

if (doc !== null) {
await Request.updateOne({date: getDateTime()}, {$inc: payload});
await Request.updateOne({date: util.getDateTime()}, {$inc: payload});
}

// Download or output file
Expand Down Expand Up @@ -227,23 +227,4 @@ async function genUser(req, res, version) {
}
}

function getDateTime() {
const date = new Date();
const year = date.getFullYear();

let month = date.getMonth() + 1;
month = (month < 10 ? '0' : '') + month;

let day = date.getDate();
day = (day < 10 ? '0' : '') + day;

return year + '-' + pad(month, 2) + '-' + pad(day, 2);
}

function pad(n, width, z) {
z = z || '0';
n = n + '';
return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n;
}

module.exports = router;
25 changes: 3 additions & 22 deletions routes/stats.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,11 @@ const format = require('format-number')();
const filesize = require('filesize');
const router = express.Router();
const Request = require('../models/Request');
const util = require('../util');

router.get('/', (req, res, next) => {
Request.find({
date: { $gte: getDateTime(30) }
date: { $gte: util.getDateTime(30) }
}, {
date: 1,
bandwidth: 1,
Expand All @@ -27,29 +28,9 @@ router.get('/', (req, res, next) => {
});
});

function getDateTime(daysBack) {
daysBack = daysBack || 0;
const date = new Date(new Date().getTime() - 86400000 * daysBack);
const year = date.getFullYear();

let month = date.getMonth() + 1;
month = (month < 10 ? '0' : '') + month;

let day = date.getDate();
day = (day < 10 ? '0' : '') + day;

return year + '-' + pad(month, 2) + '-' + pad(day, 2);
}

function pad(n, width, z) {
z = z || '0';
n = n + '';
return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n;
}

function simpleDate(date) {
const a = new Date(date);
return pad(a.getMonth()+1, 2) + "." + pad(a.getUTCDate(), 2);
return util.pad(a.getMonth()+1, 2) + "." + util.pad(a.getUTCDate(), 2);
}

module.exports = router;
Loading

0 comments on commit 3092f95

Please sign in to comment.