From 88aea96a1a3902f5c621a211f20785a3c75026d4 Mon Sep 17 00:00:00 2001 From: Marcel <65048232+dromzeh@users.noreply.github.com> Date: Mon, 16 Oct 2023 10:37:45 +0100 Subject: [PATCH] fix formdata parsing --- .../routes/auth/asset-categories/deleteAssetCategory.ts | 7 ++++++- .../auth/assets/collections/addAssetToCollection.ts | 5 ++++- .../auth/assets/collections/deleteAssetFromCollection.ts | 5 ++++- src/v2/routes/auth/assets/favorite/removeFavoriteAsset.ts | 7 ++++++- src/v2/routes/auth/login.ts | 1 - .../auth/oc-generators/deleteOCGeneratorResponse.ts | 5 ++++- .../routes/auth/oc-generators/saveOCGeneratorResponse.ts | 5 ++++- src/v2/routes/auth/tags/createTag.ts | 7 ++++++- src/v2/routes/auth/tags/deleteTag.ts | 7 ++++++- .../auth/user-attributes/self-upload/uploadAvatar.ts | 7 ++++++- .../auth/user-attributes/self-upload/uploadBanner.ts | 7 ++++++- .../routes/auth/user-attributes/updateUserAttributes.ts | 5 ++++- .../auth/user-attributes/user-relations/followUser.ts | 7 ++++++- .../auth/user-attributes/user-relations/unfollowUser.ts | 8 ++++++-- 14 files changed, 68 insertions(+), 15 deletions(-) diff --git a/src/v2/routes/auth/asset-categories/deleteAssetCategory.ts b/src/v2/routes/auth/asset-categories/deleteAssetCategory.ts index 43750af4..ccdc10dd 100644 --- a/src/v2/routes/auth/asset-categories/deleteAssetCategory.ts +++ b/src/v2/routes/auth/asset-categories/deleteAssetCategory.ts @@ -13,7 +13,12 @@ const DeleteAssetCategorySchema = z.object({ }) export async function deleteAssetCategory(c: APIContext): Promise { - const formData = DeleteAssetCategorySchema.safeParse(await c.req.formData()) + const formData = DeleteAssetCategorySchema.safeParse( + await c.req.formData().then((formData) => { + const data = Object.fromEntries(formData.entries()) + return data + }) + ) if (!formData.success) { return c.json({ success: false, state: "invalid data" }, 400) diff --git a/src/v2/routes/auth/assets/collections/addAssetToCollection.ts b/src/v2/routes/auth/assets/collections/addAssetToCollection.ts index b251d1a0..16d43611 100644 --- a/src/v2/routes/auth/assets/collections/addAssetToCollection.ts +++ b/src/v2/routes/auth/assets/collections/addAssetToCollection.ts @@ -16,7 +16,10 @@ const AddAssetToCollectionSchema = z.object({ export async function addAssetToCollection(c: APIContext): Promise { const formData = AddAssetToCollectionSchema.safeParse( - await c.req.formData() + await c.req.formData().then((formData) => { + const data = Object.fromEntries(formData.entries()) + return data + }) ) if (!formData.success) { diff --git a/src/v2/routes/auth/assets/collections/deleteAssetFromCollection.ts b/src/v2/routes/auth/assets/collections/deleteAssetFromCollection.ts index 3cd109bb..1cf5ff51 100644 --- a/src/v2/routes/auth/assets/collections/deleteAssetFromCollection.ts +++ b/src/v2/routes/auth/assets/collections/deleteAssetFromCollection.ts @@ -19,7 +19,10 @@ export async function deleteAssetFromCollection( c: APIContext ): Promise { const formData = DeleteAssetFromCollectionSchema.safeParse( - await c.req.formData() + await c.req.formData().then((formData) => { + const data = Object.fromEntries(formData.entries()) + return data + }) ) if (!formData.success) { diff --git a/src/v2/routes/auth/assets/favorite/removeFavoriteAsset.ts b/src/v2/routes/auth/assets/favorite/removeFavoriteAsset.ts index bccf9f55..5d31f34d 100644 --- a/src/v2/routes/auth/assets/favorite/removeFavoriteAsset.ts +++ b/src/v2/routes/auth/assets/favorite/removeFavoriteAsset.ts @@ -12,7 +12,12 @@ const RemoveFavoriteAssetSchema = z.object({ }) export async function removeFavoriteAsset(c: APIContext): Promise { - const formData = RemoveFavoriteAssetSchema.safeParse(await c.req.formData()) + const formData = RemoveFavoriteAssetSchema.safeParse( + await c.req.formData().then((formData) => { + const data = Object.fromEntries(formData.entries()) + return data + }) + ) if (!formData.success) { return c.json({ success: false, state: "invalid data" }, 400) diff --git a/src/v2/routes/auth/login.ts b/src/v2/routes/auth/login.ts index a3f20bef..0f84cd5e 100644 --- a/src/v2/routes/auth/login.ts +++ b/src/v2/routes/auth/login.ts @@ -29,7 +29,6 @@ export async function login(c: APIContext): Promise { ) if (!formData.success) { - console.log(formData) return c.json({ success: false, state: "invalid data" }, 400) } diff --git a/src/v2/routes/auth/oc-generators/deleteOCGeneratorResponse.ts b/src/v2/routes/auth/oc-generators/deleteOCGeneratorResponse.ts index 7d6be0dd..11f9345e 100644 --- a/src/v2/routes/auth/oc-generators/deleteOCGeneratorResponse.ts +++ b/src/v2/routes/auth/oc-generators/deleteOCGeneratorResponse.ts @@ -15,7 +15,10 @@ export async function deleteOCGeneratorResponse( c: APIContext ): Promise { const formData = DeleteOCGeneratorResponseSchema.safeParse( - await c.req.formData() + await c.req.formData().then((formData) => { + const data = Object.fromEntries(formData.entries()) + return data + }) ) if (!formData.success) { diff --git a/src/v2/routes/auth/oc-generators/saveOCGeneratorResponse.ts b/src/v2/routes/auth/oc-generators/saveOCGeneratorResponse.ts index 9d21983c..65524e07 100644 --- a/src/v2/routes/auth/oc-generators/saveOCGeneratorResponse.ts +++ b/src/v2/routes/auth/oc-generators/saveOCGeneratorResponse.ts @@ -59,7 +59,10 @@ export async function saveOCGeneratorResponse( c: APIContext ): Promise { const formData = SaveOCGeneratorResponseSchema.safeParse( - await c.req.formData() + await c.req.formData().then((formData) => { + const data = Object.fromEntries(formData.entries()) + return data + }) ) if (!formData.success) { diff --git a/src/v2/routes/auth/tags/createTag.ts b/src/v2/routes/auth/tags/createTag.ts index 7edce340..80550a3a 100644 --- a/src/v2/routes/auth/tags/createTag.ts +++ b/src/v2/routes/auth/tags/createTag.ts @@ -16,7 +16,12 @@ const CreateTagSchema = z.object({ }) export async function createTag(c: APIContext): Promise { - const formData = CreateTagSchema.safeParse(await c.req.formData()) + const formData = CreateTagSchema.safeParse( + await c.req.formData().then((formData) => { + const data = Object.fromEntries(formData.entries()) + return data + }) + ) if (!formData.success) { return c.json({ success: false, state: "invalid data" }, 400) diff --git a/src/v2/routes/auth/tags/deleteTag.ts b/src/v2/routes/auth/tags/deleteTag.ts index 706b6551..778c11c2 100644 --- a/src/v2/routes/auth/tags/deleteTag.ts +++ b/src/v2/routes/auth/tags/deleteTag.ts @@ -13,7 +13,12 @@ const DeleteTagSchema = z.object({ }) export async function deleteTag(c: APIContext): Promise { - const formData = DeleteTagSchema.safeParse(await c.req.formData()) + const formData = DeleteTagSchema.safeParse( + await c.req.formData().then((formData) => { + const data = Object.fromEntries(formData.entries()) + return data + }) + ) if (!formData.success) { return c.json({ success: false, state: "invalid data" }, 400) diff --git a/src/v2/routes/auth/user-attributes/self-upload/uploadAvatar.ts b/src/v2/routes/auth/user-attributes/self-upload/uploadAvatar.ts index ff12b970..deacedc5 100644 --- a/src/v2/routes/auth/user-attributes/self-upload/uploadAvatar.ts +++ b/src/v2/routes/auth/user-attributes/self-upload/uploadAvatar.ts @@ -20,7 +20,12 @@ const UploadProfileImageSchema = z.object({ // TODO: add support for animated avatars export async function uploadProfileImage(c: APIContext): Promise { - const formData = UploadProfileImageSchema.safeParse(await c.req.formData()) + const formData = UploadProfileImageSchema.safeParse( + await c.req.formData().then((formData) => { + const data = Object.fromEntries(formData.entries()) + return data + }) + ) if (!formData.success) { return c.json({ success: false, state: "invalid data" }, 400) diff --git a/src/v2/routes/auth/user-attributes/self-upload/uploadBanner.ts b/src/v2/routes/auth/user-attributes/self-upload/uploadBanner.ts index 458465ef..fac880ae 100644 --- a/src/v2/routes/auth/user-attributes/self-upload/uploadBanner.ts +++ b/src/v2/routes/auth/user-attributes/self-upload/uploadBanner.ts @@ -23,7 +23,12 @@ const UploadBannerSchema = z.object({ // TODO: add support for animated banners export async function uploadBannerImage(c: APIContext): Promise { - const formData = UploadBannerSchema.safeParse(await c.req.formData()) + const formData = UploadBannerSchema.safeParse( + await c.req.formData().then((formData) => { + const data = Object.fromEntries(formData.entries()) + return data + }) + ) if (!formData.success) { return c.json({ success: false, state: "invalid data" }, 400) diff --git a/src/v2/routes/auth/user-attributes/updateUserAttributes.ts b/src/v2/routes/auth/user-attributes/updateUserAttributes.ts index 2a8d0c71..4ac15bd7 100644 --- a/src/v2/routes/auth/user-attributes/updateUserAttributes.ts +++ b/src/v2/routes/auth/user-attributes/updateUserAttributes.ts @@ -43,7 +43,10 @@ const UpdateUserAttributesSchema = z export async function updateUserAttributes(c: APIContext): Promise { const formData = UpdateUserAttributesSchema.safeParse( - await c.req.formData() + await c.req.formData().then((formData) => { + const data = Object.fromEntries(formData.entries()) + return data + }) ) if (!formData.success) { diff --git a/src/v2/routes/auth/user-attributes/user-relations/followUser.ts b/src/v2/routes/auth/user-attributes/user-relations/followUser.ts index 8b785fea..afc0fd5c 100644 --- a/src/v2/routes/auth/user-attributes/user-relations/followUser.ts +++ b/src/v2/routes/auth/user-attributes/user-relations/followUser.ts @@ -11,7 +11,12 @@ const FollowUserSchema = z.object({ }) export async function followUser(c: APIContext): Promise { - const formData = FollowUserSchema.safeParse(await c.req.formData()) + const formData = FollowUserSchema.safeParse( + await c.req.formData().then((formData) => { + const data = Object.fromEntries(formData.entries()) + return data + }) + ) if (!formData.success) { return c.json({ success: false, state: "invalid data" }, 400) diff --git a/src/v2/routes/auth/user-attributes/user-relations/unfollowUser.ts b/src/v2/routes/auth/user-attributes/user-relations/unfollowUser.ts index d157ddc1..e221de4c 100644 --- a/src/v2/routes/auth/user-attributes/user-relations/unfollowUser.ts +++ b/src/v2/routes/auth/user-attributes/user-relations/unfollowUser.ts @@ -12,8 +12,12 @@ const UnfollowUserSchema = z.object({ }) export async function unfollowUser(c: APIContext): Promise { - const formData = UnfollowUserSchema.safeParse(await c.req.formData()) - + const formData = UnfollowUserSchema.safeParse( + await c.req.formData().then((formData) => { + const data = Object.fromEntries(formData.entries()) + return data + }) + ) if (!formData.success) { return c.json({ success: false, state: "invalid data" }, 400) }