From c5e1e5e2bc7195df3c11675ed2d813c5709b31f3 Mon Sep 17 00:00:00 2001
From: Huskydog9988 <39809509+Huskydog9988@users.noreply.github.com>
Date: Wed, 9 Jul 2025 12:40:07 -0400
Subject: [PATCH 01/16] chore: update prisma to 6.11
more prisma future proofing due to experimental features
---
components/Auth/Simple.vue | 4 +-
components/CreateCollectionModal.vue | 4 +-
components/DeleteCollectionModal.vue | 4 +-
components/DeleteUserModal.vue | 4 +-
components/GameCarousel.vue | 6 +-
components/GameEditor/Metadata.vue | 12 +-
components/GameEditor/Version.vue | 8 +-
components/NotificationItem.vue | 4 +-
.../UserHeader/NotificationWidgetPanel.vue | 4 +-
composables/collection.ts | 10 +-
composables/news.ts | 4 +-
composables/notifications.ts | 6 +-
composables/user.ts | 6 +-
composables/users.ts | 5 +-
package.json | 5 +-
pages/account/notifications.vue | 16 +-
pages/admin/library/sources/index.vue | 2 +-
pages/admin/users/auth/index.vue | 2 +-
pages/admin/users/auth/simple/index.vue | 4 +-
pages/admin/users/index.vue | 4 +-
pages/auth/signin.vue | 2 +-
pages/library/index.vue | 4 +-
pages/news/index.vue | 4 +-
prisma/schema.prisma | 4 +-
server/api/v1/admin/auth/index.get.ts | 2 +-
server/api/v1/admin/game/metadata.post.ts | 2 +-
.../api/v1/admin/library/sources/index.get.ts | 4 +-
.../v1/admin/library/sources/index.post.ts | 2 +-
server/api/v1/auth/signin/simple.post.ts | 2 +-
server/api/v1/auth/signup/simple.post.ts | 2 +-
.../[gameid]/[slotindex]/index.delete.ts | 2 +-
.../saves/[gameid]/[slotindex]/index.get.ts | 2 +-
.../saves/[gameid]/[slotindex]/push.post.ts | 2 +-
.../api/v1/client/saves/[gameid]/index.get.ts | 2 +-
.../v1/client/saves/[gameid]/index.post.ts | 2 +-
server/api/v1/client/saves/index.get.ts | 2 +-
server/api/v1/client/saves/settings.get.ts | 2 +-
server/api/v1/client/user/webtoken.post.ts | 2 +-
server/api/v1/user/token/[id]/index.delete.ts | 2 +-
server/api/v1/user/token/index.get.ts | 2 +-
server/api/v1/user/token/index.post.ts | 2 +-
server/internal/acls/index.ts | 2 +-
server/internal/auth/index.ts | 2 +-
server/internal/auth/oidc/index.ts | 6 +-
server/internal/clients/capabilities.ts | 2 +-
server/internal/clients/event-handler.ts | 6 +-
server/internal/clients/handler.ts | 2 +-
.../config/application-configuration.ts | 14 +-
server/internal/db/database.ts | 7 +-
server/internal/downloads/manifest.ts | 4 +-
server/internal/library/provider.ts | 2 +-
.../internal/library/providers/filesystem.ts | 2 +-
server/internal/library/providers/flat.ts | 2 +-
server/internal/metadata/giantbomb.ts | 7 +-
server/internal/metadata/igdb.ts | 8 +-
server/internal/metadata/index.ts | 3 +-
server/internal/metadata/manual.ts | 2 +-
server/internal/metadata/pcgamingwiki.ts | 8 +-
server/internal/notifications/index.ts | 13 +-
server/internal/utils/parseplatform.ts | 2 +-
server/plugins/05.library-init.ts | 2 +-
yarn.lock | 187 ++++++++++++++----
62 files changed, 287 insertions(+), 160 deletions(-)
diff --git a/components/Auth/Simple.vue b/components/Auth/Simple.vue
index e2dfebca..7324467a 100644
--- a/components/Auth/Simple.vue
+++ b/components/Auth/Simple.vue
@@ -86,7 +86,7 @@
diff --git a/components/CreateCollectionModal.vue b/components/CreateCollectionModal.vue
index 62dd59b6..e38230eb 100644
--- a/components/CreateCollectionModal.vue
+++ b/components/CreateCollectionModal.vue
@@ -46,7 +46,7 @@
diff --git a/composables/collection.ts b/composables/collection.ts
index 64b5ad28..98d1ed8c 100644
--- a/composables/collection.ts
+++ b/composables/collection.ts
@@ -1,8 +1,12 @@
-import type { Collection, CollectionEntry, Game } from "~/prisma/client";
+import type {
+ CollectionModel,
+ CollectionEntryModel,
+ GameModel,
+} from "~/prisma/client/models";
import type { SerializeObject } from "nitropack";
-type FullCollection = Collection & {
- entries: Array }>;
+type FullCollection = CollectionModel & {
+ entries: Array }>;
};
export const useCollections = async () => {
diff --git a/composables/news.ts b/composables/news.ts
index cec5e4ac..7179bf56 100644
--- a/composables/news.ts
+++ b/composables/news.ts
@@ -1,11 +1,11 @@
-import type { Article } from "~/prisma/client";
+import type { ArticleModel } from "~/prisma/client/models";
import type { SerializeObject } from "nitropack";
export const useNews = () =>
useState<
| Array<
SerializeObject<
- Article & {
+ ArticleModel & {
tags: Array<{ id: string; name: string }>;
author: { displayName: string; id: string } | null;
}
diff --git a/composables/notifications.ts b/composables/notifications.ts
index 44d28324..ede125ba 100644
--- a/composables/notifications.ts
+++ b/composables/notifications.ts
@@ -1,12 +1,12 @@
-import type { Notification } from "~/prisma/client";
+import type { NotificationModel } from "~/prisma/client/models";
const ws = new WebSocketHandler("/api/v1/notifications/ws");
export const useNotifications = () =>
- useState>("notifications", () => []);
+ useState>("notifications", () => []);
ws.listen((e) => {
- const notification = JSON.parse(e) as Notification;
+ const notification = JSON.parse(e) as NotificationModel;
const notifications = useNotifications();
notifications.value.push(notification);
});
diff --git a/composables/user.ts b/composables/user.ts
index ae604da3..68513980 100644
--- a/composables/user.ts
+++ b/composables/user.ts
@@ -1,13 +1,13 @@
-import type { User } from "~/prisma/client";
+import type { UserModel } from "~/prisma/client/models";
// undefined = haven't check
// null = check, no user
// {} = check, user
-export const useUser = () => useState(undefined);
+export const useUser = () => useState(undefined);
export const updateUser = async () => {
const user = useUser();
if (user.value === null) return;
- user.value = await $dropFetch("/api/v1/user");
+ user.value = await $dropFetch("/api/v1/user");
};
diff --git a/composables/users.ts b/composables/users.ts
index 28761c55..8e44c6a5 100644
--- a/composables/users.ts
+++ b/composables/users.ts
@@ -1,11 +1,12 @@
import type { SerializeObject } from "nitropack";
-import type { User, AuthMec } from "~/prisma/client";
+import type { UserModel } from "~/prisma/client/models";
+import type { AuthMec } from "~/prisma/client/enums";
export const useUsers = () =>
useState<
| Array<
SerializeObject<
- User & {
+ UserModel & {
authMecs?: Array<{ id: string; mec: AuthMec }>;
}
>
diff --git a/package.json b/package.json
index fb245d3f..050aa6d8 100644
--- a/package.json
+++ b/package.json
@@ -25,7 +25,8 @@
"@nuxt/fonts": "^0.11.0",
"@nuxt/image": "^1.10.0",
"@nuxtjs/i18n": "^9.5.5",
- "@prisma/client": "^6.7.0",
+ "@prisma/adapter-pg": "^6.11.1",
+ "@prisma/client": "^6.11.1",
"@tailwindcss/vite": "^4.0.6",
"argon2": "^0.41.1",
"arktype": "^2.1.10",
@@ -43,7 +44,7 @@
"nuxt-security": "2.2.0",
"pino": "^9.7.0",
"pino-pretty": "^13.0.0",
- "prisma": "^6.7.0",
+ "prisma": "^6.11.1",
"sanitize-filename": "^1.6.3",
"semver": "^7.7.1",
"stream-mime-type": "^2.0.0",
diff --git a/pages/account/notifications.vue b/pages/account/notifications.vue
index 2a60d6d4..03f9fead 100644
--- a/pages/account/notifications.vue
+++ b/pages/account/notifications.vue
@@ -90,7 +90,7 @@
diff --git a/pages/auth/signin.vue b/pages/auth/signin.vue
index 813b1c7c..4feba93c 100644
--- a/pages/auth/signin.vue
+++ b/pages/auth/signin.vue
@@ -43,7 +43,7 @@