UNPKG

@myfunc/prisma-transactional

Version:

Decorator that wraps all prisma queries along the whole call stack to a single transaction.

32 lines (31 loc) 976 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Manager = void 0; const console_logger_1 = require("./logger/console-logger"); const empty_logger_1 = require("./logger/empty-logger"); class PrismaTransactionalManager { constructor() { this._logger = new empty_logger_1.EmptyLogger(); } setPrismaClient(prismaClient) { this._prismaClient = prismaClient; } setConfig(config) { if (config?.enableLogging) { this._logger = config.customLogger ?? new console_logger_1.ConsoleLogger(); } else { this._logger = new empty_logger_1.EmptyLogger(); } } get prismaClient() { if (!this._prismaClient) { throw new Error('PrismaTransactionalManager: Prisma client not set'); } return this._prismaClient; } get logger() { return this._logger; } } exports.Manager = new PrismaTransactionalManager();