summaryrefslogtreecommitdiff
path: root/lib/information/repository.ts
diff options
context:
space:
mode:
authordujinkim <dujin.kim@dtsolution.co.kr>2025-07-01 11:47:47 +0000
committerdujinkim <dujin.kim@dtsolution.co.kr>2025-07-01 11:47:47 +0000
commit4c15b99d9586aa48693213c78c02fba4639ebb85 (patch)
treeef48f45deeb36f499b01851870f6077c8621f396 /lib/information/repository.ts
parent795b4915069c44f500a91638e16ded67b9e16618 (diff)
(최겸) 인포메이션 기능 수정
Diffstat (limited to 'lib/information/repository.ts')
-rw-r--r--lib/information/repository.ts58
1 files changed, 11 insertions, 47 deletions
diff --git a/lib/information/repository.ts b/lib/information/repository.ts
index 2a3bc1c0..f640a4c6 100644
--- a/lib/information/repository.ts
+++ b/lib/information/repository.ts
@@ -40,19 +40,15 @@ export async function countInformationLists(
// 기존 패턴 (하위 호환성을 위해 유지)
export async function selectInformation(input: GetInformationSchema) {
- const { page, per_page = 50, sort, pageCode, pageName, isActive, from, to } = input
+ const { page, per_page = 50, sort, pagePath, isActive, from, to } = input
const conditions = []
- if (pageCode) {
- conditions.push(ilike(pageInformation.pageCode, `%${pageCode}%`))
+ if (pagePath) {
+ conditions.push(ilike(pageInformation.pagePath, `%${pagePath}%`))
}
- if (pageName) {
- conditions.push(ilike(pageInformation.pageName, `%${pageName}%`))
- }
-
- if (isActive !== null) {
+ if (isActive !== null && isActive !== undefined) {
conditions.push(eq(pageInformation.isActive, isActive))
}
@@ -91,19 +87,15 @@ export async function selectInformation(input: GetInformationSchema) {
// 기존 패턴: 인포메이션 총 개수 조회
export async function countInformation(input: GetInformationSchema) {
- const { pageCode, pageName, isActive, from, to } = input
+ const { pagePath, isActive, from, to } = input
const conditions = []
- if (pageCode) {
- conditions.push(ilike(pageInformation.pageCode, `%${pageCode}%`))
+ if (pagePath) {
+ conditions.push(ilike(pageInformation.pagePath, `%${pagePath}%`))
}
- if (pageName) {
- conditions.push(ilike(pageInformation.pageName, `%${pageName}%`))
- }
-
- if (isActive !== null) {
+ if (isActive !== null && isActive !== undefined) {
conditions.push(eq(pageInformation.isActive, isActive))
}
@@ -125,13 +117,13 @@ export async function countInformation(input: GetInformationSchema) {
return result[0]?.count ?? 0
}
-// 페이지 코드별 인포메이션 조회 (활성화된 것만)
-export async function getInformationByPageCode(pageCode: string): Promise<PageInformation | null> {
+// 페이지 경로별 인포메이션 조회 (활성화된 것만)
+export async function getInformationByPagePath(pagePath: string): Promise<PageInformation | null> {
const result = await db
.select()
.from(pageInformation)
.where(and(
- eq(pageInformation.pageCode, pageCode),
+ eq(pageInformation.pagePath, pagePath),
eq(pageInformation.isActive, true)
))
.limit(1)
@@ -139,16 +131,6 @@ export async function getInformationByPageCode(pageCode: string): Promise<PageIn
return result[0] || null
}
-// 인포메이션 생성
-export async function insertInformation(data: NewPageInformation): Promise<PageInformation> {
- const result = await db
- .insert(pageInformation)
- .values(data)
- .returning()
-
- return result[0]
-}
-
// 인포메이션 수정
export async function updateInformation(id: number, data: Partial<NewPageInformation>): Promise<PageInformation | null> {
const result = await db
@@ -160,24 +142,6 @@ export async function updateInformation(id: number, data: Partial<NewPageInforma
return result[0] || null
}
-// 인포메이션 삭제
-export async function deleteInformationById(id: number): Promise<boolean> {
- const result = await db
- .delete(pageInformation)
- .where(eq(pageInformation.id, id))
-
- return (result.rowCount ?? 0) > 0
-}
-
-// 인포메이션 다중 삭제
-export async function deleteInformationByIds(ids: number[]): Promise<number> {
- const result = await db
- .delete(pageInformation)
- .where(sql`${pageInformation.id} = ANY(${ids})`)
-
- return result.rowCount ?? 0
-}
-
// ID로 인포메이션 조회
export async function getInformationById(id: number): Promise<PageInformation | null> {
const result = await db