lx-music-desktop/src/main/worker/dbService/modules/lyric/statements.ts
2023-04-09 15:35:00 +08:00

158 lines
3.6 KiB
TypeScript

import { getDB } from '../../db'
const RAW_LYRIC = 'raw'
const EDITED_LYRIC = 'edited'
/**
* 创建歌词查询语句
* @returns 查询语句
*/
export const createLyricQueryStatement = () => {
const db = getDB()
return db.prepare<[string]>(`
SELECT "type", "text", "source"
FROM "main"."lyric"
WHERE "id"=?
`)
}
/**
* 创建原始歌词查询语句
* @returns 查询语句
*/
export const createRawLyricQueryStatement = () => {
const db = getDB()
return db.prepare<[string]>(`
SELECT "type", "text"
FROM "main"."lyric"
WHERE "id"=? AND "source"='${RAW_LYRIC}'
`)
}
/**
* 创建原始歌词插入语句
* @returns 插入语句
*/
export const createRawLyricInsertStatement = () => {
const db = getDB()
return db.prepare<[LX.DBService.Lyricnfo]>(`
INSERT INTO "main"."lyric" ("id", "type", "text", "source")
VALUES (@id, @type, @text, '${RAW_LYRIC}')`)
}
/**
* 创建原始歌词清空语句
* @returns 清空语句
*/
export const createRawLyricClearStatement = () => {
const db = getDB()
return db.prepare<[]>(`
DELETE FROM "main"."lyric"
WHERE "source"='${RAW_LYRIC}'
`)
}
/**
* 创建原始歌词删除语句
* @returns 删除语句
*/
export const createRawLyricDeleteStatement = () => {
const db = getDB()
return db.prepare<[string]>(`
DELETE FROM "main"."lyric"
WHERE "id"=? AND "source"='${RAW_LYRIC}'
`)
}
/**
* 创建原始歌词更新语句
* @returns 更新语句
*/
export const createRawLyricUpdateStatement = () => {
const db = getDB()
return db.prepare<[LX.DBService.Lyricnfo]>(`
UPDATE "main"."lyric"
SET "text"=@text
WHERE "id"=@id AND "source"='${RAW_LYRIC}' AND "type"=@type`)
}
/**
* 创建原始歌词数量统计语句
* @returns 统计语句
*/
export const createRawLyricCountStatement = () => {
const db = getDB()
return db.prepare<[]>(`SELECT COUNT(*) as count FROM "main"."lyric" WHERE "source"='${RAW_LYRIC}'`)
}
/**
* 创建已编辑歌词查询语句
* @returns 查询语句
*/
export const createEditedLyricQueryStatement = () => {
const db = getDB()
return db.prepare<[string]>(`
SELECT "type", "text"
FROM "main"."lyric"
WHERE "id"=? AND "source"='${EDITED_LYRIC}'
`)
}
/**
* 创建已编辑歌词插入语句
* @returns 插入语句
*/
export const createEditedLyricInsertStatement = () => {
const db = getDB()
return db.prepare<[LX.DBService.Lyricnfo]>(`
INSERT INTO "main"."lyric" ("id", "type", "text", "source")
VALUES (@id, @type, @text, '${EDITED_LYRIC}')`)
}
/**
* 创建已编辑歌词清空语句
* @returns 清空语句
*/
export const createEditedLyricClearStatement = () => {
const db = getDB()
return db.prepare<[]>(`
DELETE FROM "main"."lyric"
WHERE "source"='${EDITED_LYRIC}'
`)
}
/**
* 创建已编辑歌词删除语句
* @returns 删除语句
*/
export const createEditedLyricDeleteStatement = () => {
const db = getDB()
return db.prepare<[string]>(`
DELETE FROM "main"."lyric"
WHERE "id"=? AND "source"='${EDITED_LYRIC}'
`)
}
/**
* 创建已编辑歌词更新语句
* @returns 更新语句
*/
export const createEditedLyricUpdateStatement = () => {
const db = getDB()
return db.prepare<[LX.DBService.Lyricnfo]>(`
UPDATE "main"."lyric"
SET "text"=@text
WHERE "id"=@id AND "source"='${EDITED_LYRIC}' AND "type"=@type`)
}
/**
* 创建已编辑歌词数量统计语句
* @returns 统计语句
*/
export const createEditedLyricCountStatement = () => {
const db = getDB()
return db.prepare<[]>(`SELECT COUNT(*) as count FROM "main"."lyric" WHERE "source"='${EDITED_LYRIC}'`)
}