complete new audit system

This commit is contained in:
2026-03-21 18:23:54 +01:00
parent 4f359df161
commit 219e1930f7
159 changed files with 2841 additions and 736 deletions
+13 -11
View File
@@ -1,5 +1,8 @@
"use strict";
// ==================== EMAIL PROVIDER SERVICE ====================
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getAllProviderConfigs = getAllProviderConfigs;
exports.getProviderConfigById = getProviderConfigById;
@@ -19,10 +22,9 @@ exports.renameProvisionedEmail = renameProvisionedEmail;
exports.getProviderDomain = getProviderDomain;
exports.testProviderConnection = testProviderConnection;
exports.getSystemEmailCredentials = getSystemEmailCredentials;
const client_1 = require("@prisma/client");
const prisma_js_1 = __importDefault(require("../../lib/prisma.js"));
const encryption_js_1 = require("../../utils/encryption.js");
const pleskProvider_js_1 = require("./pleskProvider.js");
const prisma = new client_1.PrismaClient();
// Factory-Funktion um den richtigen Provider zu erstellen
function createProvider(config) {
switch (config.type) {
@@ -40,17 +42,17 @@ function createProvider(config) {
}
// ==================== CONFIG CRUD ====================
async function getAllProviderConfigs() {
return prisma.emailProviderConfig.findMany({
return prisma_js_1.default.emailProviderConfig.findMany({
orderBy: [{ isDefault: 'desc' }, { name: 'asc' }],
});
}
async function getProviderConfigById(id) {
return prisma.emailProviderConfig.findUnique({
return prisma_js_1.default.emailProviderConfig.findUnique({
where: { id },
});
}
async function getDefaultProviderConfig() {
return prisma.emailProviderConfig.findFirst({
return prisma_js_1.default.emailProviderConfig.findFirst({
where: { isActive: true, isDefault: true },
});
}
@@ -59,14 +61,14 @@ async function getActiveProviderConfig() {
const defaultProvider = await getDefaultProviderConfig();
if (defaultProvider)
return defaultProvider;
return prisma.emailProviderConfig.findFirst({
return prisma_js_1.default.emailProviderConfig.findFirst({
where: { isActive: true },
});
}
async function createProviderConfig(data) {
// Falls isDefault=true, alle anderen auf false setzen
if (data.isDefault) {
await prisma.emailProviderConfig.updateMany({
await prisma_js_1.default.emailProviderConfig.updateMany({
where: { isDefault: true },
data: { isDefault: false },
});
@@ -75,7 +77,7 @@ async function createProviderConfig(data) {
const { encrypt } = await import('../../utils/encryption.js');
const passwordEncrypted = data.password ? encrypt(data.password) : null;
const systemEmailPasswordEncrypted = data.systemEmailPassword ? encrypt(data.systemEmailPassword) : null;
return prisma.emailProviderConfig.create({
return prisma_js_1.default.emailProviderConfig.create({
data: {
name: data.name,
type: data.type,
@@ -98,7 +100,7 @@ async function createProviderConfig(data) {
async function updateProviderConfig(id, data) {
// Falls isDefault=true, alle anderen auf false setzen
if (data.isDefault) {
await prisma.emailProviderConfig.updateMany({
await prisma_js_1.default.emailProviderConfig.updateMany({
where: { isDefault: true, id: { not: id } },
data: { isDefault: false },
});
@@ -149,13 +151,13 @@ async function updateProviderConfig(id, data) {
// System-E-Mail wird gelöscht → Passwort auch löschen
updateData.systemEmailPasswordEncrypted = null;
}
return prisma.emailProviderConfig.update({
return prisma_js_1.default.emailProviderConfig.update({
where: { id },
data: updateData,
});
}
async function deleteProviderConfig(id) {
return prisma.emailProviderConfig.delete({
return prisma_js_1.default.emailProviderConfig.delete({
where: { id },
});
}