diff options
Diffstat (limited to 'src/lib/Database/IndexedDB')
| -rw-r--r-- | src/lib/Database/IndexedDB/activities.ts | 22 | ||||
| -rw-r--r-- | src/lib/Database/IndexedDB/chapters.ts | 22 | ||||
| -rw-r--r-- | src/lib/Database/IndexedDB/user.ts | 23 |
3 files changed, 67 insertions, 0 deletions
diff --git a/src/lib/Database/IndexedDB/activities.ts b/src/lib/Database/IndexedDB/activities.ts new file mode 100644 index 00000000..6a505ff3 --- /dev/null +++ b/src/lib/Database/IndexedDB/activities.ts @@ -0,0 +1,22 @@ +import type { ActivitiesPage } from '$lib/Data/AniList/activity'; +import Dexie, { type Table } from 'dexie'; + +export interface ActivityPage { + page: number; + data: ActivitiesPage; +} + +export class ActivityDatabase extends Dexie { + activities: Table<ActivityPage>; + + constructor() { + super('activities'); + this.version(1).stores({ + activities: 'page, data' + }); + + this.activities = this.table('activities'); + } +} + +export const database = new ActivityDatabase(); diff --git a/src/lib/Database/IndexedDB/chapters.ts b/src/lib/Database/IndexedDB/chapters.ts new file mode 100644 index 00000000..0f77f0a0 --- /dev/null +++ b/src/lib/Database/IndexedDB/chapters.ts @@ -0,0 +1,22 @@ +import Dexie, { type Table } from 'dexie'; + +export interface Chapter { + id: number; + chapters: number | null; + volumes: number | null; +} + +export class ChapterDatabase extends Dexie { + chapters: Table<Chapter>; + + constructor() { + super('chapters'); + this.version(1).stores({ + chapters: 'id, chapters, volumes' + }); + + this.chapters = this.table('chapters'); + } +} + +export const database = new ChapterDatabase(); diff --git a/src/lib/Database/IndexedDB/user.ts b/src/lib/Database/IndexedDB/user.ts new file mode 100644 index 00000000..e7285a07 --- /dev/null +++ b/src/lib/Database/IndexedDB/user.ts @@ -0,0 +1,23 @@ +import type { AniListAuthorisation } from '$lib/Data/AniList/identity'; +import Dexie, { type Table } from 'dexie'; + +export interface User { + id: number; + user: AniListAuthorisation; + lastNotificationID: number | null; +} + +export class UserDatabase extends Dexie { + users: Table<User>; + + constructor() { + super('users'); + this.version(1).stores({ + users: 'id, user, lastNotificationID' + }); + + this.users = this.table('users'); + } +} + +export const database = new UserDatabase(); |