Resolved errors bug and fixed the permanote controller - also working toward renaming all instances of PermaLink to permanote
This commit is contained in:
@@ -2,6 +2,6 @@ export const Controllers = {};
|
|||||||
|
|
||||||
Controllers.UserController = require('./userController').UserController;
|
Controllers.UserController = require('./userController').UserController;
|
||||||
Controllers.LoginController = require('./loginController').LoginController;
|
Controllers.LoginController = require('./loginController').LoginController;
|
||||||
Controllers.PermaLinkController = require('./permaLinkController').PermaLinkController;
|
Controllers.PermaNoteController = require('./permaNoteController').PermaNoteController;
|
||||||
Controllers.NoteController = require('./noteController').NoteController;
|
Controllers.NoteController = require('./noteController').NoteController;
|
||||||
Controllers.GroupController = require('./groupController').GroupController;
|
Controllers.GroupController = require('./groupController').GroupController;
|
||||||
|
|||||||
@@ -42,7 +42,8 @@ export class LoginController extends ControllerHandler {
|
|||||||
|
|
||||||
const match = await User.Password.compare(password, user.password);
|
const match = await User.Password.compare(password, user.password);
|
||||||
if (!match) {
|
if (!match) {
|
||||||
errors.addError(401, 'Unauthorized', 'Incorrect password for user').endpoint();
|
errors.addError(401, 'Unauthorized', 'Incorrect password for user');
|
||||||
|
errors.endpoint();
|
||||||
next();
|
next();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import {MiddleWare} from './index';
|
import {MiddleWare} from './middleware';
|
||||||
import {API} from '../api/api';
|
import {API} from '../api/api';
|
||||||
import {Logger} from '../../models/logger'
|
import {Logger} from '../../models/logger'
|
||||||
import {Auth} from '../../models/auth/authModel';
|
import {Auth} from '../../models/auth/authModel';
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import {Logger} from '../../models/logger';
|
import {Logger} from '../../models/logger';
|
||||||
import {MiddleWare} from './index';
|
import {MiddleWare} from './middleware';
|
||||||
|
|
||||||
let requestsPerSecond = 2;
|
let requestsPerSecond = 2;
|
||||||
// let disposeTime = 20000; //ms 1800000 = 30 mins
|
// let disposeTime = 20000; //ms 1800000 = 30 mins
|
||||||
|
|||||||
@@ -14,13 +14,15 @@ export class NoteController extends ControllerHandler {
|
|||||||
const user = req.user || undefined;
|
const user = req.user || undefined;
|
||||||
|
|
||||||
if (!creatorid || !user) {
|
if (!creatorid || !user) {
|
||||||
errors.addError(403, 'Forbidden').endpoint();
|
errors.addError(403, 'Forbidden');
|
||||||
|
errors.endpoint();
|
||||||
next();
|
next();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!order) {
|
if (!order) {
|
||||||
errors.addError(422, 'Unprocessable entity').endpoint();
|
errors.addError(422, 'Unprocessable entity');
|
||||||
|
errors.endpoint();
|
||||||
next();
|
next();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -33,7 +35,8 @@ export class NoteController extends ControllerHandler {
|
|||||||
} else {
|
} else {
|
||||||
const doesExist = await Notes.doesGroupExist(user.id, parentgroup);
|
const doesExist = await Notes.doesGroupExist(user.id, parentgroup);
|
||||||
if (!doesExist) {
|
if (!doesExist) {
|
||||||
errors.addError(422, 'Unprocessable entity', 'You are trying to create a note for a group that does not exist').endpoint();
|
errors.addError(422, 'Unprocessable entity', 'You are trying to create a note for a group that does not exist');
|
||||||
|
errors.endpoint();
|
||||||
next();
|
next();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -41,7 +44,8 @@ export class NoteController extends ControllerHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (success == -1) {
|
if (success == -1) {
|
||||||
errors.addError(500, 'Internal server error').endpoint();
|
errors.addError(500, 'Internal server error');
|
||||||
|
errors.endpoint();
|
||||||
next();
|
next();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,14 +4,14 @@ import {API} from './api/api';
|
|||||||
import {Database} from '../models/database/database'
|
import {Database} from '../models/database/database'
|
||||||
import {PermaLink} from '../models/permalinks/permalink';
|
import {PermaLink} from '../models/permalinks/permalink';
|
||||||
|
|
||||||
export class PermaLinkController extends ControllerHandler {
|
export class PermaNoteController extends ControllerHandler {
|
||||||
static async unauthentacatedPermaLink(req, res, next) {
|
static async newPermaNote(req, res, next) {
|
||||||
const errors = new API.errors(res);
|
const errors = new API.errors(res);
|
||||||
|
|
||||||
const content = req.body.content || undefined;
|
const content = req.body.content || undefined;
|
||||||
if (!content) {
|
if (!content) {
|
||||||
errors.addError(422, 'Unprocessable entity', 'There is no text').endpoint();
|
errors.addError(422, 'Unprocessable entity', 'There is no content');
|
||||||
next();
|
errors.endpoint();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -20,8 +20,8 @@ export class PermaLinkController extends ControllerHandler {
|
|||||||
|
|
||||||
const success = await Database.PermaNotes.newNote(uid, endpoint, content);
|
const success = await Database.PermaNotes.newNote(uid, endpoint, content);
|
||||||
if (success == -1) {
|
if (success == -1) {
|
||||||
errors.addError(500, 'Internal server error').endpoint();
|
errors.addError(500, 'Internal server error');
|
||||||
next();
|
errors.endpoint();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -29,17 +29,16 @@ export class PermaLinkController extends ControllerHandler {
|
|||||||
next();
|
next();
|
||||||
}
|
}
|
||||||
|
|
||||||
static async getNote(req, res, next) {
|
static async getPermaNote(req, res, next) {
|
||||||
const endpoint = req.params.endpoint || undefined;
|
const endpoint = req.params.endpoint || undefined;
|
||||||
|
|
||||||
if (!endpoint) {
|
if (!endpoint) {
|
||||||
next();
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const data = await Database.PermaNotes.getNoteByEndpoint(endpoint);
|
const data = await Database.PermaNotes.getNoteByEndpoint(endpoint);
|
||||||
if (data == -1) {
|
if (data == -1) {
|
||||||
next();
|
res.status(404).end('404 Not Found');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
import {Logger} from '../../models/logger';
|
import {Logger} from '../../models/logger';
|
||||||
import {Server} from '../../server';
|
import {Server} from '../../server';
|
||||||
import {MiddleWare} from '../middleware/index';
|
import {MiddleWare} from '../middleware/middleware';
|
||||||
import {ErrorHandler} from '../middleware/errors/errorHandler';
|
import {ErrorHandler} from '../middleware/errors/errorHandler';
|
||||||
import {StatusCodes} from '../status';
|
import {StatusCodes} from '../status';
|
||||||
import {Controllers} from '../index';
|
import {Controllers} from '../index';
|
||||||
@@ -20,8 +20,8 @@ export class Router {
|
|||||||
app.get('/auth/user/:id', [MiddleWare.RateLimits.request, MiddleWare.Auth.authUser]);
|
app.get('/auth/user/:id', [MiddleWare.RateLimits.request, MiddleWare.Auth.authUser]);
|
||||||
app.delete('/auth/user/:id', [MiddleWare.RateLimits.request, MiddleWare.Auth.authUser]);
|
app.delete('/auth/user/:id', [MiddleWare.RateLimits.request, MiddleWare.Auth.authUser]);
|
||||||
|
|
||||||
app.post('/unauth/permanote', [MiddleWare.RateLimits.request, Controllers.PermaLinkController.unauthentacatedPermaLink]);
|
app.post('/unauth/permanote', [MiddleWare.RateLimits.request, Controllers.PermaNoteController.newPermaNote]);
|
||||||
app.get('/note/:endpoint', [MiddleWare.RateLimits.request, Controllers.PermaLinkController.getNote]);
|
app.get('/note/:endpoint', [MiddleWare.RateLimits.request, Controllers.PermaNoteController.getPermaNote]);
|
||||||
|
|
||||||
app.post('/auth/note', [MiddleWare.RateLimits.request, MiddleWare.Auth.authUser, Controllers.NoteController.newNote]); // Passes through auth middleware which if authenticated passes user obj and token to the note handling function for it to deal with
|
app.post('/auth/note', [MiddleWare.RateLimits.request, MiddleWare.Auth.authUser, Controllers.NoteController.newNote]); // Passes through auth middleware which if authenticated passes user obj and token to the note handling function for it to deal with
|
||||||
app.post('/auth/group', [MiddleWare.RateLimits.request, MiddleWare.Auth.authUser, Controllers.GroupController.newGroup]);
|
app.post('/auth/group', [MiddleWare.RateLimits.request, MiddleWare.Auth.authUser, Controllers.GroupController.newGroup]);
|
||||||
|
|||||||
@@ -48,7 +48,8 @@ export class UserController extends ControllerHandler {
|
|||||||
const user = new User(id, username, encryptedPass, email, ip, 1234); // Authcode is placeholder for email authentication
|
const user = new User(id, username, encryptedPass, email, ip, 1234); // Authcode is placeholder for email authentication
|
||||||
const success = await user.insert();
|
const success = await user.insert();
|
||||||
if (success == -1) {
|
if (success == -1) {
|
||||||
errors.addError(500, 'Internal server error').endpoint();
|
errors.addError(500, 'Internal server error');
|
||||||
|
errors.endpoint();
|
||||||
next();
|
next();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import {Config} from './config/config';
|
|||||||
import {Database} from './models/database/database';
|
import {Database} from './models/database/database';
|
||||||
import {Server} from './server';
|
import {Server} from './server';
|
||||||
import {Router} from './controllers/routes/router';
|
import {Router} from './controllers/routes/router';
|
||||||
import {MiddleWare} from './controllers/middleware';
|
import {MiddleWare} from './controllers/middleware/middleware';
|
||||||
|
|
||||||
init();
|
init();
|
||||||
async function init() {
|
async function init() {
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user