import express from "express"; const router = express.Router(); import Message from "../abl/Message-abl"; import Account from "../abl/Account-abl"; import validator from "../validator/validator"; import Room from "../abl/Room-abl"; /** * Return all mailboxes and folders for an user */ router.get("/accounts", async (req, res) => { await validator.validate("getAccounts", req.params, res, Account.getAll); }); /** * Return all rooms from a mailbox */ router.get("/:mailboxId/rooms", async (req, res) => { // todo offet limit await validator.validate("getRooms", req.params, res, Room.getAll); }); /** * Return all messages from a room */ router.get("/:roomId/messages", async (req, res) => { await validator.validate("getMessages", req.params, res, Room.getMessages); }); /** * Return all members from a room */ router.get("/:roomId/members", async (req, res) => { await validator.validate("getMembers", req.params, res, Room.getMembers); }); /** * Register a new mailbox inside the app */ router.post("/account", async (req, res) => { await validator.validate("createAccount", req.body, res, Account.register); }); router.post("/addFlag", async (req, res) => { await validator.validate("addFlag", req.body, res, Message.addFlag); }); router.post("/removeFlag", async (req, res) => { await validator.validate("removeFlag", req.body, res, Message.removeFlag); }); router.post("/response", async (req, res) => { await validator.validate("response", req.body, res, Room.response); }); export default router;