qcast-front/src/lib/imageActions.js
yoosangwook 3efec0ace5 🚦fix: 컴포넌트 주석 추가
- 주석 및 설명 추가
2025-02-24 10:53:16 +09:00

68 lines
1.7 KiB
JavaScript

'use server'
import sqlite3 from 'sqlite3'
import { open } from 'sqlite'
/**
* 캔바스 배경 이미지가 설정되면 데이터를 저장한다.
* @param {*} param0
*/
export const setBackGroundImage = async ({ objectId, planNo, imagePath }) => {
let db = null
if (!db) {
db = await open({
filename: 'qcast3.database.sqlite',
driver: sqlite3.Database,
})
}
const fetchSql = `SELECT * FROM background_image WHERE object_id = '${objectId}' AND plan_no = '${planNo}'`
const result = await db.get(fetchSql)
if (result) {
const updateSql = `UPDATE background_image SET path = '${imagePath}' WHERE object_id = '${objectId}' AND plan_no = '${planNo}'`
await db.run(updateSql)
} else {
const insertSql = `INSERT INTO background_image (object_id, plan_no, path) VALUES ('${objectId}', '${planNo}', '${imagePath}')`
await db.run(insertSql)
}
}
/**
* 캔바스 배경 이미지 데이터를 조회한다.
* @param {*} param0
* @returns
*/
export const getBackGroundImage = async ({ objectId, planNo }) => {
let db = null
if (!db) {
db = await open({
filename: 'qcast3.database.sqlite',
driver: sqlite3.Database,
})
}
const sql = `SELECT * FROM background_image WHERE object_id = '${objectId}' AND plan_no = '${planNo}'`
const result = await db.get(sql)
return result
}
/**
* 캔바스 배경 이미지 데이터를 삭제한다.
* @param {*} param0
*/
export const deleteBackGroundImage = async ({ objectId, planNo }) => {
let db = null
if (!db) {
db = await open({
filename: 'qcast3.database.sqlite',
driver: sqlite3.Database,
})
}
const sql = `DELETE FROM background_image WHERE object_id = '${objectId}' AND plan_no = '${planNo}'`
await db.run(sql)
}