Files
n8n-enterprise-unlocked/packages/nodes-base/nodes/Microsoft/SharePoint/descriptions/item/get.operation.ts
2025-05-16 08:55:10 +01:00

70 lines
1.4 KiB
TypeScript

import type { IExecuteSingleFunctions, IHttpRequestOptions, INodeProperties } from 'n8n-workflow';
import { updateDisplayOptions } from 'n8n-workflow';
import {
itemRLC,
listRLC,
siteRLC,
untilListSelected,
untilSiteSelected,
} from '../common.descriptions';
const properties: INodeProperties[] = [
{
...siteRLC,
description: 'Select the site to retrieve lists from',
},
{
...listRLC,
description: 'Select the list you want to retrieve an item from',
displayOptions: {
hide: {
...untilSiteSelected,
},
},
},
{
...itemRLC,
description: 'Select the item you want to get',
displayOptions: {
hide: {
...untilSiteSelected,
...untilListSelected,
},
},
},
{
displayName: 'Simplify',
name: 'simplify',
default: true,
routing: {
send: {
preSend: [
async function (
this: IExecuteSingleFunctions,
requestOptions: IHttpRequestOptions,
): Promise<IHttpRequestOptions> {
const simplify = this.getNodeParameter('simplify', false) as boolean;
if (simplify) {
requestOptions.qs ??= {};
requestOptions.qs.$select = 'id,createdDateTime,lastModifiedDateTime,webUrl';
requestOptions.qs.$expand = 'fields(select=Title)';
}
return requestOptions;
},
],
},
},
type: 'boolean',
},
];
const displayOptions = {
show: {
resource: ['item'],
operation: ['get'],
},
};
export const description = updateDisplayOptions(displayOptions, properties);