fix permissions
This commit is contained in:
@@ -363,6 +363,108 @@ class IssueController {
|
||||
}
|
||||
}
|
||||
|
||||
async getIssueStatuses(_req: Request, res: Response): Promise<void> {
|
||||
try {
|
||||
const items = await issueService.getIssueStatuses();
|
||||
res.status(200).json({ success: true, data: items });
|
||||
} catch (error) {
|
||||
logger.error('IssueController.getIssueStatuses error', { error });
|
||||
res.status(500).json({ success: false, message: 'Issue-Status konnten nicht geladen werden' });
|
||||
}
|
||||
}
|
||||
|
||||
async createIssueStatus(req: Request, res: Response): Promise<void> {
|
||||
const { schluessel, bezeichnung } = req.body;
|
||||
if (!schluessel?.trim() || !bezeichnung?.trim()) {
|
||||
res.status(400).json({ success: false, message: 'Schlüssel und Bezeichnung sind erforderlich' });
|
||||
return;
|
||||
}
|
||||
try {
|
||||
const item = await issueService.createIssueStatus(req.body);
|
||||
res.status(201).json({ success: true, data: item });
|
||||
} catch (error) {
|
||||
logger.error('IssueController.createIssueStatus error', { error });
|
||||
res.status(500).json({ success: false, message: 'Issue-Status konnte nicht erstellt werden' });
|
||||
}
|
||||
}
|
||||
|
||||
async updateIssueStatus(req: Request, res: Response): Promise<void> {
|
||||
const id = parseInt(param(req, 'id'), 10);
|
||||
if (isNaN(id)) { res.status(400).json({ success: false, message: 'Ungültige ID' }); return; }
|
||||
try {
|
||||
const item = await issueService.updateIssueStatus(id, req.body);
|
||||
if (!item) { res.status(404).json({ success: false, message: 'Nicht gefunden' }); return; }
|
||||
res.status(200).json({ success: true, data: item });
|
||||
} catch (error) {
|
||||
logger.error('IssueController.updateIssueStatus error', { error });
|
||||
res.status(500).json({ success: false, message: 'Issue-Status konnte nicht aktualisiert werden' });
|
||||
}
|
||||
}
|
||||
|
||||
async deleteIssueStatus(req: Request, res: Response): Promise<void> {
|
||||
const id = parseInt(param(req, 'id'), 10);
|
||||
if (isNaN(id)) { res.status(400).json({ success: false, message: 'Ungültige ID' }); return; }
|
||||
try {
|
||||
const item = await issueService.deleteIssueStatus(id);
|
||||
if (!item) { res.status(404).json({ success: false, message: 'Nicht gefunden' }); return; }
|
||||
res.status(200).json({ success: true, data: item });
|
||||
} catch (error) {
|
||||
logger.error('IssueController.deleteIssueStatus error', { error });
|
||||
res.status(500).json({ success: false, message: 'Issue-Status konnte nicht deaktiviert werden' });
|
||||
}
|
||||
}
|
||||
|
||||
async getIssuePriorities(_req: Request, res: Response): Promise<void> {
|
||||
try {
|
||||
const items = await issueService.getIssuePriorities();
|
||||
res.status(200).json({ success: true, data: items });
|
||||
} catch (error) {
|
||||
logger.error('IssueController.getIssuePriorities error', { error });
|
||||
res.status(500).json({ success: false, message: 'Prioritäten konnten nicht geladen werden' });
|
||||
}
|
||||
}
|
||||
|
||||
async createIssuePriority(req: Request, res: Response): Promise<void> {
|
||||
const { schluessel, bezeichnung } = req.body;
|
||||
if (!schluessel?.trim() || !bezeichnung?.trim()) {
|
||||
res.status(400).json({ success: false, message: 'Schlüssel und Bezeichnung sind erforderlich' });
|
||||
return;
|
||||
}
|
||||
try {
|
||||
const item = await issueService.createIssuePriority(req.body);
|
||||
res.status(201).json({ success: true, data: item });
|
||||
} catch (error) {
|
||||
logger.error('IssueController.createIssuePriority error', { error });
|
||||
res.status(500).json({ success: false, message: 'Priorität konnte nicht erstellt werden' });
|
||||
}
|
||||
}
|
||||
|
||||
async updateIssuePriority(req: Request, res: Response): Promise<void> {
|
||||
const id = parseInt(param(req, 'id'), 10);
|
||||
if (isNaN(id)) { res.status(400).json({ success: false, message: 'Ungültige ID' }); return; }
|
||||
try {
|
||||
const item = await issueService.updateIssuePriority(id, req.body);
|
||||
if (!item) { res.status(404).json({ success: false, message: 'Nicht gefunden' }); return; }
|
||||
res.status(200).json({ success: true, data: item });
|
||||
} catch (error) {
|
||||
logger.error('IssueController.updateIssuePriority error', { error });
|
||||
res.status(500).json({ success: false, message: 'Priorität konnte nicht aktualisiert werden' });
|
||||
}
|
||||
}
|
||||
|
||||
async deleteIssuePriority(req: Request, res: Response): Promise<void> {
|
||||
const id = parseInt(param(req, 'id'), 10);
|
||||
if (isNaN(id)) { res.status(400).json({ success: false, message: 'Ungültige ID' }); return; }
|
||||
try {
|
||||
const item = await issueService.deleteIssuePriority(id);
|
||||
if (!item) { res.status(404).json({ success: false, message: 'Nicht gefunden' }); return; }
|
||||
res.status(200).json({ success: true, data: item });
|
||||
} catch (error) {
|
||||
logger.error('IssueController.deleteIssuePriority error', { error });
|
||||
res.status(500).json({ success: false, message: 'Priorität konnte nicht deaktiviert werden' });
|
||||
}
|
||||
}
|
||||
|
||||
async getStatusmeldungen(_req: Request, res: Response): Promise<void> {
|
||||
try {
|
||||
const items = await issueService.getStatusmeldungen();
|
||||
|
||||
Reference in New Issue
Block a user