complete new audit system
This commit is contained in:
+11
-9
@@ -1,22 +1,24 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const express_1 = require("express");
|
||||
const client_1 = require("@prisma/client");
|
||||
const prisma_js_1 = __importDefault(require("../lib/prisma.js"));
|
||||
const auth_js_1 = require("../middleware/auth.js");
|
||||
const router = (0, express_1.Router)();
|
||||
const prisma = new client_1.PrismaClient();
|
||||
// Setup-Endpunkt: Erstellt die developer:access Permission und fügt sie der Admin-Rolle hinzu
|
||||
// Dieser Endpunkt erfordert keine Authentifizierung, da er nur einmalig zum Setup verwendet wird
|
||||
router.post('/setup', async (req, res) => {
|
||||
try {
|
||||
// Create or get the developer:access permission
|
||||
const developerPerm = await prisma.permission.upsert({
|
||||
const developerPerm = await prisma_js_1.default.permission.upsert({
|
||||
where: { resource_action: { resource: 'developer', action: 'access' } },
|
||||
update: {},
|
||||
create: { resource: 'developer', action: 'access' },
|
||||
});
|
||||
// Get the Admin role
|
||||
const adminRole = await prisma.role.findUnique({
|
||||
const adminRole = await prisma_js_1.default.role.findUnique({
|
||||
where: { name: 'Admin' },
|
||||
include: { permissions: true },
|
||||
});
|
||||
@@ -27,7 +29,7 @@ router.post('/setup', async (req, res) => {
|
||||
// Check if Admin already has this permission
|
||||
const hasPermission = adminRole.permissions.some((rp) => rp.permissionId === developerPerm.id);
|
||||
if (!hasPermission) {
|
||||
await prisma.rolePermission.create({
|
||||
await prisma_js_1.default.rolePermission.create({
|
||||
data: {
|
||||
roleId: adminRole.id,
|
||||
permissionId: developerPerm.id,
|
||||
@@ -286,7 +288,7 @@ router.get('/table/:tableName', auth_js_1.authenticate, (0, auth_js_1.requirePer
|
||||
}
|
||||
const skip = (parseInt(page) - 1) * parseInt(limit);
|
||||
const take = parseInt(limit);
|
||||
const model = prisma[meta.model];
|
||||
const model = prisma_js_1.default[meta.model];
|
||||
const [data, total] = await Promise.all([
|
||||
model.findMany({
|
||||
skip,
|
||||
@@ -339,7 +341,7 @@ router.put('/table/:tableName/:id', auth_js_1.authenticate, (0, auth_js_1.requir
|
||||
return;
|
||||
}
|
||||
}
|
||||
const model = prisma[meta.model];
|
||||
const model = prisma_js_1.default[meta.model];
|
||||
// Composite Primary Key Handling
|
||||
let where;
|
||||
if (meta.primaryKey.includes(',')) {
|
||||
@@ -381,7 +383,7 @@ router.delete('/table/:tableName/:id', auth_js_1.authenticate, (0, auth_js_1.req
|
||||
res.status(404).json({ success: false, error: 'Tabelle nicht gefunden' });
|
||||
return;
|
||||
}
|
||||
const model = prisma[meta.model];
|
||||
const model = prisma_js_1.default[meta.model];
|
||||
// Composite Primary Key Handling
|
||||
let where;
|
||||
if (meta.primaryKey.includes(',')) {
|
||||
@@ -439,7 +441,7 @@ router.get('/reference/:tableName', auth_js_1.authenticate, (0, auth_js_1.requir
|
||||
res.status(404).json({ success: false, error: 'Tabelle nicht gefunden' });
|
||||
return;
|
||||
}
|
||||
const model = prisma[meta.model];
|
||||
const model = prisma_js_1.default[meta.model];
|
||||
const data = await model.findMany({
|
||||
take: parseInt(limit),
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user