Organized the differences between server and docker versions.
We are launching a docker version (server version) today so we want to just organize the repo so its easier to navigate.
This commit is contained in:
62
desktop/src/shared/queries.js
Normal file
62
desktop/src/shared/queries.js
Normal file
@@ -0,0 +1,62 @@
|
||||
const { queryOne, run } = require('./database');
|
||||
|
||||
async function getCachedExtension(extName, id) {
|
||||
return queryOne(
|
||||
"SELECT metadata FROM extension WHERE ext_name = ? AND id = ?",
|
||||
[extName, id]
|
||||
);
|
||||
}
|
||||
|
||||
async function cacheExtension(extName, id, title, metadata) {
|
||||
return run(
|
||||
`
|
||||
INSERT INTO extension (ext_name, id, title, metadata, updated_at)
|
||||
VALUES (?, ?, ?, ?, ?)
|
||||
ON CONFLICT(ext_name, id)
|
||||
DO UPDATE SET
|
||||
title = excluded.title,
|
||||
metadata = excluded.metadata,
|
||||
updated_at = ?
|
||||
`,
|
||||
[extName, id, title, JSON.stringify(metadata), Date.now(), Date.now()]
|
||||
);
|
||||
}
|
||||
|
||||
async function getExtensionTitle(extName, id) {
|
||||
const sql = "SELECT title FROM extension WHERE ext_name = ? AND id = ?";
|
||||
const row = await queryOne(sql, [extName, id], 'anilist');
|
||||
return row ? row.title : null;
|
||||
}
|
||||
|
||||
async function deleteExtension(extName) {
|
||||
return run(
|
||||
"DELETE FROM extension WHERE ext_name = ?",
|
||||
[extName]
|
||||
);
|
||||
}
|
||||
|
||||
async function getCache(key) {
|
||||
return queryOne("SELECT result, created_at, ttl_ms FROM cache WHERE key = ?", [key], "cache");
|
||||
}
|
||||
|
||||
async function setCache(key, result, ttl_ms) {
|
||||
return run(
|
||||
`
|
||||
INSERT INTO cache (key, result, created_at, ttl_ms)
|
||||
VALUES (?, ?, ?, ?)
|
||||
ON CONFLICT(key)
|
||||
DO UPDATE SET result = excluded.result, created_at = excluded.created_at, ttl_ms = excluded.ttl_ms
|
||||
`,
|
||||
[key, JSON.stringify(result), Date.now(), ttl_ms],
|
||||
"cache"
|
||||
);
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
getCachedExtension,
|
||||
cacheExtension,
|
||||
getExtensionTitle,
|
||||
deleteExtension,
|
||||
getCache,
|
||||
setCache
|
||||
};
|
||||
Reference in New Issue
Block a user