Update Prisma to 6.11 (#133)

* chore: update prisma to 6.11

more prisma future proofing due to experimental features

* chore: update dependencies

twemoji - new unicode update
argon2 - bux fixes
vue3-carousel - improve mobile experiance
vue-tsc - more stable

* fix: incorrect prisma version in docker

Also remove default value for BUILD_DROP_VERSION, that is now handled in nuxt config

* fix: no logging in prod

* chore: optimize docker builds even more

* fix: revert adoption of prisma driverAdapters

see: https://github.com/prisma/prisma/issues/27486

* chore: optimize dockerignore some more

* Fix `pino-pretty` not being included in build (#135)

* Remove `pino` from frontend

* Fix for downloads and removing of library source (#136)

* fix: downloads and removing library source

* fix: linting

* Fix max file size of 4GB (update droplet) (#137)

* Fix manual metadata import (#138)

* chore(deps): bump vue-i18n from 10.0.7 to 10.0.8 (#140)

Bumps [vue-i18n](https://github.com/intlify/vue-i18n/tree/HEAD/packages/vue-i18n) from 10.0.7 to 10.0.8.
- [Release notes](https://github.com/intlify/vue-i18n/releases)
- [Changelog](https://github.com/intlify/vue-i18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/intlify/vue-i18n/commits/v10.0.8/packages/vue-i18n)

---
updated-dependencies:
- dependency-name: vue-i18n
  dependency-version: 10.0.8
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump @intlify/core from 10.0.7 to 10.0.8 (#139)

---
updated-dependencies:
- dependency-name: "@intlify/core"
  dependency-version: 10.0.8
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Small fixes (#141)

* fix: save task as Json rather than string

* fix: pull objects before creating game in database

* fix: strips relative dirs from version information

* fix: #132

* fix: lint

* fix: news object ids and small tweaks

* fix: notification styling errors

* fix: lint

* fix: build issues by regenerating lockfile

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: DecDuck <declanahofmeyr@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This commit is contained in:
Husky
2025-07-25 07:28:00 -04:00
committed by GitHub
parent 45848d175e
commit 1ae051f066
66 changed files with 1942 additions and 1765 deletions

View File

@ -86,7 +86,7 @@
<script setup lang="ts">
import { XCircleIcon } from "@heroicons/vue/20/solid";
import type { User } from "~/prisma/client";
import type { UserModel } from "~/prisma/client/models";
const username = ref("");
const password = ref("");
@ -124,6 +124,6 @@ async function signin() {
},
});
const user = useUser();
user.value = await $dropFetch<User | null>("/api/v1/user");
user.value = await $dropFetch<UserModel | null>("/api/v1/user");
}
</script>

View File

@ -46,7 +46,7 @@
<script setup lang="ts">
import { ref } from "vue";
import { DialogTitle } from "@headlessui/vue";
import type { CollectionEntry, Game } from "~/prisma/client";
import type { CollectionEntryModel, GameModel } from "~/prisma/client/models";
import type { SerializeObject } from "nitropack";
const props = defineProps<{
@ -79,7 +79,7 @@ async function createCollection() {
// Add the game if provided
if (props.gameId) {
const entry = await $dropFetch<
CollectionEntry & { game: SerializeObject<Game> }
CollectionEntryModel & { game: SerializeObject<GameModel> }
>(`/api/v1/collection/${response.id}/entry`, {
method: "POST",
body: { id: props.gameId },

View File

@ -35,10 +35,10 @@
</template>
<script setup lang="ts">
import type { Collection } from "~/prisma/client";
import type { CollectionModel } from "~/prisma/client/models";
import { DialogTitle } from "@headlessui/vue";
const collection = defineModel<Collection | undefined>();
const collection = defineModel<CollectionModel | undefined>();
const deleteLoading = ref(false);
const collections = await useCollections();

View File

@ -36,9 +36,9 @@
<script setup lang="ts">
import { DialogTitle } from "@headlessui/vue";
import type { User } from "~/prisma/client";
import type { UserModel } from "~/prisma/client/models";
const user = defineModel<User | undefined>();
const user = defineModel<UserModel | undefined>();
const deleteLoading = ref(false);
const router = useRouter();
const { t } = useI18n();

View File

@ -35,11 +35,11 @@
</template>
<script setup lang="ts">
import type { Game } from "~/prisma/client";
import type { GameModel } from "~/prisma/client/models";
import type { SerializeObject } from "nitropack";
const props = defineProps<{
items: Array<SerializeObject<Game>>;
items: Array<SerializeObject<GameModel>>;
min?: number;
width?: number;
}>();
@ -51,7 +51,7 @@ const { showGamePanelTextDecoration } = await $dropFetch(
const currentComponent = ref<HTMLDivElement>();
const min = computed(() => Math.max(props.min ?? 8, props.items.length));
const games: Ref<Array<SerializeObject<Game> | undefined>> = computed(() =>
const games: Ref<Array<SerializeObject<GameModel> | undefined>> = computed(() =>
Array(min.value)
.fill(0)
.map((_, i) => props.items[i]),

View File

@ -274,7 +274,7 @@
accept="image/*"
endpoint="/api/v1/admin/game/image"
:multiple="true"
@upload="(result: Game) => uploadAfterImageUpload(result)"
@upload="(result: GameModel) => uploadAfterImageUpload(result)"
/>
<ModalTemplate v-model="showAddCarouselModal">
<template #default>
@ -440,7 +440,7 @@
</template>
<script setup lang="ts">
import type { Game } from "~/prisma/client";
import type { GameModel } from "~/prisma/client/models";
import { micromark } from "micromark";
import {
CheckIcon,
@ -461,7 +461,9 @@ const showAddImageDescriptionModal = ref(false);
const showEditCoreMetadata = ref(false);
const mobileShowFinalDescription = ref(true);
const game = defineModel<SerializeObject<Game>>() as Ref<SerializeObject<Game>>;
const game = defineModel<SerializeObject<GameModel>>() as Ref<
SerializeObject<GameModel>
>;
if (!game.value)
throw createError({
statusCode: 500,
@ -563,7 +565,7 @@ const descriptionSaving = ref<DescriptionSavingState>(
let savingTimeout: undefined | NodeJS.Timeout;
type PatchGameBody = Partial<Game>;
type PatchGameBody = Partial<GameModel>;
watch(descriptionHTML, (_v) => {
descriptionSaving.value = DescriptionSavingState.Waiting;
@ -693,7 +695,7 @@ async function deleteImage(id: string) {
}
}
async function uploadAfterImageUpload(result: Game) {
async function uploadAfterImageUpload(result: GameModel) {
if (!game.value) return;
game.value.mImageLibraryObjectIds = result.mImageLibraryObjectIds;
}

View File

@ -55,7 +55,9 @@
class="mt-2 space-y-4"
@update="() => updateVersionOrder()"
>
<template #item="{ element: item }: { element: GameVersion }">
<template
#item="{ element: item }: { element: GameVersionModel }"
>
<div
class="w-full inline-flex items-center px-4 py-2 bg-zinc-800 rounded justify-between"
>
@ -97,7 +99,7 @@
</template>
<script setup lang="ts">
import type { Game, GameVersion } from "~/prisma/client";
import type { GameModel, GameVersionModel } from "~/prisma/client/models";
import { Bars3Icon, TrashIcon } from "@heroicons/vue/24/solid";
import type { SerializeObject } from "nitropack";
import type { H3Error } from "h3";
@ -112,7 +114,7 @@ defineProps<{ unimportedVersions: string[] }>();
const { t } = useI18n();
type GameAndVersions = Game & { versions: GameVersion[] };
type GameAndVersions = GameModel & { versions: GameVersionModel[] };
const game = defineModel<SerializeObject<GameAndVersions>>() as Ref<
SerializeObject<GameAndVersions>
>;

View File

@ -44,9 +44,9 @@
<script setup lang="ts">
import { XMarkIcon } from "@heroicons/vue/24/solid";
import type { Notification } from "~/prisma/client";
import type { NotificationModel } from "~/prisma/client/models";
const props = defineProps<{ notification: Notification }>();
const props = defineProps<{ notification: NotificationModel }>();
async function deleteMe() {
await $dropFetch(`/api/v1/notifications/${props.notification.id}`, {

View File

@ -46,7 +46,7 @@
</template>
<script setup lang="ts">
import type { Notification } from "~/prisma/client";
import type { NotificationModel } from "~/prisma/client/models";
const props = defineProps<{ notifications: Array<Notification> }>();
const props = defineProps<{ notifications: Array<NotificationModel> }>();
</script>