UNPKG

@paroicms/server

Version:
40 lines 1.68 kB
import { siteReadyGuard } from "../../graphql/graphql.types.js"; import { authGuard } from "../auth/auth.helper.js"; import { checkRateLimit } from "./naive-rate-limiter.js"; const validLogLevels = new Set(["error", "warn", "info", "trace", "debug"]); export const loggingResolvers = { Mutation: { saveLog: async (_parent, { lines }, { siteContext, httpContext }) => { const payload = authGuard(httpContext); siteReadyGuard(siteContext); const sessionId = payload.id; checkRateLimit(sessionId); for (const line of lines) { if (!validLogLevels.has(line.level)) { siteContext.logger.warn(`[Admin-UI] Invalid log level: ${line.level}`); continue; } const prefixedMessage = `[Admin-UI] ${line.message}`; switch (line.level) { case "error": siteContext.logger.error(prefixedMessage); break; case "warn": siteContext.logger.warn(prefixedMessage); break; case "info": siteContext.logger.info(prefixedMessage); break; case "trace": siteContext.logger.trace(prefixedMessage); break; case "debug": siteContext.logger.debug(prefixedMessage); break; } } return true; }, }, }; //# sourceMappingURL=logging.resolver.js.map