mirror of
https://github.com/simstudioai/sim.git
synced 2026-02-05 12:14:59 -05:00
fix onedrive
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user