var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var AuditService_1, RevalidateService_1; import { Global, Injectable, Logger, Module } from "@nestjs/common"; import { env } from "../config/env.js"; import { PrismaService } from "../prisma/prisma.service.js"; let AuditService = AuditService_1 = class AuditService { prisma; logger = new Logger(AuditService_1.name); constructor(prisma) { this.prisma = prisma; } log(userId, action, entity, entityId = "", summary = "") { this.prisma.auditLog .create({ data: { userId, action, entity, entityId: String(entityId), summary } }) .catch((e) => this.logger.warn(`audit log failed: ${String(e)}`)); } }; AuditService = AuditService_1 = __decorate([ Injectable(), __metadata("design:paramtypes", [PrismaService]) ], AuditService); export { AuditService }; let RevalidateService = RevalidateService_1 = class RevalidateService { logger = new Logger(RevalidateService_1.name); timer; trigger() { if (!env.WEB_REVALIDATE_URL) return; clearTimeout(this.timer); this.timer = setTimeout(() => void this.run(), 1500); this.timer.unref(); } async run() { try { const res = await fetch(env.WEB_REVALIDATE_URL, { method: "POST", headers: { "x-revalidate-secret": env.REVALIDATE_SECRET ?? "" }, signal: AbortSignal.timeout(5000), }); if (!res.ok) this.logger.warn(`site revalidation returned ${res.status}`); } catch (e) { this.logger.warn(`site revalidation failed: ${String(e)}`); } } }; RevalidateService = RevalidateService_1 = __decorate([ Injectable() ], RevalidateService); export { RevalidateService }; let CommonModule = class CommonModule { }; CommonModule = __decorate([ Global(), Module({ providers: [AuditService, RevalidateService], exports: [AuditService, RevalidateService], }) ], CommonModule); export { CommonModule }; //# sourceMappingURL=common.module.js.map