From 0449291cafc20a19811c9bd64373e7b51164a750 Mon Sep 17 00:00:00 2001 From: Felipe Cardoso Date: Thu, 13 Mar 2025 07:51:19 +0100 Subject: [PATCH] Refactor file upload and presigned URL types and method names Simplify and standardize type and function names for uploadFile and generatePresignedUrl operations. This change improves readability and aligns naming conventions across the codebase. No functional behavior was altered. --- .../src/client/@tanstack/react-query.gen.ts | 66 +++++++++---------- frontend/src/client/schemas.gen.ts | 4 +- frontend/src/client/sdk.gen.ts | 31 ++++----- frontend/src/client/types.gen.ts | 27 ++++---- 4 files changed, 57 insertions(+), 71 deletions(-) diff --git a/frontend/src/client/@tanstack/react-query.gen.ts b/frontend/src/client/@tanstack/react-query.gen.ts index 6de7907..8a81f57 100644 --- a/frontend/src/client/@tanstack/react-query.gen.ts +++ b/frontend/src/client/@tanstack/react-query.gen.ts @@ -22,8 +22,8 @@ import { getEvent, updateEvent, getEventBySlug, - generatePresignedUrlApiV1UploadsPresignedUrlPost, - uploadFileApiV1UploadsTokenPost, + generatePresignedUrl, + uploadFile, } from "../sdk.gen"; import { queryOptions, type UseMutationOptions } from "@tanstack/react-query"; import type { @@ -67,11 +67,11 @@ import type { UpdateEventError, UpdateEventResponse, GetEventBySlugData, - GeneratePresignedUrlApiV1UploadsPresignedUrlPostData, - GeneratePresignedUrlApiV1UploadsPresignedUrlPostError, - GeneratePresignedUrlApiV1UploadsPresignedUrlPostResponse, - UploadFileApiV1UploadsTokenPostData, - UploadFileApiV1UploadsTokenPostError, + GeneratePresignedUrlData, + GeneratePresignedUrlError, + GeneratePresignedUrlResponse, + UploadFileData, + UploadFileError, } from "../types.gen"; import type { AxiosError } from "axios"; import { client as _heyApiClient } from "../client.gen"; @@ -629,17 +629,16 @@ export const getEventBySlugOptions = (options: Options) => { }); }; -export const generatePresignedUrlApiV1UploadsPresignedUrlPostQueryKey = ( - options: Options, -) => - createQueryKey("generatePresignedUrlApiV1UploadsPresignedUrlPost", options); +export const generatePresignedUrlQueryKey = ( + options: Options, +) => createQueryKey("generatePresignedUrl", options); -export const generatePresignedUrlApiV1UploadsPresignedUrlPostOptions = ( - options: Options, +export const generatePresignedUrlOptions = ( + options: Options, ) => { return queryOptions({ queryFn: async ({ queryKey, signal }) => { - const { data } = await generatePresignedUrlApiV1UploadsPresignedUrlPost({ + const { data } = await generatePresignedUrl({ ...options, ...queryKey[0], signal, @@ -647,22 +646,20 @@ export const generatePresignedUrlApiV1UploadsPresignedUrlPostOptions = ( }); return data; }, - queryKey: generatePresignedUrlApiV1UploadsPresignedUrlPostQueryKey(options), + queryKey: generatePresignedUrlQueryKey(options), }); }; -export const generatePresignedUrlApiV1UploadsPresignedUrlPostMutation = ( - options?: Partial< - Options - >, +export const generatePresignedUrlMutation = ( + options?: Partial>, ) => { const mutationOptions: UseMutationOptions< - GeneratePresignedUrlApiV1UploadsPresignedUrlPostResponse, - AxiosError, - Options + GeneratePresignedUrlResponse, + AxiosError, + Options > = { mutationFn: async (localOptions) => { - const { data } = await generatePresignedUrlApiV1UploadsPresignedUrlPost({ + const { data } = await generatePresignedUrl({ ...options, ...localOptions, throwOnError: true, @@ -673,16 +670,13 @@ export const generatePresignedUrlApiV1UploadsPresignedUrlPostMutation = ( return mutationOptions; }; -export const uploadFileApiV1UploadsTokenPostQueryKey = ( - options: Options, -) => createQueryKey("uploadFileApiV1UploadsTokenPost", options); +export const uploadFileQueryKey = (options: Options) => + createQueryKey("uploadFile", options); -export const uploadFileApiV1UploadsTokenPostOptions = ( - options: Options, -) => { +export const uploadFileOptions = (options: Options) => { return queryOptions({ queryFn: async ({ queryKey, signal }) => { - const { data } = await uploadFileApiV1UploadsTokenPost({ + const { data } = await uploadFile({ ...options, ...queryKey[0], signal, @@ -690,20 +684,20 @@ export const uploadFileApiV1UploadsTokenPostOptions = ( }); return data; }, - queryKey: uploadFileApiV1UploadsTokenPostQueryKey(options), + queryKey: uploadFileQueryKey(options), }); }; -export const uploadFileApiV1UploadsTokenPostMutation = ( - options?: Partial>, +export const uploadFileMutation = ( + options?: Partial>, ) => { const mutationOptions: UseMutationOptions< unknown, - AxiosError, - Options + AxiosError, + Options > = { mutationFn: async (localOptions) => { - const { data } = await uploadFileApiV1UploadsTokenPost({ + const { data } = await uploadFile({ ...options, ...localOptions, throwOnError: true, diff --git a/frontend/src/client/schemas.gen.ts b/frontend/src/client/schemas.gen.ts index e2963e8..b5e191d 100644 --- a/frontend/src/client/schemas.gen.ts +++ b/frontend/src/client/schemas.gen.ts @@ -71,7 +71,7 @@ export const Body_login_oauthSchema = { title: "Body_login_oauth", } as const; -export const Body_upload_file_api_v1_uploads__token__postSchema = { +export const Body_upload_fileSchema = { properties: { file: { type: "string", @@ -81,7 +81,7 @@ export const Body_upload_file_api_v1_uploads__token__postSchema = { }, type: "object", required: ["file"], - title: "Body_upload_file_api_v1_uploads__token__post", + title: "Body_upload_file", } as const; export const EventCreateSchema = { diff --git a/frontend/src/client/sdk.gen.ts b/frontend/src/client/sdk.gen.ts index 0a221da..ed7f949 100644 --- a/frontend/src/client/sdk.gen.ts +++ b/frontend/src/client/sdk.gen.ts @@ -64,11 +64,11 @@ import type { GetEventBySlugData, GetEventBySlugResponse, GetEventBySlugError, - GeneratePresignedUrlApiV1UploadsPresignedUrlPostData, - GeneratePresignedUrlApiV1UploadsPresignedUrlPostResponse, - GeneratePresignedUrlApiV1UploadsPresignedUrlPostError, - UploadFileApiV1UploadsTokenPostData, - UploadFileApiV1UploadsTokenPostError, + GeneratePresignedUrlData, + GeneratePresignedUrlResponse, + GeneratePresignedUrlError, + UploadFileData, + UploadFileError, } from "./types.gen"; import { client as _heyApiClient } from "./client.gen"; @@ -559,17 +559,12 @@ export const getEventBySlug = ( * This endpoint creates a secure token that allows direct upload to the storage system. * After successful upload, the file will be accessible at the returned file_url. */ -export const generatePresignedUrlApiV1UploadsPresignedUrlPost = < - ThrowOnError extends boolean = false, ->( - options: Options< - GeneratePresignedUrlApiV1UploadsPresignedUrlPostData, - ThrowOnError - >, +export const generatePresignedUrl = ( + options: Options, ) => { return (options.client ?? _heyApiClient).post< - GeneratePresignedUrlApiV1UploadsPresignedUrlPostResponse, - GeneratePresignedUrlApiV1UploadsPresignedUrlPostError, + GeneratePresignedUrlResponse, + GeneratePresignedUrlError, ThrowOnError >({ security: [ @@ -594,14 +589,12 @@ export const generatePresignedUrlApiV1UploadsPresignedUrlPost = < * This endpoint handles the actual file upload after a presigned URL is generated. * The token validates the upload permissions and destination. */ -export const uploadFileApiV1UploadsTokenPost = < - ThrowOnError extends boolean = false, ->( - options: Options, +export const uploadFile = ( + options: Options, ) => { return (options.client ?? _heyApiClient).post< unknown, - UploadFileApiV1UploadsTokenPostError, + UploadFileError, ThrowOnError >({ ...formDataBodySerializer, diff --git a/frontend/src/client/types.gen.ts b/frontend/src/client/types.gen.ts index 551d7af..43d9a3b 100644 --- a/frontend/src/client/types.gen.ts +++ b/frontend/src/client/types.gen.ts @@ -14,7 +14,7 @@ export type BodyLoginOauth = { client_secret?: string | null; }; -export type BodyUploadFileApiV1UploadsTokenPost = { +export type BodyUploadFile = { file: Blob | File; }; @@ -796,35 +796,35 @@ export type GetEventBySlugResponses = { export type GetEventBySlugResponse = GetEventBySlugResponses[keyof GetEventBySlugResponses]; -export type GeneratePresignedUrlApiV1UploadsPresignedUrlPostData = { +export type GeneratePresignedUrlData = { body: PresignedUrlRequest; path?: never; query?: never; url: "/api/v1/uploads/presigned-url"; }; -export type GeneratePresignedUrlApiV1UploadsPresignedUrlPostErrors = { +export type GeneratePresignedUrlErrors = { /** * Validation Error */ 422: HttpValidationError; }; -export type GeneratePresignedUrlApiV1UploadsPresignedUrlPostError = - GeneratePresignedUrlApiV1UploadsPresignedUrlPostErrors[keyof GeneratePresignedUrlApiV1UploadsPresignedUrlPostErrors]; +export type GeneratePresignedUrlError = + GeneratePresignedUrlErrors[keyof GeneratePresignedUrlErrors]; -export type GeneratePresignedUrlApiV1UploadsPresignedUrlPostResponses = { +export type GeneratePresignedUrlResponses = { /** * Successful Response */ 200: PresignedUrlResponse; }; -export type GeneratePresignedUrlApiV1UploadsPresignedUrlPostResponse = - GeneratePresignedUrlApiV1UploadsPresignedUrlPostResponses[keyof GeneratePresignedUrlApiV1UploadsPresignedUrlPostResponses]; +export type GeneratePresignedUrlResponse = + GeneratePresignedUrlResponses[keyof GeneratePresignedUrlResponses]; -export type UploadFileApiV1UploadsTokenPostData = { - body: BodyUploadFileApiV1UploadsTokenPost; +export type UploadFileData = { + body: BodyUploadFile; path: { token: string; }; @@ -832,17 +832,16 @@ export type UploadFileApiV1UploadsTokenPostData = { url: "/api/v1/uploads/{token}"; }; -export type UploadFileApiV1UploadsTokenPostErrors = { +export type UploadFileErrors = { /** * Validation Error */ 422: HttpValidationError; }; -export type UploadFileApiV1UploadsTokenPostError = - UploadFileApiV1UploadsTokenPostErrors[keyof UploadFileApiV1UploadsTokenPostErrors]; +export type UploadFileError = UploadFileErrors[keyof UploadFileErrors]; -export type UploadFileApiV1UploadsTokenPostResponses = { +export type UploadFileResponses = { /** * Successful Response */