Skip to content

Commit 4f74592

Browse files
committed
fix(tables): direct imports for downloadFile/sanitizePathSegment, fix greptile comments
1 parent 194a2d3 commit 4f74592

File tree

10 files changed

+19
-13
lines changed

10 files changed

+19
-13
lines changed

apps/sim/app/api/v1/admin/folders/[id]/export/route.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ import { workflow, workflowFolder } from '@sim/db/schema'
1616
import { createLogger } from '@sim/logger'
1717
import { eq } from 'drizzle-orm'
1818
import { NextResponse } from 'next/server'
19-
import { exportFolderToZip, sanitizePathSegment } from '@/lib/workflows/operations/import-export'
19+
import { sanitizePathSegment } from '@/lib/core/utils/file-download'
20+
import { exportFolderToZip } from '@/lib/workflows/operations/import-export'
2021
import { loadWorkflowFromNormalizedTables } from '@/lib/workflows/persistence/utils'
2122
import { withAdminAuthParams } from '@/app/api/v1/admin/middleware'
2223
import {

apps/sim/app/api/v1/admin/workflows/export/route.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import { createLogger } from '@sim/logger'
2020
import { inArray } from 'drizzle-orm'
2121
import JSZip from 'jszip'
2222
import { NextResponse } from 'next/server'
23-
import { sanitizePathSegment } from '@/lib/workflows/operations/import-export'
23+
import { sanitizePathSegment } from '@/lib/core/utils/file-download'
2424
import { loadWorkflowFromNormalizedTables } from '@/lib/workflows/persistence/utils'
2525
import { withAdminAuth } from '@/app/api/v1/admin/middleware'
2626
import {

apps/sim/app/api/v1/admin/workspaces/[id]/export/route.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ import { workflow, workflowFolder, workspace } from '@sim/db/schema'
1616
import { createLogger } from '@sim/logger'
1717
import { eq } from 'drizzle-orm'
1818
import { NextResponse } from 'next/server'
19-
import { exportWorkspaceToZip, sanitizePathSegment } from '@/lib/workflows/operations/import-export'
19+
import { sanitizePathSegment } from '@/lib/core/utils/file-download'
20+
import { exportWorkspaceToZip } from '@/lib/workflows/operations/import-export'
2021
import { loadWorkflowFromNormalizedTables } from '@/lib/workflows/persistence/utils'
2122
import { withAdminAuthParams } from '@/app/api/v1/admin/middleware'
2223
import {

apps/sim/app/workspace/[workspaceId]/tables/[tableId]/hooks/use-export-table.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,18 @@ export function useExportTable({
3030
const posthog = usePostHog()
3131
const [isExporting, setIsExporting] = useState(false)
3232
const isExportingRef = useRef(false)
33+
const abortControllerRef = useRef<AbortController | null>(null)
34+
35+
useEffect(() => {
36+
return () => {
37+
abortControllerRef.current?.abort()
38+
}
39+
}, [])
3340

3441
const handleExportTable = useCallback(async () => {
3542
if (!canExport || !workspaceId || !tableId || isExportingRef.current) return
3643

44+
abortControllerRef.current = new AbortController()
3745
isExportingRef.current = true
3846
setIsExporting(true)
3947

@@ -43,6 +51,7 @@ export function useExportTable({
4351
tableId,
4452
filter: queryOptions.filter,
4553
sort: queryOptions.sort,
54+
signal: abortControllerRef.current.signal,
4655
})
4756

4857
const filename = `${sanitizePathSegment(tableName?.trim() || 'table')}.csv`

apps/sim/app/workspace/[workspaceId]/w/hooks/use-export-folder.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
import { useCallback, useMemo, useState } from 'react'
22
import { createLogger } from '@sim/logger'
33
import { useParams } from 'next/navigation'
4+
import { downloadFile, sanitizePathSegment } from '@/lib/core/utils/file-download'
45
import { getFolderById } from '@/lib/folders/tree'
56
import {
6-
downloadFile,
77
exportFolderToZip,
88
type FolderExportData,
99
fetchWorkflowForExport,
10-
sanitizePathSegment,
1110
type WorkflowExportData,
1211
} from '@/lib/workflows/operations/import-export'
1312
import { useFolderMap } from '@/hooks/queries/folders'

apps/sim/app/workspace/[workspaceId]/w/hooks/use-export-selection.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { useCallback, useRef, useState } from 'react'
22
import { createLogger } from '@sim/logger'
33
import { useParams } from 'next/navigation'
4+
import { downloadFile } from '@/lib/core/utils/file-download'
45
import {
5-
downloadFile,
66
exportWorkflowsToZip,
77
type FolderExportData,
88
fetchWorkflowForExport,

apps/sim/app/workspace/[workspaceId]/w/hooks/use-export-workflow.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,12 @@ import { useCallback, useRef, useState } from 'react'
22
import { createLogger } from '@sim/logger'
33
import { useParams } from 'next/navigation'
44
import { usePostHog } from 'posthog-js/react'
5+
import { downloadFile, sanitizePathSegment } from '@/lib/core/utils/file-download'
56
import { captureEvent } from '@/lib/posthog/client'
67
import {
7-
downloadFile,
88
exportWorkflowsToZip,
99
exportWorkflowToJson,
1010
fetchWorkflowForExport,
11-
sanitizePathSegment,
1211
} from '@/lib/workflows/operations/import-export'
1312
import { getWorkflows } from '@/hooks/queries/utils/workflow-cache'
1413
import { useFolderStore } from '@/stores/folders/store'

apps/sim/app/workspace/[workspaceId]/w/hooks/use-export-workspace.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
import { useCallback, useState } from 'react'
22
import { createLogger } from '@sim/logger'
3+
import { downloadFile, sanitizePathSegment } from '@/lib/core/utils/file-download'
34
import {
4-
downloadFile,
55
exportWorkspaceToZip,
66
type FolderExportData,
77
fetchWorkflowForExport,
8-
sanitizePathSegment,
98
type WorkflowExportData,
109
} from '@/lib/workflows/operations/import-export'
1110

apps/sim/app/workspace/[workspaceId]/w/hooks/use-import-workflow.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@ import { createLogger } from '@sim/logger'
33
import { useQueryClient } from '@tanstack/react-query'
44
import { useRouter } from 'next/navigation'
55
import { usePostHog } from 'posthog-js/react'
6+
import { sanitizePathSegment } from '@/lib/core/utils/file-download'
67
import { captureEvent } from '@/lib/posthog/client'
78
import {
89
extractWorkflowsFromFiles,
910
extractWorkflowsFromZip,
1011
persistImportedWorkflow,
11-
sanitizePathSegment,
1212
} from '@/lib/workflows/operations/import-export'
1313
import { useCreateFolder } from '@/hooks/queries/folders'
1414
import { folderKeys } from '@/hooks/queries/utils/folder-keys'

apps/sim/lib/workflows/operations/import-export.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ import type { Variable, WorkflowState } from '@/stores/workflows/workflow/types'
99

1010
const logger = createLogger('WorkflowImportExport')
1111

12-
export { downloadFile, sanitizePathSegment } from '@/lib/core/utils/file-download'
13-
1412
async function getJSZip() {
1513
const { default: JSZip } = await import('jszip')
1614
return JSZip

0 commit comments

Comments
 (0)