init projects

This commit is contained in:
2026-06-17 18:58:41 +03:00
parent 8543c4e241
commit 21a768edd5
505 changed files with 19998 additions and 93 deletions
@@ -0,0 +1,5 @@
CREATE TABLE HlamerCache (
cache_id INTEGER,
value BLOB,
CONSTRAINT HlamerCache_PK PRIMARY KEY (cache_id)
);
@@ -0,0 +1,9 @@
DROP TABLE IF EXISTS PrefferedMovie;
CREATE TABLE IF NOT EXISTS SavedMovie (
`saved_movie_id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
`poster_url` TEXT NOT NULL,
`description` TEXT NOT NULL,
`title` TEXT NOT NULL,
`flags` INTEGER NOT NULL
);
@@ -0,0 +1,5 @@
CREATE TABLE IF NOT EXISTS ApiCache (
cache_id INTEGER PRIMARY KEY AUTOINCREMENT,
cache_key TEXT UNIQUE NOT NULL,
cache_value TEXT NOT NULL
);
@@ -0,0 +1,7 @@
CREATE TABLE IF NOT EXISTS SavedTime(
movie_id INTEGER NOT NULL,
season_id INTEGER NOT NULL DEFAULT 0,
episode_id INTEGER NOT NULL DEFAULT 0,
time INTEGER NOT NULL,
PRIMARY KEY (movie_id, season_id, episode_id)
);
@@ -0,0 +1,7 @@
CREATE TABLE IF NOT EXISTS OfflineVideo (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
movie_id INTEGER NOT NULL,
season_id INTEGER,
episode_id INTEGER,
download_id INTEGER
);
@@ -0,0 +1,20 @@
CREATE TABLE UserTag (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
tag TEXT NOT NULL UNIQUE
);
CREATE TABLE MovieTag (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
movieId INTEGER NOT NULL,
tagId INTEGER NOT NULL,
FOREIGN KEY (tagId)
REFERENCES UserTag(id)
ON DELETE CASCADE
);
CREATE UNIQUE INDEX MovieTag_movieId_tagId_unique_idx
ON MovieTag(movieId, tagId);
CREATE INDEX MovieTag_movieId_idx
ON MovieTag(movieId);
@@ -0,0 +1,10 @@
CREATE TABLE PendingOperation (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
aggregateType TEXT NOT NULL,
actionType TEXT NOT NULL,
payload TEXT,
createdAt INTEGER NOT NULL,
retryCount INTEGER NOT NULL DEFAULT 0
);
CREATE INDEX IF NOT EXISTS pending_operation_id_idx ON PendingOperation(id);
@@ -0,0 +1,14 @@
CREATE TABLE ApiCache (
cache_id INTEGER PRIMARY KEY AUTOINCREMENT,
cache_key TEXT UNIQUE NOT NULL,
cache_value TEXT NOT NULL
);
insert:
INSERT OR REPLACE INTO ApiCache (cache_key, cache_value) VALUES (?, ?);
deleteByKey:
DELETE FROM ApiCache WHERE cache_key = ?;
selectByKey:
SELECT * FROM ApiCache WHERE cache_key = ?;
@@ -0,0 +1,14 @@
CREATE TABLE HlamerCache (
cache_id INTEGER,
value BLOB,
CONSTRAINT HlamerCache_PK PRIMARY KEY (cache_id)
);
insert:
INSERT INTO HlamerCache (cache_id, value) VALUES (?, ?);
deleteAll:
DELETE FROM HlamerCache;
selectByCacheId:
SELECT * FROM HlamerCache WHERE cache_id = ?;
@@ -0,0 +1,39 @@
CREATE TABLE MovieTag (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
movieId INTEGER NOT NULL,
tagId INTEGER NOT NULL,
FOREIGN KEY (tagId)
REFERENCES UserTag(id)
ON DELETE CASCADE
);
CREATE UNIQUE INDEX MovieTag_movieId_tagId_unique_idx
ON MovieTag(movieId, tagId);
CREATE INDEX MovieTag_movieId_idx
ON MovieTag(movieId);
query:
SELECT UserTag.id, UserTag.tag
FROM MovieTag
INNER JOIN UserTag ON UserTag.id = MovieTag.tagId
WHERE MovieTag.movieId = :movieId
ORDER BY UserTag.tag ASC;
queryMovies:
SELECT movieId
FROM MovieTag
WHERE tagId = :tagId;
link:
INSERT OR IGNORE INTO MovieTag(movieId, tagId)
VALUES (:movieId, :tagId);
unlink:
DELETE FROM MovieTag
WHERE movieId = :movieId
AND tagId = :tagId;
clear:
DELETE FROM MovieTag;
@@ -0,0 +1,48 @@
CREATE TABLE OfflineVideo (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
movie_id INTEGER NOT NULL,
season_id INTEGER,
episode_id INTEGER,
download_id INTEGER
);
selectAll:
SELECT * FROM OfflineVideo;
selectById:
SELECT * FROM OfflineVideo WHERE id = ?;
selectByArgs:
SELECT *
FROM OfflineVideo
WHERE movie_id = :movie_id
AND (
(:season_id IS NULL AND season_id IS NULL)
OR season_id = :season_id
);
selectByFullArgs:
SELECT *
FROM OfflineVideo
WHERE movie_id = :movie_id
AND (
(:season_id IS NULL AND season_id IS NULL)
OR season_id = :season_id
)
AND (
(:episode_id IS NULL AND episode_id IS NULL)
OR episode_id = :episode_id
);
upsert:
INSERT OR REPLACE INTO OfflineVideo(
id,
movie_id,
season_id,
episode_id,
download_id
)
VALUES (?, ?, ?, ?, ?);
deleteById:
DELETE FROM OfflineVideo WHERE id = ?;
@@ -0,0 +1,34 @@
CREATE TABLE PendingOperation (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
aggregateType TEXT NOT NULL,
actionType TEXT NOT NULL,
payload TEXT,
createdAt INTEGER NOT NULL,
retryCount INTEGER NOT NULL DEFAULT 0
);
CREATE INDEX IF NOT EXISTS pending_operation_id_idx ON PendingOperation(id);
getQueue:
SELECT * FROM PendingOperation
ORDER BY id ASC;
insertOperation:
INSERT INTO PendingOperation(aggregateType, actionType, payload, createdAt)
VALUES (?, ?, ?, ?);
incrementRetryCount:
UPDATE PendingOperation
SET retryCount = retryCount + 1
WHERE id = ?;
deleteOperation:
DELETE FROM PendingOperation
WHERE id = ?;
getOperationsByAggregate:
SELECT * FROM PendingOperation
WHERE aggregateType = ?;
clear:
DELETE FROM PendingOperation;
@@ -0,0 +1,27 @@
CREATE TABLE "RecentlyWatched" (
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
"movie_id" INTEGER NOT NULL,
"episode" INTEGER NOT NULL,
"season" INTEGER NOT NULL
);
selectAll:
SELECT * FROM RecentlyWatched;
clear:
DELETE FROM RecentlyWatched;
selectByMovieId:
SELECT * FROM RecentlyWatched WHERE movie_id = ?;
insertRecentlyWatched:
INSERT INTO RecentlyWatched (movie_id, episode, season) VALUES (?, ?, ?);
deleteRwByIds:
DELETE FROM RecentlyWatched WHERE (movie_id = ? AND episode = ? AND season = ?);
deleteRecentlyWatchedById:
DELETE FROM RecentlyWatched WHERE id = ?;
deleteRecentlyWatchedByMovieId:
DELETE FROM RecentlyWatched WHERE movie_id = ?;
@@ -0,0 +1,19 @@
CREATE TABLE SavedMovie (
`saved_movie_id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
`poster_url` TEXT NOT NULL,
`description` TEXT NOT NULL,
`title` TEXT NOT NULL,
`flags` INTEGER NOT NULL
);
selectAll:
SELECT * FROM SavedMovie;
insertSavedMovie:
INSERT INTO SavedMovie (saved_movie_id, poster_url, description, title, flags) VALUES (?, ?, ?, ?, ?);
deleteSavedMovie:
DELETE FROM SavedMovie WHERE saved_movie_id = ?;
deleteAll:
DELETE FROM SavedMovie;
@@ -0,0 +1,13 @@
CREATE TABLE SavedTime(
movie_id INTEGER NOT NULL,
season_id INTEGER NOT NULL DEFAULT 0,
episode_id INTEGER NOT NULL DEFAULT 0,
time INTEGER NOT NULL,
PRIMARY KEY (movie_id, season_id, episode_id)
);
upsertSavedTime:
INSERT OR REPLACE INTO SavedTime(movie_id, season_id, episode_id, time) VALUES (?, ?, ?, ?);
selectSavedTime:
SELECT * FROM SavedTime WHERE movie_id = ? AND season_id = ? AND episode_id = ?;
@@ -0,0 +1,22 @@
CREATE TABLE "SearchInfo" (
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
"query" TEXT NOT NULL UNIQUE
);
selectAll:
SELECT * FROM SearchInfo;
selectByQuery:
SELECT * FROM SearchInfo WHERE query LIKE ?;
selectTop5:
SELECT * FROM SearchInfo WHERE query LIKE ? LIMIT 5;
insertSearchInfo:
INSERT INTO SearchInfo (query) VALUES (?);
deleteSearchInfo:
DELETE FROM SearchInfo WHERE query = ?;
deleteAll:
DELETE FROM SearchInfo;
@@ -0,0 +1,25 @@
CREATE TABLE UserTag (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
tag TEXT NOT NULL UNIQUE
);
selectAll:
SELECT id, tag
FROM UserTag
ORDER BY id DESC;
insert:
INSERT OR IGNORE INTO UserTag(tag)
VALUES (?);
update:
UPDATE UserTag
SET tag = :newTag
WHERE id = :id;
delete:
DELETE FROM UserTag
WHERE id = ?;
clear:
DELETE FROM UserTag;