complete new audit system
This commit is contained in:
+13
-11
@@ -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 },
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user