import express from "express"; const router = express.Router(); import { rooms } from "../abl/rooms"; import Message from "../abl/Messages-abl"; import { messages } from "../abl/messages"; import { members } from "../abl/members"; 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) => { 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, rooms); }); /** * Return all messages from a room */ router.get("/:roomId/messages", async (req, res) => { await validator.validate("getMessages", req.params, res, messages); }); /** * Return all members from a room */ router.get("/:roomId/members", async (req, res) => { await validator.validate("getMembers", req.params, res, members); }); /** * 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); }); export default router;