From f4492f42ba9e0f1430b681419e8900163777bb32 Mon Sep 17 00:00:00 2001 From: q1zhen <142765265+q1zhen@users.noreply.github.com> Date: Mon, 6 Jan 2025 22:05:18 +0800 Subject: [PATCH] fix(minor): api and `crypto` related bugs (#676) * fix: using uncrypto * feat: changeset --- .changeset/violet-cycles-mate.md | 5 +++++ app/components/custom/club-file-upload.vue | 4 +++- plugins/crypto.server.ts | 7 +++++++ server/api/files/newRecord.post.ts | 4 ++-- 4 files changed, 17 insertions(+), 3 deletions(-) create mode 100644 .changeset/violet-cycles-mate.md create mode 100644 plugins/crypto.server.ts diff --git a/.changeset/violet-cycles-mate.md b/.changeset/violet-cycles-mate.md new file mode 100644 index 00000000..cb84ccbc --- /dev/null +++ b/.changeset/violet-cycles-mate.md @@ -0,0 +1,5 @@ +--- +"enspire": patch +--- + +bugfixes diff --git a/app/components/custom/club-file-upload.vue b/app/components/custom/club-file-upload.vue index 7a40d502..b5c1697d 100644 --- a/app/components/custom/club-file-upload.vue +++ b/app/components/custom/club-file-upload.vue @@ -132,7 +132,9 @@ async function download() { // window.open(data) downloadLink.value = data.url downloadFilename.value = data.name - dlink.value.click() + nextTick(() => { + dlink.value.click() + }) downloading.value = false } } diff --git a/plugins/crypto.server.ts b/plugins/crypto.server.ts new file mode 100644 index 00000000..4d907f43 --- /dev/null +++ b/plugins/crypto.server.ts @@ -0,0 +1,7 @@ +// TODO: this is a temporary solution to the error +// of occurrence of 'crypto not defined' in prod + +export default defineNuxtPlugin(() => { + const crypto = require('uncrypto') + global.crypto = crypto +}) diff --git a/server/api/files/newRecord.post.ts b/server/api/files/newRecord.post.ts index 7a1916cc..d98a0fba 100644 --- a/server/api/files/newRecord.post.ts +++ b/server/api/files/newRecord.post.ts @@ -1,5 +1,5 @@ import { PrismaClient } from '@prisma/client' -import { v4 as uuidv4 } from 'uuid' +import { randomUUID } from 'uncrypto' const prisma = new PrismaClient() @@ -75,7 +75,7 @@ export default eventHandler(async (event) => { } } catch (error) { - const fileUUID = uuidv4() + const fileUUID = randomUUID() try { await prisma.fileUploadRecord.create({ data: {