MCPcopy Index your code
hub / github.com/simstudioai/sim / useRenameWorkspaceFile

Function useRenameWorkspaceFile

apps/sim/hooks/queries/workspace-files.ts:481–518  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

479}
480
481export function useRenameWorkspaceFile() {
482 const queryClient = useQueryClient()
483
484 return useMutation({
485 mutationFn: async ({ workspaceId, fileId, name }: RenameFileParams) =>
486 requestJson(renameWorkspaceFileContract, {
487 params: { id: workspaceId, fileId },
488 body: { name },
489 }),
490 onMutate: async ({ workspaceId, fileId, name }) => {
491 await queryClient.cancelQueries({ queryKey: workspaceFilesKeys.workspaceLists(workspaceId) })
492 const previous = queryClient.getQueryData<WorkspaceFileRecord[]>(
493 workspaceFilesKeys.list(workspaceId, 'active')
494 )
495 if (previous) {
496 queryClient.setQueryData<WorkspaceFileRecord[]>(
497 workspaceFilesKeys.list(workspaceId, 'active'),
498 previous.map((f) => (f.id === fileId ? { ...f, name } : f))
499 )
500 }
501 return { previous }
502 },
503 onError: (error, variables, context) => {
504 if (context?.previous) {
505 queryClient.setQueryData(
506 workspaceFilesKeys.list(variables.workspaceId, 'active'),
507 context.previous
508 )
509 }
510 toast.error(error.message, { duration: 5000 })
511 },
512 onSettled: (_data, _error, variables) => {
513 queryClient.invalidateQueries({
514 queryKey: workspaceFilesKeys.workspaceLists(variables.workspaceId),
515 })
516 },
517 })
518}
519
520/**
521 * Delete workspace file mutation

Callers 1

FilesFunction · 0.90

Calls 2

requestJsonFunction · 0.90
errorMethod · 0.80

Tested by

no test coverage detected