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
+23 -21
View File
@@ -1,4 +1,7 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getTasksByContract = getTasksByContract;
exports.getTaskById = getTaskById;
@@ -15,8 +18,7 @@ exports.deleteSubtask = deleteSubtask;
exports.getSubtaskById = getSubtaskById;
exports.getAllTasks = getAllTasks;
exports.getTaskStats = getTaskStats;
const client_1 = require("@prisma/client");
const prisma = new client_1.PrismaClient();
const prisma_js_1 = __importDefault(require("../lib/prisma.js"));
async function getTasksByContract(filters) {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const where = {
@@ -38,7 +40,7 @@ async function getTasksByContract(filters) {
else if (filters.visibleInPortal !== undefined) {
where.visibleInPortal = filters.visibleInPortal;
}
return prisma.contractTask.findMany({
return prisma_js_1.default.contractTask.findMany({
where,
include: {
subtasks: {
@@ -49,12 +51,12 @@ async function getTasksByContract(filters) {
});
}
async function getTaskById(id) {
return prisma.contractTask.findUnique({
return prisma_js_1.default.contractTask.findUnique({
where: { id },
});
}
async function createTask(data) {
return prisma.contractTask.create({
return prisma_js_1.default.contractTask.create({
data: {
contractId: data.contractId,
title: data.title,
@@ -65,13 +67,13 @@ async function createTask(data) {
});
}
async function updateTask(id, data) {
return prisma.contractTask.update({
return prisma_js_1.default.contractTask.update({
where: { id },
data,
});
}
async function completeTask(id) {
return prisma.contractTask.update({
return prisma_js_1.default.contractTask.update({
where: { id },
data: {
status: 'COMPLETED',
@@ -80,7 +82,7 @@ async function completeTask(id) {
});
}
async function reopenTask(id) {
return prisma.contractTask.update({
return prisma_js_1.default.contractTask.update({
where: { id },
data: {
status: 'OPEN',
@@ -89,13 +91,13 @@ async function reopenTask(id) {
});
}
async function deleteTask(id) {
return prisma.contractTask.delete({
return prisma_js_1.default.contractTask.delete({
where: { id },
});
}
// ==================== SUBTASKS ====================
async function createSubtask(data) {
return prisma.contractTaskSubtask.create({
return prisma_js_1.default.contractTaskSubtask.create({
data: {
taskId: data.taskId,
title: data.title,
@@ -104,14 +106,14 @@ async function createSubtask(data) {
});
}
async function updateSubtask(id, data) {
return prisma.contractTaskSubtask.update({
return prisma_js_1.default.contractTaskSubtask.update({
where: { id },
data,
});
}
async function completeSubtask(id) {
// Complete the subtask
const subtask = await prisma.contractTaskSubtask.update({
const subtask = await prisma_js_1.default.contractTaskSubtask.update({
where: { id },
data: {
status: 'COMPLETED',
@@ -119,7 +121,7 @@ async function completeSubtask(id) {
},
});
// Check if all subtasks of the parent task are now completed
const remainingOpenSubtasks = await prisma.contractTaskSubtask.count({
const remainingOpenSubtasks = await prisma_js_1.default.contractTaskSubtask.count({
where: {
taskId: subtask.taskId,
status: 'OPEN',
@@ -127,7 +129,7 @@ async function completeSubtask(id) {
});
// If no open subtasks remain, automatically complete the parent task
if (remainingOpenSubtasks === 0) {
await prisma.contractTask.update({
await prisma_js_1.default.contractTask.update({
where: { id: subtask.taskId },
data: {
status: 'COMPLETED',
@@ -139,7 +141,7 @@ async function completeSubtask(id) {
}
async function reopenSubtask(id) {
// Reopen the subtask
const subtask = await prisma.contractTaskSubtask.update({
const subtask = await prisma_js_1.default.contractTaskSubtask.update({
where: { id },
data: {
status: 'OPEN',
@@ -147,11 +149,11 @@ async function reopenSubtask(id) {
},
});
// If the parent task was completed, reopen it as well
const parentTask = await prisma.contractTask.findUnique({
const parentTask = await prisma_js_1.default.contractTask.findUnique({
where: { id: subtask.taskId },
});
if (parentTask?.status === 'COMPLETED') {
await prisma.contractTask.update({
await prisma_js_1.default.contractTask.update({
where: { id: subtask.taskId },
data: {
status: 'OPEN',
@@ -162,12 +164,12 @@ async function reopenSubtask(id) {
return subtask;
}
async function deleteSubtask(id) {
return prisma.contractTaskSubtask.delete({
return prisma_js_1.default.contractTaskSubtask.delete({
where: { id },
});
}
async function getSubtaskById(id) {
return prisma.contractTaskSubtask.findUnique({
return prisma_js_1.default.contractTaskSubtask.findUnique({
where: { id },
include: { task: true },
});
@@ -200,7 +202,7 @@ async function getAllTasks(filters) {
customerId: filters.customerId,
};
}
return prisma.contractTask.findMany({
return prisma_js_1.default.contractTask.findMany({
where,
include: {
subtasks: {
@@ -266,7 +268,7 @@ async function getTaskStats(filters) {
customerId: filters.customerId,
};
}
const openCount = await prisma.contractTask.count({ where });
const openCount = await prisma_js_1.default.contractTask.count({ where });
return { openCount };
}
//# sourceMappingURL=contractTask.service.js.map