complete new audit system
This commit is contained in:
+23
-21
@@ -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
|
||||
Reference in New Issue
Block a user