-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathquery.sql
More file actions
53 lines (40 loc) · 1.41 KB
/
query.sql
File metadata and controls
53 lines (40 loc) · 1.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
-- name: InsertSkin :one
INSERT OR IGNORE INTO skins (name, file_path)
VALUES (:name, :filePath)
RETURNING id;
-- name: LinkSkinToChampions :exec
INSERT OR IGNORE INTO skin_champions(skin_id, champion_id)
VALUES (?, ?);
-- name: SelectChampions :many
SELECT id, name, image, tags
FROM champions;
-- name: SelectChampionsCount :one
SELECT COUNT(*) FROM champions;
-- name: UpdateSkinActive :exec
UPDATE skins SET is_active = :active WHERE name = :name;
-- name: SelectActiveSkinNames :many
SELECT name FROM skins WHERE is_active = 1;
-- name: SetSetting :exec
INSERT INTO settings (key, value)
VALUES (?, ?)
ON CONFLICT(key) DO UPDATE SET value = excluded.value;
-- name: GetSetting :one
SELECT value FROM settings WHERE key = :key;
-- name: DeleteSetting :exec
DELETE FROM settings WHERE key = :key;
-- name: FetchSkinsForChampionById :many
SELECT skins.id, skins.name, skins.file_path, skins.is_active
FROM skins
INNER JOIN skin_champions ON skins.id = skin_champions.skin_id
WHERE skin_champions.champion_id = :id;
-- name: SelectChampionsBySkinId :many
SELECT c.id, c.name, c.image, c.tags
FROM champions c
INNER JOIN skin_champions sc ON c.id = sc.champion_id
WHERE sc.skin_id = :skinId;
-- name: SelectSkinFilePathById :one
SELECT file_path FROM skins WHERE id = ?;
-- name: DeleteSkinChampionsBySkinId :exec
DELETE FROM skin_champions WHERE skin_id = ?;
-- name: DeleteSkinById :exec
DELETE FROM skins WHERE id = ?;