linux-cmd-lib/common/src/commonMain/sqldelight/databases/Command.sq
2025-11-22 14:25:43 +01:00

141 lines
No EOL
2.8 KiB
Text

CREATE TABLE IF NOT EXISTS BasicGroup (
"id" INTEGER PRIMARY KEY AUTOINCREMENT,
"position" INTEGER NOT NULL,
"description" TEXT NOT NULL,
"category_id" INTEGER NOT NULL
);
CREATE TABLE IF NOT EXISTS BasicCommand (
"id" INTEGER PRIMARY KEY AUTOINCREMENT,
"command" TEXT NOT NULL,
"mans" TEXT NOT NULL,
"group_id" INTEGER NOT NULL
);
CREATE TABLE IF NOT EXISTS BasicCategory (
"id" INTEGER PRIMARY KEY AUTOINCREMENT,
"position" INTEGER NOT NULL,
"title" TEXT NOT NULL
);
CREATE TABLE IF NOT EXISTS Command (
"id" INTEGER PRIMARY KEY AUTOINCREMENT,
"category" INTEGER NOT NULL,
"name" TEXT NOT NULL,
"description" TEXT NOT NULL
);
CREATE TABLE IF NOT EXISTS CommandSection (
"id" INTEGER PRIMARY KEY AUTOINCREMENT,
"title" TEXT NOT NULL,
"content" TEXT NOT NULL,
"command_id" INTEGER NOT NULL
);
CREATE TABLE IF NOT EXISTS Tip (
"id" INTEGER PRIMARY KEY AUTOINCREMENT,
"title" TEXT NOT NULL,
"position" INTEGER NOT NULL
);
CREATE TABLE IF NOT EXISTS TipSection (
"id" INTEGER PRIMARY KEY AUTOINCREMENT,
"tip_id" INTEGER NOT NULL,
"position" INTEGER NOT NULL,
"type" INTEGER NOT NULL,
"data1" TEXT NOT NULL,
"data2" TEXT NOT NULL,
"extra" TEXT NOT NULL
);
selectBasicCategories:
SELECT *
FROM BasicCategory
ORDER BY position;
selectBasicGroupByCategory:
SELECT *
FROM BasicGroup
WHERE category_id = ?
ORDER BY position DESC;
selectBasicGroupsByQuery:
SELECT *
FROM BasicGroup
WHERE UPPER(description) LIKE '%' || UPPER(?) || '%'
AND category_id != 250
AND category_id != 253
AND category_id != 254
AND category_id != 255
AND category_id != 256
AND category_id != 260
ORDER BY position DESC;
selectBasicCommandByGroupId:
SELECT *
FROM BasicCommand
WHERE group_id = ?;
insertCommand:
INSERT INTO Command (category, name, description)
VALUES (?, ?, ?);
insertBasicGroup:
INSERT INTO BasicGroup (position, description, category_id)
VALUES (?, ?, ?);
insertBasicCommand:
INSERT INTO BasicCommand (command, mans, group_id)
VALUES (?, ?, ?);
selectCommands:
SELECT *
FROM Command
ORDER BY name COLLATE NOCASE ASC;
selectCommandsByQuery:
SELECT *
FROM Command
WHERE UPPER(name) LIKE '%' || UPPER(?) || '%'
OR UPPER(description) LIKE '%' || UPPER(?) || '%'
ORDER BY name COLLATE NOCASE ASC;
selectCommandByName:
SELECT *
FROM Command
WHERE name = ?;
deleteCommandSections:
DELETE FROM CommandSection
WHERE command_id = ? AND title != "TLDR";
insertCommandSection:
INSERT INTO CommandSection (title, content, command_id)
VALUES (?, ?, ?);
selectCommandSectionsByCommandId:
SELECT *
FROM CommandSection
WHERE command_id = ? AND title != "NAME"
ORDER BY id;
updateCommandTLDRSectionByCommandId:
UPDATE CommandSection
SET content = ?
WHERE command_id = ? AND title = "TLDR";
selectTips:
SELECT *
FROM Tip
ORDER BY position;
selectTipSections:
SELECT *
FROM TipSection
WHERE tip_id = ?
ORDER BY position;
selectAllTipSections:
SELECT *
FROM TipSection
ORDER BY position;