Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | import { prisma } from './db'; import { cacheInvalidatePattern } from './cache'; // Activity log entries. Retention: 90 days (legal req — handled by a // cleanup job that runs daily and deletes rows older than 90 days). // Writes go straight to DB (no cache for writes), and we invalidate any // `activity:*` read caches. export async function logActivity({ userId, action, detail, }: { userId: string; action: string; detail?: string | null; }): Promise<void> { await prisma.activityLog.create({ data: { userId, action, detail: detail ?? null }, }); await cacheInvalidatePattern('activity:*'); } |