feat: refactor Prisma client initialization and update related services

This commit is contained in:
2026-06-16 15:47:29 +03:30
parent 652177862d
commit f87e5b9d8e
8 changed files with 192 additions and 200 deletions
+2 -4
View File
@@ -2,8 +2,6 @@ import { PrismaMariaDb } from '@prisma/adapter-mariadb'
import 'dotenv/config'
import { env } from 'prisma/config'
import { PrismaClient } from '../generated/prisma/client'
const adapter = new PrismaMariaDb({
host: env('DATABASE_HOST'),
user: env('DATABASE_USER'),
@@ -18,6 +16,6 @@ const adapter = new PrismaMariaDb({
connectTimeout: 10000,
})
const prisma = new PrismaClient({ adapter })
// const prisma = new PrismaClient({ adapter })
export { prisma }
export { adapter as prismaAdapter }
+2
View File
@@ -17,6 +17,8 @@ const cookieParser = require('cookie-parser')
async function bootstrap() {
const app = await NestFactory.create(AppModule)
app.enableShutdownHooks()
app.use(cookieParser())
const config = new DocumentBuilder()
@@ -1,7 +1,6 @@
import { SKUGuildType } from '@/common/enums/enums'
import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger'
import { Type } from 'class-transformer'
import { IsBoolean, IsEnum, IsNumber, IsString, Min } from 'class-validator'
import { IsBoolean, IsNumber, IsString, Min } from 'class-validator'
export class CreateStockKeepingUnitDto {
@ApiProperty()
@@ -18,9 +17,9 @@ export class CreateStockKeepingUnitDto {
@Min(0)
VAT: number
@ApiPropertyOptional({ enum: SKUGuildType, default: SKUGuildType.GOLD })
@IsEnum(SKUGuildType)
type: SKUGuildType = SKUGuildType.GOLD
// @ApiPropertyOptional({ enum: SKUGuildType, default: SKUGuildType.GOLD })
// @IsEnum(SKUGuildType)
// type: SKUGuildType = SKUGuildType.GOLD
@ApiPropertyOptional({ default: true })
@IsBoolean()
+2 -2
View File
@@ -25,7 +25,7 @@ import {
TspProviderType,
} from '@/generated/prisma/enums'
import { Injectable } from '@nestjs/common'
import { GoldKarat, SKUGuildType, TspProviderCustomerType } from 'common/enums/enums'
import { GoldKarat, TspProviderCustomerType } from 'common/enums/enums'
import { ResponseMapper } from 'common/response/response-mapper'
@Injectable()
@@ -80,7 +80,7 @@ export class EnumsService {
TspProviderCustomerType,
'TspProviderCustomerType',
),
SKUGuildType: this.prepareData(SKUGuildType, 'SKUGuildType'),
// SKUGuildType: this.prepareData(SKUGuildType, 'SKUGuildType'),
InvoiceTemplateType: this.prepareData(InvoiceTemplateType, 'InvoiceTemplateType'),
}
}
+2 -10
View File
@@ -1,21 +1,13 @@
import { prismaAdapter } from '@/lib/prisma'
import { Injectable, OnModuleDestroy, OnModuleInit } from '@nestjs/common'
import { PrismaMariaDb } from '@prisma/adapter-mariadb'
import 'dotenv/config'
import { env } from 'prisma/config'
import { PrismaClient } from '../generated/prisma/client'
import { getPrismaOptions } from './prisma-config.service'
@Injectable()
export class PrismaService extends PrismaClient implements OnModuleInit, OnModuleDestroy {
constructor() {
const adapter = new PrismaMariaDb({
host: env('DATABASE_HOST'),
user: env('DATABASE_USER'),
password: env('DATABASE_PASSWORD'),
database: env('DATABASE_NAME'),
port: env('DATABASE_PORT') ? Number(env('DATABASE_PORT')) : 3306,
connectionLimit: 10,
})
const adapter = prismaAdapter
const prismaOptions = getPrismaOptions()
super({ ...prismaOptions, adapter })