feat: Add comprehensive audit logging system
- Add audit logging for contacts (link company, create company from contact) - Add audit logging for notes (create, update, delete) - Add audit logging for companies (update, user assign/remove, reminder CRUD) - Add audit logging for projects (update, user assign/remove) - Add audit logging for todos (update, uncomplete) - Add audit logging for time entries (update, delete) - Add audit logging for timesheets (upload, delete) - Add audit logging for user deletion - Add pagination and filters to audit logs API (userId, action, resource, dateFrom, dateTo) - Add endpoints for distinct actions and resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import * as adminService from '../services/admin.service.js';
|
||||
import * as statusService from '../services/status.service.js';
|
||||
import { logUserCreation, logRoleChange } from '../services/audit.service.js';
|
||||
import { logUserCreation, logRoleChange, logUserDeleted } from '../services/audit.service.js';
|
||||
import { triggerEventNotifications } from '../cron/index.js';
|
||||
|
||||
/**
|
||||
@@ -131,10 +131,19 @@ export const changeUserRole = async (req, res, next) => {
|
||||
*/
|
||||
export const deleteUser = async (req, res, next) => {
|
||||
const { userId } = req.params;
|
||||
const adminId = req.userId;
|
||||
const ipAddress = req.ip || req.connection.remoteAddress;
|
||||
const userAgent = req.headers['user-agent'];
|
||||
|
||||
try {
|
||||
// Get user info before deletion for audit
|
||||
const userToDelete = await adminService.getUserById(userId);
|
||||
|
||||
const result = await adminService.deleteUser(userId);
|
||||
|
||||
// Log user deletion
|
||||
await logUserDeleted(adminId, userId, userToDelete.username, ipAddress, userAgent);
|
||||
|
||||
res.status(200).json({
|
||||
success: true,
|
||||
message: 'Používateľ bol zmazaný',
|
||||
|
||||
Reference in New Issue
Block a user