diff options
| author | Fuwn <[email protected]> | 2026-01-23 22:02:39 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2026-01-23 22:02:39 -0800 |
| commit | 8492374146f3d7f42d93654d9d7c98b6e02bff34 (patch) | |
| tree | a51c30563d482c5b3082d4bbdff754fa3fe60b3c /src/lib/Database | |
| parent | chore: Add Supabase schema for reference (diff) | |
| download | due.moe-8492374146f3d7f42d93654d9d7c98b6e02bff34.tar.xz due.moe-8492374146f3d7f42d93654d9d7c98b6e02bff34.zip | |
refactor(Database:User): Align Badge interface with database schema
Diffstat (limited to 'src/lib/Database')
| -rw-r--r-- | src/lib/Database/SB/User/badges.ts | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/src/lib/Database/SB/User/badges.ts b/src/lib/Database/SB/User/badges.ts index 97f30e64..dd6c158e 100644 --- a/src/lib/Database/SB/User/badges.ts +++ b/src/lib/Database/SB/User/badges.ts @@ -2,17 +2,28 @@ import { databaseTimeToDate } from '$lib/Utility/time'; import sb from '../../sb'; export interface Badge { + id: number; + post: string; + image: string; + hidden: boolean; + shadow_hidden: boolean; + click_count: number; + time?: string; + description?: string | null; + category?: string | null; + source?: string | null; + designer?: string | null; +} + +export interface BadgeInput { post?: string; image?: string; description?: string | null; - id?: number; time?: string; category?: string | null; hidden?: boolean; source?: string | null; designer?: string | null; - shadow_hidden?: boolean; - click_count?: number; } const getPagination = (page: number, size: number) => { @@ -39,7 +50,7 @@ export const getUserBadges = async (userId: number, page = 0, size = -1): Promis ) as Badge[]; }; -export const addUserBadge = async (userId: number, badge: Badge) => { +export const addUserBadge = async (userId: number, badge: BadgeInput) => { const { post, image, description, time, category, hidden, source, designer } = badge; if (post === undefined || image === undefined) return; @@ -67,7 +78,7 @@ export const removeUserBadge = async (userId: number, id: number) => { if (!isNaN(id)) await sb.from('user_badges').delete().eq('id', id).eq('user_id', userId); }; -export const updateUserBadge = async (userId: number, id: number, badge: Badge) => { +export const updateUserBadge = async (userId: number, id: number, badge: BadgeInput) => { if (badge.post === undefined || badge.image === undefined) return; await sb |