62 lines
2.6 KiB
JavaScript
62 lines
2.6 KiB
JavaScript
"use strict";
|
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
const board_repo_1 = __importDefault(require("@src/repos/board.repo"));
|
|
class BoardController {
|
|
constructor() {
|
|
// Get all boards for a user
|
|
this.getBoardsByUserId = async (req, res) => {
|
|
if (!req.headers.authorization) {
|
|
return res.status(401).json({ error: 'Unauthorized' });
|
|
}
|
|
const userId = +req.params.userId;
|
|
const boards = await board_repo_1.default.getBoardsByUserId(userId);
|
|
return res.json({ boards });
|
|
};
|
|
// Get single board by userId and boardId
|
|
this.getBoardByUserId = async (req, res) => {
|
|
if (!req.headers.authorization) {
|
|
return res.status(401).json({ error: 'Unauthorized' });
|
|
}
|
|
const userId = +req.params.userId;
|
|
const boardId = +req.params.boardId;
|
|
const board = await board_repo_1.default.getBoardByUserId(userId, boardId);
|
|
return res.json({ board });
|
|
};
|
|
// Create board for a user
|
|
this.createBoard = async (req, res) => {
|
|
if (!req.body.name) {
|
|
return res.status(400).json({ error: 'Board name required' });
|
|
}
|
|
const userId = +req.params.userId;
|
|
const boardData = req.body;
|
|
const board = await board_repo_1.default.createBoard(userId, boardData);
|
|
return res.status(201).json({ board });
|
|
};
|
|
// Update board for a user
|
|
this.updateBoard = async (req, res) => {
|
|
if (!req.body.name) {
|
|
return res.status(400).json({ error: 'Board name required' });
|
|
}
|
|
const userId = +req.params.userId;
|
|
const boardId = +req.params.boardId;
|
|
const boardData = req.body;
|
|
const board = await board_repo_1.default.updateBoard(userId, boardId, boardData);
|
|
return res.json({ board });
|
|
};
|
|
// Delete board for a user
|
|
this.deleteBoard = async (req, res) => {
|
|
if (!req.headers.authorization) {
|
|
return res.status(401).json({ error: 'Unauthorized' });
|
|
}
|
|
const userId = +req.params.userId;
|
|
const boardId = +req.params.boardId;
|
|
await board_repo_1.default.deleteBoard(userId, boardId);
|
|
return res.status(204).end();
|
|
};
|
|
}
|
|
}
|
|
exports.default = new BoardController();
|
|
//# sourceMappingURL=board.controller.js.map
|