change validator api

This commit is contained in:
grimhilt
2023-04-13 10:58:58 +02:00
parent 4e79ab12dc
commit e43ab6cfe1
3 changed files with 54 additions and 54 deletions

View File

@@ -1,4 +1,3 @@
import statusCodes from "../utils/statusCodes";
import express from "express";
const router = express.Router();
@@ -6,27 +5,14 @@ import { rooms } from "../abl/rooms";
import Message from "../abl/Messages-abl";
import { messages } from "../abl/messages";
import { members } from "../abl/members";
import {
validateCreateAccount,
validateGetAccounts,
validateGetMembers,
validateGetMessages,
validateGetRooms,
validateAddFlag,
validateRemoveFlag,
} from "../validator/validator";
import Account from "../abl/Account-abl";
import validator from "../validator/validator";
/**
* Return all mailboxes and folders for an user
*/
router.get("/accounts", async (req, res) => {
const valid = validateGetAccounts(req.params);
if (!valid) {
res.status(statusCodes.NOT_ACCEPTABLE).send({ error: validateGetAccounts.errors });
} else {
await Account.getAll(req.params, res);
}
await validator.validate("getAccounts", req.params, res, Account.getAll);
});
/**
@@ -34,66 +20,36 @@ router.get("/accounts", async (req, res) => {
*/
router.get("/:mailboxId/rooms", async (req, res) => {
// todo offet limit
const valid = validateGetRooms(req.params);
if (!valid) {
res.status(statusCodes.NOT_ACCEPTABLE).send({ error: validateGetRooms.errors });
} else {
await rooms(req.params, res);
}
await validator.validate("getRooms", req.params, res, rooms);
});
/**
* Return all messages from a room
*/
router.get("/:roomId/messages", async (req, res) => {
const valid = validateGetMessages(req.params);
if (!valid) {
res.status(statusCodes.NOT_ACCEPTABLE).send({ error: validateGetMessages.errors });
} else {
await messages(req.params, res);
}
await validator.validate("getMessages", req.params, res, messages);
});
/**
* Return all members from a room
*/
router.get("/:roomId/members", async (req, res) => {
const valid = validateGetMembers(req.params);
if (!valid) {
res.status(statusCodes.NOT_ACCEPTABLE).send({ error: validateGetMembers.errors });
} else {
await members(req.params, res);
}
await validator.validate("getMembers", req.params, res, members);
});
/**
* Register a new mailbox inside the app
*/
router.post("/account", async (req, res) => {
const valid = validateCreateAccount(req.body);
if (!valid) {
res.status(statusCodes.NOT_ACCEPTABLE).send({ error: validateCreateAccount.errors });
} else {
await Account.register(req.body, res);
}
await validator.validate("createAccount", req.body, res, Account.register);
});
router.post("/addFlag", async (req, res) => {
const valid = validateAddFlag(req.body);
if (!valid) {
res.status(statusCodes.NOT_ACCEPTABLE).send({ error: validateAddFlag.errors });
} else {
await Message.addFlag(req.body, res);
}
await validator.validate("addFlag", req.body, res, Message.addFlag);
});
router.post("/removeFlag", async (req, res) => {
const valid = validateRemoveFlag(req.body);
if (!valid) {
res.status(statusCodes.NOT_ACCEPTABLE).send({ error: validateRemoveFlag.errors });
} else {
await Message.removeFlag(req.body, res);
}
await validator.validate("removeFlag", req.body, res, Message.removeFlag);
});
export default router;