Skip to content
This repository was archived by the owner on Dec 15, 2019. It is now read-only.

Commit 49efafb

Browse files
committed
Add status endpoint to receive basic server and session stats
1 parent 2085849 commit 49efafb

File tree

2 files changed

+46
-23
lines changed

2 files changed

+46
-23
lines changed

src/api/api.js

Lines changed: 25 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -27,33 +27,34 @@ const mapHandler = mod => async (req, res) => {
2727
};
2828

2929
// === Nodes endpoints
30-
const addMark = require('./endpoints/nodes/addMark.js');
31-
const changeColor = require('./endpoints/nodes/changeColor.js');
32-
const checkApiKey = require('./endpoints/user/checkApiKey.js');
33-
const copy = require('./endpoints/nodes/copy.js');
34-
const createFolder = require('./endpoints/nodes/createFolder.js');
35-
const createFolders = require('./endpoints/nodes/createFolders.js');
36-
const move = require('./endpoints/nodes/move.js');
37-
const removeMark = require('./endpoints/nodes/removeMark.js');
38-
const rename = require('./endpoints/nodes/rename.js');
39-
const update = require('./endpoints/nodes/update.js');
40-
const addStaticId = require('./endpoints/nodes/addStaticId.js');
41-
const removeStaticId = require('./endpoints/nodes/removeStaticId.js');
42-
const moveToBin = require('./endpoints/nodes/moveToBin.js');
43-
const restoreFromBin = require('./endpoints/nodes/restoreFromBin.js');
44-
const zip = require('./endpoints/nodes/zip.js');
30+
const addMark = require('./endpoints/nodes/addMark');
31+
const changeColor = require('./endpoints/nodes/changeColor');
32+
const checkApiKey = require('./endpoints/user/checkApiKey');
33+
const copy = require('./endpoints/nodes/copy');
34+
const createFolder = require('./endpoints/nodes/createFolder');
35+
const createFolders = require('./endpoints/nodes/createFolders');
36+
const move = require('./endpoints/nodes/move');
37+
const removeMark = require('./endpoints/nodes/removeMark');
38+
const rename = require('./endpoints/nodes/rename');
39+
const update = require('./endpoints/nodes/update');
40+
const addStaticId = require('./endpoints/nodes/addStaticId');
41+
const removeStaticId = require('./endpoints/nodes/removeStaticId');
42+
const moveToBin = require('./endpoints/nodes/moveToBin');
43+
const restoreFromBin = require('./endpoints/nodes/restoreFromBin');
44+
const zip = require('./endpoints/nodes/zip');
4545

4646
// === User endpoints
47-
const login = require('./endpoints/user/login.js');
48-
const register = require('./endpoints/user/register.js');
49-
const updateCredentials = require('./endpoints/user/updateCredentials.js');
50-
const deleteAccount = require('./endpoints/user/deleteAccount.js');
47+
const login = require('./endpoints/user/login');
48+
const register = require('./endpoints/user/register');
49+
const updateCredentials = require('./endpoints/user/updateCredentials');
50+
const deleteAccount = require('./endpoints/user/deleteAccount');
51+
const status = require('./endpoints/user/status');
5152

5253
// === Data endpoints
53-
const download = require('./endpoints/data/download.js');
54-
const statics = require('./endpoints/data/static.js');
55-
const upload = require('./endpoints/data/upload/upload.js');
56-
const del = require('./endpoints/data/delete.js');
54+
const download = require('./endpoints/data/download');
55+
const statics = require('./endpoints/data/static');
56+
const upload = require('./endpoints/data/upload/upload');
57+
const del = require('./endpoints/data/delete');
5758

5859
// === Events endpoints
5960
const getStats = require('./endpoints/stats/getStats');
@@ -84,6 +85,7 @@ api.post('/login', json, mapHandler(login));
8485
api.post('/register', json, mapHandler(register));
8586
api.post('/updateCredentials', json, mapHandler(updateCredentials));
8687
api.post('/deleteAccount', json, mapHandler(deleteAccount));
88+
api.post('/status', json, mapHandler(status));
8789

8890
api.post('/updateStats', json, mapHandler(updateStats));
8991
api.post('/getStats', json, mapHandler(getStats));

src/api/endpoints/user/status.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
const authViaApiKey = require('../../tools/authViaApiKey');
2+
const websocket = require('../../../websocket');
3+
4+
module.exports = async req => {
5+
const {apikey} = req.body;
6+
7+
// Find user and validate color
8+
const user = await authViaApiKey(apikey);
9+
10+
return {
11+
availableSpace: _config.server.totalStorageLimitPerUser,
12+
uploadSizeLimitPerFile: _config.server.uploadSizeLimitPerFile,
13+
activeSessions: websocket.getSessionsBy(user.id),
14+
user: {
15+
id: user.id,
16+
username: user.username,
17+
lastLogin: user.lastLoginAttempt,
18+
loginAttempts: user.loginAttempts
19+
}
20+
};
21+
};

0 commit comments

Comments
 (0)