69 lines
1.9 KiB
JavaScript
69 lines
1.9 KiB
JavaScript
import {ControllerHandler} from './controllerHandler';
|
|
import {API} from '../models/api/api';
|
|
import {Notes} from '../models/notes/notes';
|
|
|
|
export class NoteController extends ControllerHandler {
|
|
static async newNote(req, res, next) {
|
|
let errors = new API.errors(res);
|
|
|
|
let content = req.body.text || null;
|
|
let creatorid = req.user.id || undefined;
|
|
let group = req.body.parentgroup || undefined;
|
|
let order = req.body.order || undefined;
|
|
|
|
let user = req.user || undefined;
|
|
|
|
if (!creatorid || !user) {
|
|
errors.addError(403, 'Forbidden');
|
|
errors.endpoint();
|
|
next();
|
|
return;
|
|
}
|
|
|
|
if (!order) {
|
|
errors.addError(422, 'Unprocessable entity');
|
|
errors.endpoint();
|
|
next();
|
|
return;
|
|
}
|
|
|
|
let id = await Notes.genID();
|
|
|
|
let success;
|
|
if (!group) {
|
|
success = await Notes.newNote(id, content, creatorid, order);
|
|
} else {
|
|
let doesExist = await Notes.doesGroupExist(user.id, parentgroup);
|
|
if (!doesExist) {
|
|
errors.addError(422, 'Unprocessable entity', 'You are trying to create a note for a group that does not exist');
|
|
errors.endpoint();
|
|
next();
|
|
return;
|
|
}
|
|
success = await Notes.newGroupedNote(id, content, creatorid, order, parentgroup);
|
|
}
|
|
|
|
if (success == -1) {
|
|
errors.addError(500, 'Internal server error');
|
|
errors.endpoint();
|
|
next();
|
|
return;
|
|
}
|
|
|
|
new API.note(res, user, id, content, order, parentgroup).endpoint();
|
|
next();
|
|
}
|
|
|
|
}
|
|
|
|
// id: id,
|
|
// content: content,
|
|
// parentgroup: parentgroup,
|
|
// creatorid: creatorid,
|
|
// order: order,
|
|
// catergory: null,
|
|
// endpoint: null,
|
|
// lastupdated: new Date().getTime()
|
|
|
|
// static async newNote(id, content, creatorid, order, parentgroup) {
|