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

Function convertToUserFile

apps/sim/lib/uploads/utils/file-utils.ts:721–747  ·  view source on GitHub ↗

* Core conversion logic from RawFileInput to UserFile

(file: RawFileInput, requestId: string, logger: Logger)

Source from the content-addressed store, hash-verified

719 * Core conversion logic from RawFileInput to UserFile
720 */
721function convertToUserFile(file: RawFileInput, requestId: string, logger: Logger): UserFile | null {
722 if (isCompleteUserFile(file)) {
723 return {
724 ...omit(file, PROVIDER_FILE_HANDLE_FIELDS),
725 url: resolveInternalFileUrl(file) || file.url,
726 }
727 }
728
729 const storageKey = resolveStorageKeyFromRawFile(file)
730 if (!storageKey) {
731 return null
732 }
733
734 const userFile: UserFile = {
735 id: file.id || `file-${Date.now()}`,
736 name: file.name,
737 url: resolveInternalFileUrl(file),
738 size: file.size,
739 type: file.type || 'application/octet-stream',
740 key: storageKey,
741 context: file.context,
742 base64: file.base64,
743 }
744
745 logger.info(`[${requestId}] Converted file to UserFile: ${userFile.name} (key: ${userFile.key})`)
746 return userFile
747}
748
749/**
750 * Converts a single raw file object to UserFile format

Callers 2

processFilesToUserFilesFunction · 0.85

Calls 5

omitFunction · 0.90
isCompleteUserFileFunction · 0.85
infoMethod · 0.80
resolveInternalFileUrlFunction · 0.70

Tested by

no test coverage detected