68 lines
1.7 KiB
JavaScript
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)
|
|
}
|