aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFuwn <[email protected]>2026-03-01 15:21:28 -0800
committerFuwn <[email protected]>2026-03-01 15:32:43 -0800
commit9de256c76ecb8b71b2c84a36c6e972d65b489add (patch)
tree8feb3ca2ab512ecf2ca6d8fe09379079b64ea179 /src
parentfix(anime): unify due classification and harden subtitle matching (diff)
downloaddue.moe-9de256c76ecb8b71b2c84a36c6e972d65b489add.tar.xz
due.moe-9de256c76ecb8b71b2c84a36c6e972d65b489add.zip
chore(types): decouple app code from fragile generated route types
Diffstat (limited to 'src')
-rw-r--r--src/graphql/anime/resolvers.ts9
-rw-r--r--src/graphql/user/resolvers.ts5
-rw-r--r--src/lib/User/BadgeWall/badge.ts2
-rw-r--r--src/routes/user/[user]/badges/+page.svelte2
4 files changed, 12 insertions, 6 deletions
diff --git a/src/graphql/anime/resolvers.ts b/src/graphql/anime/resolvers.ts
index 5f49b364..f2fc4b61 100644
--- a/src/graphql/anime/resolvers.ts
+++ b/src/graphql/anime/resolvers.ts
@@ -1,7 +1,12 @@
import type { WithIndex } from '../$types';
-import type { Resolvers } from './$types';
+import type { Resolvers as RootResolvers } from '../$types';
-export const resolvers: WithIndex<Resolvers> = {
+type AnimeResolvers = Pick<
+ RootResolvers,
+ 'Query' | 'Anime' | 'Subtitles' | 'SubtitleSchedule' | 'Subtitle'
+>;
+
+export const resolvers: WithIndex<AnimeResolvers> = {
Query: {
Anime: async (_, args) => {
const timezone = args.timezone || 'Asia/Tokyo';
diff --git a/src/graphql/user/resolvers.ts b/src/graphql/user/resolvers.ts
index 9773d8b0..879d066d 100644
--- a/src/graphql/user/resolvers.ts
+++ b/src/graphql/user/resolvers.ts
@@ -10,7 +10,7 @@ import {
type Badge as DatabaseBadge
} from '$lib/Database/SB/User/badges';
import type { WithIndex } from '../$types';
-import type { Resolvers, Badge } from './$types';
+import type { Resolvers as RootResolvers, Badge } from '../$types';
import type { RequestEvent } from '@sveltejs/kit';
import {
getUserPreferences,
@@ -26,6 +26,7 @@ import {
import privilegedUser from '$lib/Utility/privilegedUser';
type Context = RequestEvent<Partial<Record<string, string>>, string | null>;
+type UserResolvers = Pick<RootResolvers, 'Query' | 'Mutation' | 'User' | 'Badge' | 'Preferences'>;
const toGraphQLBadges = (databaseBadges: DatabaseBadge[]): Badge[] =>
databaseBadges.map((databaseBadge) => ({
@@ -118,7 +119,7 @@ const ensureBadgeOwnerOrPrivileged = async (
if (!ownsBadge) throw new Error('Unauthorized');
};
-export const resolvers: WithIndex<Resolvers> = {
+export const resolvers: WithIndex<UserResolvers> = {
Query: {
User: async (_, args) => {
if (!args.id) return null;
diff --git a/src/lib/User/BadgeWall/badge.ts b/src/lib/User/BadgeWall/badge.ts
index a4ba431f..8a8726dc 100644
--- a/src/lib/User/BadgeWall/badge.ts
+++ b/src/lib/User/BadgeWall/badge.ts
@@ -1,4 +1,4 @@
-import type { Badge } from '../../../graphql/user/$types';
+import type { Badge } from '../../../graphql/$types';
export interface IndexedBadge extends Badge {
index: number;
diff --git a/src/routes/user/[user]/badges/+page.svelte b/src/routes/user/[user]/badges/+page.svelte
index 386fe7b1..d302de7f 100644
--- a/src/routes/user/[user]/badges/+page.svelte
+++ b/src/routes/user/[user]/badges/+page.svelte
@@ -23,7 +23,7 @@
import Badges from '$lib/User/BadgeWall/Badges.svelte';
import type { IndexedBadge } from '$lib/User/BadgeWall/badge';
import { graphql } from '$houdini';
- import type { Preferences } from '../../../../graphql/user/$types';
+ import type { Preferences } from '../../../../graphql/$types';
import localforage from 'localforage';
export let data;