diff options
author | RaindropsSys <raindrops@equestria.dev> | 2024-06-29 19:29:48 +0200 |
---|---|---|
committer | RaindropsSys <raindrops@equestria.dev> | 2024-06-29 19:29:48 +0200 |
commit | c2f5b8216d85c113a132d34dd9470806d1f97f9e (patch) | |
tree | 84d6619191b0224f3340e3e8a5075f2768839aab | |
parent | 0f074fb4fbf50b444e27e4654f1184c381d5307f (diff) | |
download | libfaunerie-c2f5b8216d85c113a132d34dd9470806d1f97f9e.tar.gz libfaunerie-c2f5b8216d85c113a132d34dd9470806d1f97f9e.tar.bz2 libfaunerie-c2f5b8216d85c113a132d34dd9470806d1f97f9e.zip |
Rename to Faunerie
-rwxr-xr-x | ._.DS_Store | bin | 4096 -> 0 bytes | |||
-rwxr-xr-x | index.ts | 10 | ||||
-rwxr-xr-x | package-lock.json | 8 | ||||
-rwxr-xr-x | package.json | 4 | ||||
-rwxr-xr-x | src/Faunerie.ts (renamed from src/Prisbeam.ts) | 26 | ||||
-rwxr-xr-x | src/FaunerieFrontend.ts (renamed from src/PrisbeamFrontend.ts) | 70 | ||||
-rwxr-xr-x | src/FaunerieImageType.ts (renamed from src/PrisbeamImageType.ts) | 2 | ||||
-rwxr-xr-x | src/FaunerieListType.ts | 3 | ||||
-rwxr-xr-x | src/FauneriePropertyStore.ts (renamed from src/PrisbeamPropertyStore.ts) | 8 | ||||
-rwxr-xr-x | src/FaunerieSearch.ts (renamed from src/PrisbeamSearch.ts) | 58 | ||||
-rwxr-xr-x | src/FaunerieUpdater.ts (renamed from src/PrisbeamUpdater.ts) | 22 | ||||
-rwxr-xr-x | src/IFaunerieImage.ts | 1 | ||||
-rwxr-xr-x | src/IFaunerieOption.ts (renamed from src/IPrisbeamOption.ts) | 2 | ||||
-rwxr-xr-x | src/IFaunerieTag.ts | 1 | ||||
-rwxr-xr-x | src/IFaunerieUpdaterGeneric.ts | 1 | ||||
-rwxr-xr-x | src/IPrisbeamImage.ts | 1 | ||||
-rwxr-xr-x | src/IPrisbeamTag.ts | 1 | ||||
-rwxr-xr-x | src/IPrisbeamUpdaterGeneric.ts | 1 | ||||
-rwxr-xr-x | src/PrisbeamListType.ts | 3 |
19 files changed, 111 insertions, 111 deletions
diff --git a/._.DS_Store b/._.DS_Store Binary files differdeleted file mode 100755 index 09cd8c8..0000000 --- a/._.DS_Store +++ /dev/null @@ -1,6 +1,6 @@ -export {Prisbeam} from "./src/Prisbeam"; -export {PrisbeamImageType} from "./src/PrisbeamImageType"; -export {PrisbeamListType} from "./src/PrisbeamListType"; -export {PrisbeamUpdater} from "./src/PrisbeamUpdater"; +export {Faunerie} from "./src/Faunerie"; +export {FaunerieImageType} from "./src/FaunerieImageType"; +export {FaunerieListType} from "./src/FaunerieListType"; +export {FaunerieUpdater} from "./src/FaunerieUpdater"; -export const VERSION: string = "2.2.0"; +export const VERSION: string = require('./package.json').version; diff --git a/package-lock.json b/package-lock.json index 41308f8..c8f3a55 100755 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { - "name": "libprisbeam", - "version": "2.3.3", + "name": "libfaunerie", + "version": "2.4.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "libprisbeam", - "version": "2.3.3", + "name": "libfaunerie", + "version": "2.4.0", "hasInstallScript": true, "dependencies": { "@types/sqlite3": "^3.1.11" diff --git a/package.json b/package.json index f7b83d1..474a6b2 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { - "name": "libprisbeam", - "version": "2.3.4", + "name": "libfaunerie", + "version": "2.4.0", "main": "index.js", "scripts": { "install": "tsc", diff --git a/src/Prisbeam.ts b/src/Faunerie.ts index e20d909..aab2ec6 100755 --- a/src/Prisbeam.ts +++ b/src/Faunerie.ts @@ -1,31 +1,31 @@ -import {PrisbeamFrontend} from "./PrisbeamFrontend"; -import {IPrisbeamOption} from "./IPrisbeamOption"; +import {FaunerieFrontend} from "./FaunerieFrontend"; +import {IFaunerieOption} from "./IFaunerieOption"; import fs from "fs"; import path from "path"; import {VERSION} from "../index"; -import {PrisbeamPropertyStore} from "./PrisbeamPropertyStore"; +import {FauneriePropertyStore} from "./FauneriePropertyStore"; import {Database} from "sqlite3"; import {SQLiteInstance} from "./SQLiteInstance"; -export class Prisbeam { +export class Faunerie { // noinspection JSUnusedGlobalSymbols public version: string = VERSION; public readonly verbose: boolean; public readonly path: string; readonly sensitiveImageProtocol: boolean; - public frontend: PrisbeamFrontend; + public frontend: FaunerieFrontend; readonly cache?: string; private sqlite: SQLiteInstance; private database: Database; private readonly readOnly: boolean; - public propertyStore: PrisbeamPropertyStore; + public propertyStore: FauneriePropertyStore; - constructor(options: IPrisbeamOption) { + constructor(options: IFaunerieOption) { this.verbose = options.verbose ?? true; this.sqlite = require(options.sqlitePath ?? "sqlite3").verbose(); if (!fs.existsSync(path.resolve(options.database))) throw new Error("Invalid database folder specified: " + path.resolve(options.database)); - if (!fs.existsSync(path.resolve(options.database) + "/instance.pbmk")) throw new Error("Not a valid Prisbeam database: " + path.resolve(options.database)); + if (!fs.existsSync(path.resolve(options.database) + "/instance.pbmk")) throw new Error("Not a valid Faunerie database: " + path.resolve(options.database)); this.path = path.resolve(options.database); @@ -109,17 +109,17 @@ export class Prisbeam { }); if (!this.readOnly) { - if ((await this._sql("SELECT COUNT(*) FROM metadata WHERE key='libprisbeam_timestamp'"))[0]["COUNT(*)"] === 0) { - await this._sql('INSERT INTO metadata(key, value) VALUES ("libprisbeam_timestamp", "' + new Date().toISOString() + '")'); + if ((await this._sql("SELECT COUNT(*) FROM metadata WHERE key='libfaunerie_timestamp'"))[0]["COUNT(*)"] === 0) { + await this._sql('INSERT INTO metadata(key, value) VALUES ("libfaunerie_timestamp", "' + new Date().toISOString() + '")'); } else { - await this._sql('UPDATE metadata SET value="' + new Date().toISOString() + '" WHERE key="libprisbeam_timestamp"'); + await this._sql('UPDATE metadata SET value="' + new Date().toISOString() + '" WHERE key="libfaunerie_timestamp"'); } } await this._sql("CREATE TABLE IF NOT EXISTS metadata (key TEXT NOT NULL UNIQUE, value LONGTEXT NOT NULL, PRIMARY KEY (key))"); - this.frontend = new PrisbeamFrontend(this); - this.propertyStore = new PrisbeamPropertyStore(this); + this.frontend = new FaunerieFrontend(this); + this.propertyStore = new FauneriePropertyStore(this); await this.propertyStore.initialize(); await this.frontend.initialize(); diff --git a/src/PrisbeamFrontend.ts b/src/FaunerieFrontend.ts index 47506a2..30be154 100755 --- a/src/PrisbeamFrontend.ts +++ b/src/FaunerieFrontend.ts @@ -1,24 +1,24 @@ -import {PrisbeamSearch} from "./PrisbeamSearch"; -import {PrisbeamImageType} from "./PrisbeamImageType"; +import {FaunerieSearch} from "./FaunerieSearch"; +import {FaunerieImageType} from "./FaunerieImageType"; import fs from "fs"; import zlib from "zlib"; -import {PrisbeamListType} from "./PrisbeamListType"; -import {Prisbeam} from "../index"; +import {FaunerieListType} from "./FaunerieListType"; +import {Faunerie} from "../index"; import {SearchError} from "./SearchError"; -import {IPrisbeamImage} from "./IPrisbeamImage"; -import {IPrisbeamTag} from "./IPrisbeamTag"; +import {IFaunerieImage} from "./IFaunerieImage"; +import {IFaunerieTag} from "./IFaunerieTag"; -export class PrisbeamFrontend { - public tags: IPrisbeamTag[]; +export class FaunerieFrontend { + public tags: IFaunerieTag[]; public tagsHashed: object; - private readonly backend: Prisbeam; - readonly searchEngine: PrisbeamSearch; + private readonly backend: Faunerie; + readonly searchEngine: FaunerieSearch; private readonly sensitiveImageProtocol: boolean; - constructor(backend: Prisbeam) { + constructor(backend: Faunerie) { this.backend = backend; this.sensitiveImageProtocol = backend.sensitiveImageProtocol; - this.searchEngine = new PrisbeamSearch(this); + this.searchEngine = new FaunerieSearch(this); } async initialize() { @@ -38,7 +38,7 @@ export class PrisbeamFrontend { let sql = this.searchEngine.buildQueryV2(query, allowUnknownTags); return await this.imageListResolver(await this.backend._sql("SELECT * FROM images JOIN image_tags ON images.id=image_tags.image_id JOIN image_intensities ON images.id=image_intensities.image_id JOIN image_representations ON images.id=image_representations.image_id WHERE " + sql)); } else { - return await this.getAllImages(PrisbeamListType.Array); + return await this.getAllImages(FaunerieListType.Array); } } catch (e) { if (e.message.startsWith("SQLITE_ERROR: Expression tree is too large (maximum depth 1000)")) { @@ -50,13 +50,13 @@ export class PrisbeamFrontend { } // noinspection JSUnusedGlobalSymbols - async getImageFileFromId(id: number, type: PrisbeamImageType) { + async getImageFileFromId(id: number, type: FaunerieImageType) { let image = (await this.imageListResolver(await this.backend._sql("SELECT * FROM images JOIN image_tags ON images.id=image_tags.image_id JOIN image_intensities ON images.id=image_intensities.image_id JOIN image_representations ON images.id=image_representations.image_id WHERE id=" + id)))[0]; return this.getImageFile(image, type); } // noinspection JSUnusedGlobalSymbols - async getImage(id: number | string): Promise<IPrisbeamImage | null> { + async getImage(id: number | string): Promise<IFaunerieImage | null> { return (await this.imageListResolver(await this.backend._sql("SELECT * FROM images JOIN image_tags ON images.id=image_tags.image_id JOIN image_intensities ON images.id=image_intensities.image_id JOIN image_representations ON images.id=image_representations.image_id WHERE id=" + id)))[0] ?? null; } @@ -65,11 +65,11 @@ export class PrisbeamFrontend { return ((await this.imageListResolver(await this.backend._sql("SELECT COUNT(*) FROM images")))[0] ?? {})["COUNT(*)"] ?? 0; } - getImageFile(image: object, type: PrisbeamImageType) { - function getPath(backend: Prisbeam) { + getImageFile(image: object, type: FaunerieImageType) { + function getPath(backend: Faunerie) { const path = require('path'); - if (type === PrisbeamImageType.ViewFile || type === PrisbeamImageType.ViewURL) { + if (type === FaunerieImageType.ViewFile || type === FaunerieImageType.ViewURL) { try { let l: fs.PathLike; @@ -81,7 +81,7 @@ export class PrisbeamFrontend { fs.lstatSync(l); } - if (type === PrisbeamImageType.ViewURL) { + if (type === FaunerieImageType.ViewURL) { return "file://" + encodeURI(l.replaceAll("\\", "/")); } else { return l; @@ -98,7 +98,7 @@ export class PrisbeamFrontend { fs.lstatSync(l); } - if (type === PrisbeamImageType.ViewURL) { + if (type === FaunerieImageType.ViewURL) { return "file://" + encodeURI(l.replaceAll("\\", "/")); } else { return l; @@ -115,7 +115,7 @@ export class PrisbeamFrontend { fs.lstatSync(l); } - if (type === PrisbeamImageType.ViewURL) { + if (type === FaunerieImageType.ViewURL) { return "file://" + encodeURI(l.replaceAll("\\", "/")); } else { return l; @@ -132,7 +132,7 @@ export class PrisbeamFrontend { fs.lstatSync(l); } - if (type === PrisbeamImageType.ViewURL) { + if (type === FaunerieImageType.ViewURL) { return "file://" + encodeURI(l.replaceAll("\\", "/")); } else { return l; @@ -149,13 +149,13 @@ export class PrisbeamFrontend { fs.lstatSync(l); } - if (type === PrisbeamImageType.ViewURL) { + if (type === FaunerieImageType.ViewURL) { return "file://" + encodeURI(l.replaceAll("\\", "/")); } else { return l; } } catch (e) { - if (type === PrisbeamImageType.ViewFile) { + if (type === FaunerieImageType.ViewFile) { return null; } else { return image['representations']['thumb']; @@ -165,7 +165,7 @@ export class PrisbeamFrontend { } } } - } else if (type === PrisbeamImageType.ThumbnailFile || type === PrisbeamImageType.ThumbnailURL) { + } else if (type === FaunerieImageType.ThumbnailFile || type === FaunerieImageType.ThumbnailURL) { try { let l: fs.PathLike; @@ -177,7 +177,7 @@ export class PrisbeamFrontend { fs.lstatSync(l); } - if (type === PrisbeamImageType.ThumbnailURL) { + if (type === FaunerieImageType.ThumbnailURL) { return "file://" + encodeURI(l.replaceAll("\\", "/")); } else { return l; @@ -194,7 +194,7 @@ export class PrisbeamFrontend { fs.lstatSync(l); } - if (type === PrisbeamImageType.ThumbnailURL) { + if (type === FaunerieImageType.ThumbnailURL) { return "file://" + encodeURI(l.replaceAll("\\", "/")); } else { return l; @@ -211,7 +211,7 @@ export class PrisbeamFrontend { fs.lstatSync(l); } - if (type === PrisbeamImageType.ThumbnailURL) { + if (type === FaunerieImageType.ThumbnailURL) { return "file://" + encodeURI(l.replaceAll("\\", "/")); } else { return l; @@ -228,7 +228,7 @@ export class PrisbeamFrontend { fs.lstatSync(l); } - if (type === PrisbeamImageType.ThumbnailURL) { + if (type === FaunerieImageType.ThumbnailURL) { return "file://" + encodeURI(l.replaceAll("\\", "/")); } else { return l; @@ -245,13 +245,13 @@ export class PrisbeamFrontend { fs.lstatSync(l); } - if (type === PrisbeamImageType.ThumbnailURL) { + if (type === FaunerieImageType.ThumbnailURL) { return "file://" + encodeURI(l.replaceAll("\\", "/")); } else { return l; } } catch (e) { - if (type === PrisbeamImageType.ThumbnailFile) { + if (type === FaunerieImageType.ThumbnailFile) { return null; } else { return image['representations']['thumb']; @@ -266,13 +266,13 @@ export class PrisbeamFrontend { let path = getPath(this.backend); - if (type === PrisbeamImageType.ThumbnailURL && path.endsWith(".bin")) { + if (type === FaunerieImageType.ThumbnailURL && path.endsWith(".bin")) { if (this.sensitiveImageProtocol) { return path.replace("file://", "pbip://") + "?mime=" + encodeURIComponent(image['mime_type']); } else { return URL.createObjectURL(new Blob([zlib.inflateRawSync(fs.readFileSync(path.replace("file://", ""))).buffer], {type: image['mime_type'].startsWith("video/") ? "image/gif" : image['mime_type']})); } - } else if (type === PrisbeamImageType.ViewURL && path.endsWith(".bin")) { + } else if (type === FaunerieImageType.ViewURL && path.endsWith(".bin")) { if (this.sensitiveImageProtocol) { return path.replace("file://", "pbip://") + "?mime=" + encodeURIComponent(image['mime_type']); } else { @@ -343,10 +343,10 @@ export class PrisbeamFrontend { return list; } - async getAllImages(type: PrisbeamListType = PrisbeamListType.Array): Promise<{} | IPrisbeamImage[]> { + async getAllImages(type: FaunerieListType = FaunerieListType.Array): Promise<{} | IFaunerieImage[]> { let query = "SELECT * FROM images JOIN image_tags ON images.id=image_tags.image_id JOIN image_intensities ON images.id=image_intensities.image_id JOIN image_representations ON images.id=image_representations.image_id"; - if (type === PrisbeamListType.Array) { + if (type === FaunerieListType.Array) { return await this.imageListResolver(await this.backend._sql(query)); } else { let _list = await this.imageListResolver(await this.backend._sql(query)); diff --git a/src/PrisbeamImageType.ts b/src/FaunerieImageType.ts index b46b78f..4e2a22b 100755 --- a/src/PrisbeamImageType.ts +++ b/src/FaunerieImageType.ts @@ -1,3 +1,3 @@ -export enum PrisbeamImageType { +export enum FaunerieImageType { ThumbnailURL, ViewURL, ThumbnailFile, ViewFile } diff --git a/src/FaunerieListType.ts b/src/FaunerieListType.ts new file mode 100755 index 0000000..80f2bd0 --- /dev/null +++ b/src/FaunerieListType.ts @@ -0,0 +1,3 @@ +export enum FaunerieListType { + Array, Object +} diff --git a/src/PrisbeamPropertyStore.ts b/src/FauneriePropertyStore.ts index 35a2673..5644b96 100755 --- a/src/PrisbeamPropertyStore.ts +++ b/src/FauneriePropertyStore.ts @@ -1,10 +1,10 @@ -import {Prisbeam} from "./Prisbeam"; +import {Faunerie} from "./Faunerie"; -export class PrisbeamPropertyStore { - backend: Prisbeam; +export class FauneriePropertyStore { + backend: Faunerie; length: number; - constructor(backend: Prisbeam) { + constructor(backend: Faunerie) { this.backend = backend; } diff --git a/src/PrisbeamSearch.ts b/src/FaunerieSearch.ts index de1a45e..ebe3e37 100755 --- a/src/PrisbeamSearch.ts +++ b/src/FaunerieSearch.ts @@ -1,12 +1,12 @@ import {SearchError} from "./SearchError"; -import {PrisbeamFrontend} from "./PrisbeamFrontend"; +import {FaunerieFrontend} from "./FaunerieFrontend"; -export interface IPrisbeamSearchToken { - type: PrisbeamSearchTokenType, +export interface IFaunerieSearchToken { + type: FaunerieSearchTokenType, data?: string } -export enum PrisbeamSearchTokenType { +export enum FaunerieSearchTokenType { Subquery, Not, And, @@ -14,10 +14,10 @@ export enum PrisbeamSearchTokenType { Query } -export class PrisbeamSearch { - private readonly frontend: PrisbeamFrontend; +export class FaunerieSearch { + private readonly frontend: FaunerieFrontend; - constructor(frontend: PrisbeamFrontend) { + constructor(frontend: FaunerieFrontend) { this.frontend = frontend; } @@ -421,7 +421,7 @@ export class PrisbeamSearch { let inParentheses = false; let currentParenthesesInner: string = ""; - let tokens: IPrisbeamSearchToken[] = []; + let tokens: IFaunerieSearchToken[] = []; let currentTag = ""; let subParentheses = 0; @@ -433,7 +433,7 @@ export class PrisbeamSearch { if (subParentheses < 0) { inParentheses = false; tokens.push({ - type: PrisbeamSearchTokenType.Subquery, + type: FaunerieSearchTokenType.Subquery, data: this.buildQueryInner(currentParenthesesInner, allowUnknownTags) }); currentParenthesesInner = null; @@ -450,7 +450,7 @@ export class PrisbeamSearch { case "-": if (currentTag.trim().length === 0) { tokens.push({ - type: PrisbeamSearchTokenType.Not, + type: FaunerieSearchTokenType.Not, data: null }); } else { @@ -463,14 +463,14 @@ export class PrisbeamSearch { case ",": if (currentTag.trim().length > 0) { tokens.push({ - type: PrisbeamSearchTokenType.Query, + type: FaunerieSearchTokenType.Query, data: this.checkQuery(currentTag.trim(), allowUnknownTags) }); currentTag = ""; } tokens.push({ - type: PrisbeamSearchTokenType.And, + type: FaunerieSearchTokenType.And, data: null }); pos++; @@ -480,14 +480,14 @@ export class PrisbeamSearch { if (query[pos + 1] === "&") { if (currentTag.trim().length > 0) { tokens.push({ - type: PrisbeamSearchTokenType.Query, + type: FaunerieSearchTokenType.Query, data: this.checkQuery(currentTag.trim(), allowUnknownTags) }); currentTag = ""; } tokens.push({ - type: PrisbeamSearchTokenType.And, + type: FaunerieSearchTokenType.And, data: null }); pos += 2; @@ -502,14 +502,14 @@ export class PrisbeamSearch { if (query[pos + 1] === "|") { if (currentTag.trim().length > 0) { tokens.push({ - type: PrisbeamSearchTokenType.Query, + type: FaunerieSearchTokenType.Query, data: this.checkQuery(currentTag.trim(), allowUnknownTags) }); currentTag = ""; } tokens.push({ - type: PrisbeamSearchTokenType.Or, + type: FaunerieSearchTokenType.Or, data: null }); pos += 2; @@ -524,14 +524,14 @@ export class PrisbeamSearch { if (query[pos + 1] === "R") { if (currentTag.trim().length > 0) { tokens.push({ - type: PrisbeamSearchTokenType.Query, + type: FaunerieSearchTokenType.Query, data: this.checkQuery(currentTag.trim(), allowUnknownTags) }); currentTag = ""; } tokens.push({ - type: PrisbeamSearchTokenType.Or, + type: FaunerieSearchTokenType.Or, data: null }); pos += 2; @@ -546,14 +546,14 @@ export class PrisbeamSearch { if (query[pos + 1] === "N" && query[pos + 2] === "D") { if (currentTag.trim().length > 0) { tokens.push({ - type: PrisbeamSearchTokenType.Query, + type: FaunerieSearchTokenType.Query, data: this.checkQuery(currentTag.trim(), allowUnknownTags) }); currentTag = ""; } tokens.push({ - type: PrisbeamSearchTokenType.And, + type: FaunerieSearchTokenType.And, data: null }); pos += 3; @@ -568,14 +568,14 @@ export class PrisbeamSearch { if (query[pos + 1] === "O" && query[pos + 2] === "T") { if (currentTag.trim().length > 0) { tokens.push({ - type: PrisbeamSearchTokenType.Query, + type: FaunerieSearchTokenType.Query, data: this.checkQuery(currentTag.trim(), allowUnknownTags) }); currentTag = ""; } tokens.push({ - type: PrisbeamSearchTokenType.Not, + type: FaunerieSearchTokenType.Not, data: null }); pos += 3; @@ -623,7 +623,7 @@ export class PrisbeamSearch { if (currentTag.trim().length > 0) { tokens.push({ - type: PrisbeamSearchTokenType.Query, + type: FaunerieSearchTokenType.Query, data: this.checkQuery(currentTag.trim(), allowUnknownTags) }); } @@ -631,28 +631,28 @@ export class PrisbeamSearch { return this.queryTokensToString(tokens); } - queryTokensToString(tokens: IPrisbeamSearchToken[]) { + queryTokensToString(tokens: IFaunerieSearchToken[]) { let str = ""; for (let token of tokens) { switch (token.type) { - case PrisbeamSearchTokenType.And: + case FaunerieSearchTokenType.And: str += "AND"; break; - case PrisbeamSearchTokenType.Query: + case FaunerieSearchTokenType.Query: str += token.data; break; - case PrisbeamSearchTokenType.Subquery: + case FaunerieSearchTokenType.Subquery: str += "(" + token.data + ")"; break; - case PrisbeamSearchTokenType.Not: + case FaunerieSearchTokenType.Not: str += "NOT"; break; - case PrisbeamSearchTokenType.Or: + case FaunerieSearchTokenType.Or: str += "OR"; break; } diff --git a/src/PrisbeamUpdater.ts b/src/FaunerieUpdater.ts index 0ca4b0d..a2007d6 100755 --- a/src/PrisbeamUpdater.ts +++ b/src/FaunerieUpdater.ts @@ -1,13 +1,13 @@ -import {Prisbeam} from "./Prisbeam"; +import {Faunerie} from "./Faunerie"; import fs from "fs"; import http from "http"; -import {IPrisbeamUpdaterGeneric} from "./IPrisbeamUpdaterGeneric"; +import {IFaunerieUpdaterGeneric} from "./IFaunerieUpdaterGeneric"; import {IncomingMessage, ServerResponse} from "node:http"; -export class PrisbeamUpdater { - private readonly database: Prisbeam; +export class FaunerieUpdater { + private readonly database: Faunerie; - constructor(instance: Prisbeam) { + constructor(instance: Faunerie) { this.database = instance; } @@ -183,7 +183,7 @@ export class PrisbeamUpdater { let sqlPreGet = (sql: string) => { return new Promise((res, rej) => { - global.preDatabase.all(sql, function (err: Error | null, data: IPrisbeamUpdaterGeneric) { + global.preDatabase.all(sql, function (err: Error | null, data: IFaunerieUpdaterGeneric) { if (err) { rej(err); } else { @@ -195,7 +195,7 @@ export class PrisbeamUpdater { let sqlTagGet = (sql: string) => { return new Promise((res, rej) => { - global.tagsDatabase.all(sql, function (err: Error | null, data: IPrisbeamUpdaterGeneric) { + global.tagsDatabase.all(sql, function (err: Error | null, data: IFaunerieUpdaterGeneric) { if (err) { rej(err); } else { @@ -231,7 +231,7 @@ export class PrisbeamUpdater { page = parseInt(requestPage); } - let everything = (await sqlPreGet("SELECT * FROM images LIMIT 50 OFFSET " + ((page - 1) * 50))) as IPrisbeamUpdaterGeneric[]; + let everything = (await sqlPreGet("SELECT * FROM images LIMIT 50 OFFSET " + ((page - 1) * 50))) as IFaunerieUpdaterGeneric[]; out.images = everything.map(i => JSON.parse(atob(i['json']))); res.writeHead(200); @@ -243,7 +243,7 @@ export class PrisbeamUpdater { console.log(`Server is running on http://${host}:${port}`); }); - let updateTags = ((await sqlTagGet("SELECT * FROM tags")) as IPrisbeamUpdaterGeneric[]).map(i => JSON.parse(atob(i['json']))); + let updateTags = ((await sqlTagGet("SELECT * FROM tags")) as IFaunerieUpdaterGeneric[]).map(i => JSON.parse(atob(i['json']))); let index = 0; for (let i = 0; i < updateTags.length; i += 50) { @@ -255,7 +255,7 @@ export class PrisbeamUpdater { for (let tag of chunk) { // noinspection ES6MissingAwait aliases.push(sqlstr(await sqlTagGet(`SELECT target FROM aliases WHERE source = ` + tag['id'])[0]?.target ?? null)); - implications.push(sqlstr("," + (await sqlTagGet(`SELECT target FROM implications WHERE source = ` + tag['id']) as IPrisbeamUpdaterGeneric[]).map(i => i['target']).join(",") + ",")); + implications.push(sqlstr("," + (await sqlTagGet(`SELECT target FROM implications WHERE source = ` + tag['id']) as IFaunerieUpdaterGeneric[]).map(i => i['target']).join(",") + ",")); } await sqlQuery(`INSERT INTO tags(id, name, alias, implications, category, description, description_short, slug) VALUES ${chunk.map((tag, index) => `(${tag['id']}, ${sqlstr(tag['name'])}, ${aliases[index]}, ${implications[index]}, ${sqlstr(tag['category'])}, ${sqlstr(tag['description'])}, ${sqlstr(tag['short_description'])}, ${sqlstr(tag['slug'])})`).join(",")}`); @@ -304,7 +304,7 @@ export class PrisbeamUpdater { validateStatus: (s: number) => (s >= 200 && s < 300) || (s === 404 || s === 403 || s === 401), method: 'GET', responseType: 'arraybuffer', - onDownloadProgress: (event: IPrisbeamUpdaterGeneric) => { + onDownloadProgress: (event: IFaunerieUpdaterGeneric) => { global.statusInfo[2] = { title: "Image: " + image['id'] + " (" + Math.round((event['loaded'] / event['total']) * 100) + "%)", progress: ((event['loaded'] / event['total']) * 100), diff --git a/src/IFaunerieImage.ts b/src/IFaunerieImage.ts new file mode 100755 index 0000000..bb2cc37 --- /dev/null +++ b/src/IFaunerieImage.ts @@ -0,0 +1 @@ +export interface IFaunerieImage {} diff --git a/src/IPrisbeamOption.ts b/src/IFaunerieOption.ts index 75a467f..5397bb0 100755 --- a/src/IPrisbeamOption.ts +++ b/src/IFaunerieOption.ts @@ -1,4 +1,4 @@ -export interface IPrisbeamOption { +export interface IFaunerieOption { database: string, sqlitePath?: string, cachePath?: string, diff --git a/src/IFaunerieTag.ts b/src/IFaunerieTag.ts new file mode 100755 index 0000000..ef43c18 --- /dev/null +++ b/src/IFaunerieTag.ts @@ -0,0 +1 @@ +export type IFaunerieTag = [number, string]; diff --git a/src/IFaunerieUpdaterGeneric.ts b/src/IFaunerieUpdaterGeneric.ts new file mode 100755 index 0000000..5de77d6 --- /dev/null +++ b/src/IFaunerieUpdaterGeneric.ts @@ -0,0 +1 @@ +export interface IFaunerieUpdaterGeneric {} diff --git a/src/IPrisbeamImage.ts b/src/IPrisbeamImage.ts deleted file mode 100755 index 763bc8f..0000000 --- a/src/IPrisbeamImage.ts +++ /dev/null @@ -1 +0,0 @@ -export interface IPrisbeamImage {} diff --git a/src/IPrisbeamTag.ts b/src/IPrisbeamTag.ts deleted file mode 100755 index df83443..0000000 --- a/src/IPrisbeamTag.ts +++ /dev/null @@ -1 +0,0 @@ -export type IPrisbeamTag = [number, string]; diff --git a/src/IPrisbeamUpdaterGeneric.ts b/src/IPrisbeamUpdaterGeneric.ts deleted file mode 100755 index 5be465b..0000000 --- a/src/IPrisbeamUpdaterGeneric.ts +++ /dev/null @@ -1 +0,0 @@ -export interface IPrisbeamUpdaterGeneric {} diff --git a/src/PrisbeamListType.ts b/src/PrisbeamListType.ts deleted file mode 100755 index dcdad57..0000000 --- a/src/PrisbeamListType.ts +++ /dev/null @@ -1,3 +0,0 @@ -export enum PrisbeamListType { - Array, Object -} |