tududi/backend/modules/views/controller.js
Chris 542be2c1e9
Fix bug 366 (#764)
* Optimize DB

* Clean up names

* fixup! Clean up names

* fixup! fixup! Clean up names
2026-01-07 18:18:07 +02:00

71 lines
1.8 KiB
JavaScript

'use strict';
const viewsService = require('./service');
const viewsController = {
async getAll(req, res, next) {
try {
const views = await viewsService.getAll(req.currentUser.id);
res.json(views);
} catch (error) {
next(error);
}
},
async getPinned(req, res, next) {
try {
const views = await viewsService.getPinned(req.currentUser.id);
res.json(views);
} catch (error) {
next(error);
}
},
async getOne(req, res, next) {
try {
const uid = decodeURIComponent(req.params.identifier);
const view = await viewsService.getByUid(req.currentUser.id, uid);
res.json(view);
} catch (error) {
next(error);
}
},
async create(req, res, next) {
try {
const view = await viewsService.create(
req.currentUser.id,
req.body
);
res.status(201).json(view);
} catch (error) {
next(error);
}
},
async update(req, res, next) {
try {
const uid = decodeURIComponent(req.params.identifier);
const view = await viewsService.update(
req.currentUser.id,
uid,
req.body
);
res.json(view);
} catch (error) {
next(error);
}
},
async delete(req, res, next) {
try {
const uid = decodeURIComponent(req.params.identifier);
const result = await viewsService.delete(req.currentUser.id, uid);
res.json(result);
} catch (error) {
next(error);
}
},
};
module.exports = viewsController;