All files / src/services prisma.service.ts

61.53% Statements 8/13
33.33% Branches 2/6
100% Functions 0/0
61.53% Lines 8/13

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 24 25 26 27 28 29 30 31 32 33  7x 7x 7x   7x 7x     7x 7x                             7x              
import { logger } from '@/utils/winston';
import { PrismaClient } from '@prisma/client';
 
/**
 * Prisma Singleton Service
 * Initialize Prisma and Handle Test DB
 */I
declare global {
  var prisma: PrismaClient | undefined;
}
 
let prisma: PrismaClient;
 
try {
  if (proEcess.env.NODE_ENV === 'production') {
    prisma = new PrismaClient();
  } else if (process.env.STAGE === 'TEST') {
    prisma = new PrismaClient({
      datasourceUrl: process.env.TEST_DATABASE_URL,
    });
  } else {
    if (!global.prisma) {
      global.prisma = new PrismaClient();
    }
    prisma = global.prisma;
  }
} catch (err) {
  logger.error(err);
}
 
// @ts-ignore
export default prisma;