fix onedrive

This commit is contained in:
Vikhyath Mondreti
2026-02-04 21:28:37 -08:00
parent e256261d53
commit a02102345e

View File

@@ -177,10 +177,10 @@ export const OneDriveBlock: BlockConfig<OneDriveResponse> = {
condition: { field: 'operation', value: 'create_folder' },
},
{
id: 'folderSelector',
id: 'createFolderParentSelector',
title: 'Select Parent Folder',
type: 'file-selector',
canonicalParamId: 'folderId',
canonicalParamId: 'createFolderParentId',
serviceId: 'onedrive',
requiredScopes: [
'openid',
@@ -198,10 +198,10 @@ export const OneDriveBlock: BlockConfig<OneDriveResponse> = {
},
// Manual Folder ID input (advanced mode)
{
id: 'manualFolderId',
id: 'createFolderManualParentId',
title: 'Parent Folder ID',
type: 'short-input',
canonicalParamId: 'folderId',
canonicalParamId: 'createFolderParentId',
placeholder: 'Enter parent folder ID (leave empty for root folder)',
dependsOn: ['credential'],
mode: 'advanced',
@@ -255,10 +255,10 @@ export const OneDriveBlock: BlockConfig<OneDriveResponse> = {
},
// Download File Fields - File Selector (basic mode)
{
id: 'fileSelector',
id: 'downloadFileSelector',
title: 'Select File',
type: 'file-selector',
canonicalParamId: 'fileId',
canonicalParamId: 'downloadFileId',
serviceId: 'onedrive',
requiredScopes: [
'openid',
@@ -277,10 +277,10 @@ export const OneDriveBlock: BlockConfig<OneDriveResponse> = {
},
// Manual File ID input (advanced mode)
{
id: 'manualFileId',
id: 'downloadManualFileId',
title: 'File ID',
type: 'short-input',
canonicalParamId: 'fileId',
canonicalParamId: 'downloadFileId',
placeholder: 'Enter file ID',
mode: 'advanced',
condition: { field: 'operation', value: 'download' },
@@ -356,10 +356,13 @@ export const OneDriveBlock: BlockConfig<OneDriveResponse> = {
params: (params) => {
const {
credential,
folderSelector,
manualFolderId,
fileSelector,
manualFileId,
// Folder canonical params (per-operation)
uploadFolderId,
createFolderParentId,
listFolderId,
// File canonical params (per-operation)
downloadFileId,
deleteFileId,
mimeType,
values,
downloadFileName,
@@ -376,11 +379,31 @@ export const OneDriveBlock: BlockConfig<OneDriveResponse> = {
// Normalize file input from both basic (file-upload) and advanced (short-input) modes
const normalizedFile = normalizeFileInput(file || fileReference, { single: true })
// Resolve folder ID from selector (basic) or manual input (advanced)
const resolvedFolderId = folderSelector || manualFolderId || undefined
// Resolve folderId based on operation
let resolvedFolderId: string | undefined
switch (params.operation) {
case 'create_file':
case 'upload':
resolvedFolderId = uploadFolderId?.trim() || undefined
break
case 'create_folder':
resolvedFolderId = createFolderParentId?.trim() || undefined
break
case 'list':
resolvedFolderId = listFolderId?.trim() || undefined
break
}
// Resolve file ID from selector (basic) or manual input (advanced)
const resolvedFileId = fileSelector || manualFileId || undefined
// Resolve fileId based on operation
let resolvedFileId: string | undefined
switch (params.operation) {
case 'download':
resolvedFileId = downloadFileId?.trim() || undefined
break
case 'delete':
resolvedFileId = deleteFileId?.trim() || undefined
break
}
return {
credential,
@@ -402,12 +425,11 @@ export const OneDriveBlock: BlockConfig<OneDriveResponse> = {
// Upload and Create operation inputs
fileName: { type: 'string', description: 'File name' },
file: { type: 'json', description: 'File to upload (UserFile object)' },
fileReference: { type: 'json', description: 'File reference from previous block' },
content: { type: 'string', description: 'Text content to upload' },
mimeType: { type: 'string', description: 'MIME type of file to create' },
values: { type: 'json', description: 'Cell values for new Excel as JSON' },
// Folder canonical params (per-operation)
uploadFolderId: { type: 'string', description: 'Parent folder for upload/create' },
uploadFolderId: { type: 'string', description: 'Parent folder for upload/create file' },
createFolderParentId: { type: 'string', description: 'Parent folder for create folder' },
listFolderId: { type: 'string', description: 'Folder to list files from' },
// File canonical params (per-operation)