aboutsummaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorFuwn <[email protected]>2023-12-22 03:38:02 -0800
committerFuwn <[email protected]>2023-12-22 03:38:02 -0800
commit626142b8d3c7115803bfaf60700a486d79c0aea4 (patch)
tree36419613b4265282b82fff53135c9048b6f98171 /src/lib
parentfeat(wrapped): commit activities to database (diff)
downloaddue.moe-626142b8d3c7115803bfaf60700a486d79c0aea4.tar.xz
due.moe-626142b8d3c7115803bfaf60700a486d79c0aea4.zip
refactor(manga): move chapters to database module
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/Database/chapters.ts (renamed from src/lib/Media/Manga/database.ts)4
-rw-r--r--src/lib/List/Manga/MangaListTemplate.svelte10
-rw-r--r--src/lib/Media/Manga/cache.ts6
-rw-r--r--src/lib/Media/Manga/chapters.ts8
-rw-r--r--src/lib/Media/Manga/volumes.ts4
5 files changed, 15 insertions, 17 deletions
diff --git a/src/lib/Media/Manga/database.ts b/src/lib/Database/chapters.ts
index a8a4d716..0f77f0a0 100644
--- a/src/lib/Media/Manga/database.ts
+++ b/src/lib/Database/chapters.ts
@@ -10,7 +10,7 @@ export class ChapterDatabase extends Dexie {
chapters: Table<Chapter>;
constructor() {
- super('chapterDatabase');
+ super('chapters');
this.version(1).stores({
chapters: 'id, chapters, volumes'
});
@@ -19,4 +19,4 @@ export class ChapterDatabase extends Dexie {
}
}
-export const chapterDatabase = new ChapterDatabase();
+export const database = new ChapterDatabase();
diff --git a/src/lib/List/Manga/MangaListTemplate.svelte b/src/lib/List/Manga/MangaListTemplate.svelte
index 9a66ad4a..f30cb520 100644
--- a/src/lib/List/Manga/MangaListTemplate.svelte
+++ b/src/lib/List/Manga/MangaListTemplate.svelte
@@ -5,7 +5,7 @@
import { chapterCount } from '$lib/Media/Manga/chapters';
import { pruneAllManga } from '$lib/Media/Manga/cache';
import manga from '../../../stores/manga';
- import { chapterDatabase } from '$lib/Media/Manga/database';
+ import { database } from '$lib/Database/chapters';
import settings from '../../../stores/settings';
import lastPruneTimes from '../../../stores/lastPruneTimes';
import ListTitle from '../ListTitle.svelte';
@@ -54,9 +54,7 @@
) {
lastPruneTimes.setKey('chapters', currentDate.getTime());
(async () => {
- await chapterDatabase.chapters.bulkDelete(
- (await chapterDatabase.chapters.toArray()).map((m) => m.id)
- );
+ await database.chapters.bulkDelete((await database.chapters.toArray()).map((m) => m.id));
})();
}
}
@@ -73,7 +71,7 @@
let finalMedia = releasingMedia;
const progressStep = 100 / finalMedia.length;
const chapterPromises = finalMedia.map((m: Media) =>
- chapterDatabase.chapters.get(m.id).then((c) => {
+ database.chapters.get(m.id).then((c) => {
if (c !== undefined) return chapterCount(identity, m, $settings.calculateGuessingDisabled);
else {
// A = On 1 second interval,
@@ -133,7 +131,7 @@
pendingUpdate = id;
lastUpdatedMedia = id;
- await chapterDatabase.chapters.delete(id);
+ await database.chapters.delete(id);
await fetch(`/api/anilist/increment?id=${id}&progress=${(progress || 0) + 1}`).then(() => {
previousMangaList = media;
diff --git a/src/lib/Media/Manga/cache.ts b/src/lib/Media/Manga/cache.ts
index 057317c4..a8af17d3 100644
--- a/src/lib/Media/Manga/cache.ts
+++ b/src/lib/Media/Manga/cache.ts
@@ -1,10 +1,10 @@
-import { chapterDatabase } from './database';
+import { database } from '../../Database/chapters';
import manga from '../../../stores/manga';
export const pruneAllManga = async () => {
- const all = await chapterDatabase.chapters.toArray();
+ const all = await database.chapters.toArray();
const ids = all.map((m) => m.id);
manga.set('');
- await chapterDatabase.chapters.bulkDelete(ids);
+ await database.chapters.bulkDelete(ids);
};
diff --git a/src/lib/Media/Manga/chapters.ts b/src/lib/Media/Manga/chapters.ts
index c9e33c48..2e3c6678 100644
--- a/src/lib/Media/Manga/chapters.ts
+++ b/src/lib/Media/Manga/chapters.ts
@@ -1,7 +1,7 @@
import { recentMediaActivities, type Media } from '$lib/AniList/media';
import settings from '../../../stores/settings';
import type { UserIdentity } from '../../AniList/identity';
-import { chapterDatabase } from './database';
+import { database } from '../../Database/chapters';
export const chapterCount = async (
identity: UserIdentity,
@@ -9,7 +9,7 @@ export const chapterCount = async (
disableGuessing: boolean
// preferActivity = false
): Promise<number | null> => {
- const chapters = await chapterDatabase.chapters.get(manga.id);
+ const chapters = await database.chapters.get(manga.id);
if (chapters !== undefined) return chapters.chapters === -1 ? null : chapters.chapters;
@@ -26,7 +26,7 @@ export const chapterCount = async (
settings.get().calculateGuessMethod
);
- await chapterDatabase.chapters.put({
+ await database.chapters.put({
id: manga.id,
chapters: anilistData ? anilistData : -1,
volumes: null
@@ -103,7 +103,7 @@ export const chapterCount = async (
if (lastChapter == 0) lastChapter = -1;
- await chapterDatabase.chapters.put({
+ await database.chapters.put({
id: manga.id,
chapters: Number(lastChapter),
volumes: completedVolumes
diff --git a/src/lib/Media/Manga/volumes.ts b/src/lib/Media/Manga/volumes.ts
index ea2c3ed9..41dff1d4 100644
--- a/src/lib/Media/Manga/volumes.ts
+++ b/src/lib/Media/Manga/volumes.ts
@@ -1,5 +1,5 @@
import type { Media } from '$lib/AniList/media';
-import { chapterDatabase } from './database';
+import { database } from '../../Database/chapters';
export const volumeCount = async (manga: Media): Promise<number | null> =>
- (await chapterDatabase.chapters.get(manga.id))?.volumes as number | null;
+ (await database.chapters.get(manga.id))?.volumes as number | null;