/** * Google Drive Node - Version 3 * Discriminator: resource=fileFolder, operation=search */ interface Credentials { googleApi: CredentialReference; googleDriveOAuth2Api: CredentialReference; } /** Search or list files and folders */ export type GoogleDriveV3FileFolderSearchParams = { resource: 'fileFolder'; operation: 'search'; authentication?: 'oAuth2' | 'serviceAccount' | Expression; /** * Whether to search for the file/folder name or use a query string * @default name */ searchMethod?: 'name' | 'query' | Expression; /** * The name of the file or folder to search for. Returns also files and folders whose names partially match this search term. * @displayOptions.show { searchMethod: ["name"] } */ queryString?: string | Expression | PlaceholderValue; /** * Whether to return all results or only up to a given limit * @default false */ returnAll?: boolean | Expression; /** * Max number of results to return * @displayOptions.show { returnAll: [false] } * @default 50 */ limit?: number | Expression; /** * Filter * @default {} */ filter?: { /** The drive you want to search in. By default, the personal "My Drive" is used. * @default {"mode":"list","value":"My Drive"} */ driveId?: { __rl: true; mode: 'list' | 'url' | 'id'; value: string; cachedResultName?: string }; /** The folder you want to search in. By default, the root folder of the drive is used. If you select a folder other than the root folder, only the direct children will be included. * @default {"mode":"list","value":"root","cachedResultName":"/ (Root folder)"} */ folderId?: { __rl: true; mode: 'list' | 'url' | 'id'; value: string; cachedResultName?: string }; /** What to Search * @default all */ whatToSearch?: 'all' | 'files' | 'folders' | Expression; /** Return only items corresponding to the selected MIME types * @displayOptions.show { whatToSearch: ["all"] } * @default [] */ fileTypes?: Array<'*' | 'application/vnd.google-apps.drive-sdk' | 'application/vnd.google-apps.audio' | 'application/vnd.google-apps.folder' | 'application/vnd.google-apps.script' | 'application/vnd.google-apps.document' | 'application/vnd.google-apps.drawing' | 'application/vnd.google-apps.form' | 'application/vnd.google-apps.fusiontable' | 'application/vnd.google-apps.map' | 'application/vnd.google-apps.spreadsheet' | 'application/vnd.google-apps.sites' | 'application/vnd.google-apps.presentation' | 'application/vnd.google-apps.photo' | 'application/vnd.google-apps.unknown' | 'application/vnd.google-apps.video'>; /** Return only items corresponding to the selected MIME types * @displayOptions.show { whatToSearch: ["files"] } * @default [] */ fileTypes?: Array<'*' | 'application/vnd.google-apps.drive-sdk' | 'application/vnd.google-apps.audio' | 'application/vnd.google-apps.script' | 'application/vnd.google-apps.document' | 'application/vnd.google-apps.drawing' | 'application/vnd.google-apps.form' | 'application/vnd.google-apps.fusiontable' | 'application/vnd.google-apps.map' | 'application/vnd.google-apps.spreadsheet' | 'application/vnd.google-apps.sites' | 'application/vnd.google-apps.presentation' | 'application/vnd.google-apps.photo' | 'application/vnd.google-apps.unknown' | 'application/vnd.google-apps.video'>; /** Whether to return also items in the Drive's bin * @default false */ includeTrashed?: boolean | Expression; }; /** * Options * @default {} */ options?: { /** The fields to return * @default [] */ fields?: Array<'*' | 'explicitlyTrashed' | 'exportLinks' | 'hasThumbnail' | 'iconLink' | 'id' | 'kind' | 'mimeType' | 'name' | 'permissions' | 'shared' | 'spaces' | 'starred' | 'thumbnailLink' | 'trashed' | 'version' | 'webViewLink'>; }; }; export type GoogleDriveV3FileFolderSearchOutput = { id?: string; name?: string; }; export type GoogleDriveV3FileFolderSearchNode = { type: 'n8n-nodes-base.googleDrive'; version: 3; credentials?: Credentials; config: NodeConfig; output?: Items; };