feat: initial impl of file proxy

This commit is contained in:
2025-10-21 23:45:04 +00:00
parent 6eded27121
commit 6234c5efd3
24 changed files with 420 additions and 125 deletions

View File

@@ -1,11 +1,13 @@
import { v } from "convex/values"
import {
apiKeyAuthenticatedQuery,
authenticatedMutation,
authenticatedQuery,
authorizedGet,
} from "./functions"
import * as Directories from "./model/directories"
import * as Files from "./model/files"
import * as FileSystem from "./model/filesystem"
import {
deleteItemsPermanently,
emptyTrash as emptyTrashImpl,
@@ -160,6 +162,15 @@ export const restoreItems = authenticatedMutation({
},
})
export const getStorageUrl = apiKeyAuthenticatedQuery({
args: {
storageId: v.id("_storage"),
},
handler: async (ctx, { storageId }) => {
return await ctx.storage.getUrl(storageId)
},
})
export const fetchFileUrl = authenticatedQuery({
args: {
fileId: v.id("files"),
@@ -168,3 +179,12 @@ export const fetchFileUrl = authenticatedQuery({
return await fetchFileUrlImpl(ctx, { fileId })
},
})
export const openFile = authenticatedMutation({
args: {
fileId: v.id("files"),
},
handler: async (ctx, { fileId }) => {
return await FileSystem.openFile(ctx, { fileId })
},
})