feat: Routes & Service Prisma 전환 완료

완료된 파일:

1. ddlRoutes.ts (2개):
   -  health check: PrismaClient 동적 import 제거
   -  SELECT 1 쿼리를 query() 함수로 변경

2. companyManagementRoutes.ts (2개):
   -  findUnique → queryOne (회사 존재 확인)
   -  update → query (soft delete)

3. multiConnectionQueryService.ts (4개):
   -  executeSelect: $queryRawUnsafe → query
   -  executeInsert: $queryRawUnsafe → query
   -  executeUpdate: $queryRawUnsafe → query
   -  executeDelete: $queryRawUnsafe → query

기술적 개선:
- 동적 import 제거로 성능 향상
- 일관된 쿼리 인터페이스 사용
- 파라미터 전달 방식 통일 (...params → params)

전체 진행률: 50/54 (92.6%)
남은 작업: database.ts (4개 - 제거 예정)
This commit is contained in:
kjs
2025-10-01 14:41:04 +09:00
parent 97f4d11870
commit bc54d37ff2
3 changed files with 19 additions and 28 deletions

View File

@@ -3,10 +3,9 @@ import { authenticateToken } from "../middleware/authMiddleware";
import { AuthenticatedRequest } from "../types/auth";
import { logger } from "../utils/logger";
import { FileSystemManager } from "../utils/fileSystemManager";
import { PrismaClient } from "@prisma/client";
import { query, queryOne } from "../database/db";
const router = express.Router();
const prisma = new PrismaClient();
// 모든 라우트에 인증 미들웨어 적용
router.use(authenticateToken);
@@ -29,9 +28,10 @@ router.delete(
});
// 1. 회사 존재 확인
const existingCompany = await prisma.company_mng.findUnique({
where: { company_code: companyCode },
});
const existingCompany = await queryOne<any>(
`SELECT * FROM company_mng WHERE company_code = $1`,
[companyCode]
);
if (!existingCompany) {
res.status(404).json({
@@ -58,12 +58,10 @@ router.delete(
}
// 3. 데이터베이스에서 회사 삭제 (soft delete)
await prisma.company_mng.update({
where: { company_code: companyCode },
data: {
status: "deleted",
},
});
await query(
`UPDATE company_mng SET status = 'deleted' WHERE company_code = $1`,
[companyCode]
);
logger.info("회사 삭제 완료", {
companyCode,

View File

@@ -10,6 +10,7 @@ import {
validateDDLPermission,
} from "../middleware/superAdminMiddleware";
import { authenticateToken } from "../middleware/authMiddleware";
import { query } from "../database/db";
const router = express.Router();
@@ -180,11 +181,7 @@ router.get("/info", authenticateToken, requireSuperAdmin, (req, res) => {
router.get("/health", authenticateToken, async (req, res) => {
try {
// 기본적인 데이터베이스 연결 테스트
const { PrismaClient } = await import("@prisma/client");
const prisma = new PrismaClient();
await prisma.$queryRaw`SELECT 1`;
await prisma.$disconnect();
await query("SELECT 1");
res.json({
success: true,