'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) }