mirror of
https://github.com/n8n-io/n8n.git
synced 2024-12-24 20:24:05 -08:00
457 lines
9.3 KiB
TypeScript
457 lines
9.3 KiB
TypeScript
import type { INodeProperties } from 'n8n-workflow';
|
|
|
|
export const ldapFields: INodeProperties[] = [
|
|
// ----------------------------------
|
|
// Common
|
|
// ----------------------------------
|
|
{
|
|
displayName: 'DN',
|
|
name: 'dn',
|
|
type: 'string',
|
|
default: '',
|
|
placeholder: 'e.g. ou=users,dc=n8n,dc=io',
|
|
required: true,
|
|
typeOptions: {
|
|
alwaysOpenEditWindow: false,
|
|
},
|
|
displayOptions: {
|
|
show: {
|
|
operation: ['compare'],
|
|
},
|
|
},
|
|
description: 'The distinguished name of the entry to compare',
|
|
},
|
|
{
|
|
displayName: 'DN',
|
|
name: 'dn',
|
|
type: 'string',
|
|
default: '',
|
|
placeholder: 'e.g. ou=users,dc=n8n,dc=io',
|
|
required: true,
|
|
typeOptions: {
|
|
alwaysOpenEditWindow: false,
|
|
},
|
|
displayOptions: {
|
|
show: {
|
|
operation: ['create'],
|
|
},
|
|
},
|
|
description: 'The distinguished name of the entry to create',
|
|
},
|
|
{
|
|
displayName: 'DN',
|
|
name: 'dn',
|
|
type: 'string',
|
|
default: '',
|
|
placeholder: 'e.g. ou=users,dc=n8n,dc=io',
|
|
required: true,
|
|
typeOptions: {
|
|
alwaysOpenEditWindow: false,
|
|
},
|
|
displayOptions: {
|
|
show: {
|
|
operation: ['delete'],
|
|
},
|
|
},
|
|
description: 'The distinguished name of the entry to delete',
|
|
},
|
|
{
|
|
displayName: 'DN',
|
|
name: 'dn',
|
|
type: 'string',
|
|
default: '',
|
|
placeholder: 'e.g. cn=john,ou=users,dc=n8n,dc=io',
|
|
required: true,
|
|
typeOptions: {
|
|
alwaysOpenEditWindow: false,
|
|
},
|
|
displayOptions: {
|
|
show: {
|
|
operation: ['rename'],
|
|
},
|
|
},
|
|
description: 'The distinguished name of the entry to rename',
|
|
},
|
|
{
|
|
displayName: 'DN',
|
|
name: 'dn',
|
|
type: 'string',
|
|
default: '',
|
|
placeholder: 'e.g. ou=users,dc=n8n,dc=io',
|
|
required: true,
|
|
typeOptions: {
|
|
alwaysOpenEditWindow: false,
|
|
},
|
|
displayOptions: {
|
|
show: {
|
|
operation: ['modify'],
|
|
},
|
|
},
|
|
description: 'The distinguished name of the entry to modify',
|
|
},
|
|
{
|
|
displayName: 'DN',
|
|
name: 'dn',
|
|
type: 'string',
|
|
default: '',
|
|
placeholder: 'e.g. ou=users,dc=n8n,dc=io',
|
|
required: true,
|
|
typeOptions: {
|
|
alwaysOpenEditWindow: false,
|
|
},
|
|
displayOptions: {
|
|
show: {
|
|
operation: ['update'],
|
|
},
|
|
},
|
|
description: 'The distinguished name of the entry to update',
|
|
},
|
|
// ----------------------------------
|
|
// Compare
|
|
// ----------------------------------
|
|
{
|
|
// eslint-disable-next-line n8n-nodes-base/node-param-display-name-wrong-for-dynamic-options
|
|
displayName: 'Attribute ID',
|
|
name: 'id',
|
|
type: 'options',
|
|
required: true,
|
|
default: [],
|
|
typeOptions: {
|
|
loadOptionsMethod: 'getAttributesForDn',
|
|
},
|
|
// eslint-disable-next-line n8n-nodes-base/node-param-description-wrong-for-dynamic-options
|
|
description: 'The ID of the attribute to compare',
|
|
displayOptions: {
|
|
show: {
|
|
operation: ['compare'],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
displayName: 'Value',
|
|
name: 'value',
|
|
type: 'string',
|
|
default: '',
|
|
description: 'The value to compare',
|
|
displayOptions: {
|
|
show: {
|
|
operation: ['compare'],
|
|
},
|
|
},
|
|
},
|
|
// ----------------------------------
|
|
// Rename
|
|
// ----------------------------------
|
|
{
|
|
displayName: 'New DN',
|
|
name: 'targetDn',
|
|
type: 'string',
|
|
default: '',
|
|
placeholder: 'e.g. cn=nathan,ou=users,dc=n8n,dc=io',
|
|
required: true,
|
|
displayOptions: {
|
|
show: {
|
|
operation: ['rename'],
|
|
},
|
|
},
|
|
description: 'The new distinguished name for the entry',
|
|
},
|
|
// ----------------------------------
|
|
// Create
|
|
// ----------------------------------
|
|
{
|
|
displayName: 'Attributes',
|
|
name: 'attributes',
|
|
placeholder: 'Add Attributes',
|
|
description: 'Attributes to add to the entry',
|
|
type: 'fixedCollection',
|
|
typeOptions: {
|
|
multipleValues: true,
|
|
},
|
|
displayOptions: {
|
|
show: {
|
|
operation: ['create'],
|
|
},
|
|
},
|
|
default: {},
|
|
options: [
|
|
{
|
|
name: 'attribute',
|
|
displayName: 'Attribute',
|
|
values: [
|
|
{
|
|
displayName: 'Attribute ID',
|
|
name: 'id',
|
|
type: 'string',
|
|
default: '',
|
|
description: 'The ID of the attribute to add',
|
|
required: true,
|
|
},
|
|
{
|
|
displayName: 'Value',
|
|
name: 'value',
|
|
type: 'string',
|
|
default: '',
|
|
description: 'Value of the attribute to set',
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
// ----------------------------------
|
|
// Update
|
|
// ----------------------------------
|
|
{
|
|
displayName: 'Update Attributes',
|
|
name: 'attributes',
|
|
placeholder: 'Update Attributes',
|
|
type: 'fixedCollection',
|
|
typeOptions: {
|
|
multipleValues: true,
|
|
sortable: true,
|
|
},
|
|
displayOptions: {
|
|
show: {
|
|
operation: ['update'],
|
|
},
|
|
},
|
|
description: 'Update entry attributes',
|
|
default: {},
|
|
options: [
|
|
{
|
|
name: 'add',
|
|
displayName: 'Add',
|
|
values: [
|
|
{
|
|
displayName: 'Attribute ID',
|
|
name: 'id',
|
|
type: 'string',
|
|
default: '',
|
|
description: 'The ID of the attribute to add',
|
|
required: true,
|
|
},
|
|
{
|
|
displayName: 'Value',
|
|
name: 'value',
|
|
type: 'string',
|
|
default: '',
|
|
description: 'Value of the attribute to set',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: 'replace',
|
|
displayName: 'Replace',
|
|
values: [
|
|
{
|
|
displayName: 'Attribute ID',
|
|
name: 'id',
|
|
type: 'string',
|
|
default: '',
|
|
description: 'The ID of the attribute to replace',
|
|
required: true,
|
|
},
|
|
{
|
|
displayName: 'Value',
|
|
name: 'value',
|
|
type: 'string',
|
|
default: '',
|
|
description: 'Value of the attribute to replace',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: 'delete',
|
|
displayName: 'Remove',
|
|
values: [
|
|
{
|
|
displayName: 'Attribute ID',
|
|
name: 'id',
|
|
type: 'string',
|
|
default: '',
|
|
description: 'The ID of the attribute to remove',
|
|
required: true,
|
|
},
|
|
{
|
|
displayName: 'Value',
|
|
name: 'value',
|
|
type: 'string',
|
|
default: '',
|
|
description: 'Value of the attribute to remove',
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
// ----------------------------------
|
|
// Search
|
|
// ----------------------------------
|
|
{
|
|
displayName: 'Base DN',
|
|
name: 'baseDN',
|
|
type: 'string',
|
|
default: '',
|
|
placeholder: 'e.g. ou=users, dc=n8n, dc=io',
|
|
required: true,
|
|
displayOptions: {
|
|
show: {
|
|
operation: ['search'],
|
|
},
|
|
},
|
|
description: 'The distinguished name of the subtree to search in',
|
|
},
|
|
{
|
|
// eslint-disable-next-line n8n-nodes-base/node-param-display-name-wrong-for-dynamic-options
|
|
displayName: 'Search For',
|
|
name: 'searchFor',
|
|
type: 'options',
|
|
default: [],
|
|
typeOptions: {
|
|
loadOptionsMethod: 'getObjectClasses',
|
|
},
|
|
displayOptions: {
|
|
show: {
|
|
operation: ['search'],
|
|
},
|
|
},
|
|
// eslint-disable-next-line n8n-nodes-base/node-param-description-wrong-for-dynamic-options
|
|
description: 'Directory object class to search for',
|
|
},
|
|
{
|
|
displayName: 'Custom Filter',
|
|
name: 'customFilter',
|
|
type: 'string',
|
|
default: '(objectclass=*)',
|
|
displayOptions: {
|
|
show: {
|
|
operation: ['search'],
|
|
searchFor: ['custom'],
|
|
},
|
|
},
|
|
description: 'Custom LDAP filter. Escape these chars * ( ) \\ with a backslash "\\".',
|
|
},
|
|
{
|
|
// eslint-disable-next-line n8n-nodes-base/node-param-display-name-wrong-for-dynamic-options
|
|
displayName: 'Attribute',
|
|
name: 'attribute',
|
|
type: 'options',
|
|
required: true,
|
|
default: [],
|
|
typeOptions: {
|
|
loadOptionsMethod: 'getAttributes',
|
|
},
|
|
// eslint-disable-next-line n8n-nodes-base/node-param-description-wrong-for-dynamic-options
|
|
description: 'Attribute to search for',
|
|
displayOptions: {
|
|
show: {
|
|
operation: ['search'],
|
|
},
|
|
hide: {
|
|
searchFor: ['custom'],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
displayName: 'Search Text',
|
|
name: 'searchText',
|
|
type: 'string',
|
|
default: '',
|
|
required: true,
|
|
displayOptions: {
|
|
show: {
|
|
operation: ['search'],
|
|
},
|
|
hide: {
|
|
searchFor: ['custom'],
|
|
},
|
|
},
|
|
description: 'Text to search for, Use * for a wildcard',
|
|
},
|
|
{
|
|
displayName: 'Return All',
|
|
name: 'returnAll',
|
|
type: 'boolean',
|
|
default: false,
|
|
description: 'Whether to return all results or only up to a given limit',
|
|
displayOptions: {
|
|
show: {
|
|
operation: ['search'],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
displayName: 'Limit',
|
|
name: 'limit',
|
|
type: 'number',
|
|
default: 50,
|
|
description: 'Max number of results to return',
|
|
typeOptions: {
|
|
minValue: 1,
|
|
},
|
|
displayOptions: {
|
|
show: {
|
|
operation: ['search'],
|
|
returnAll: [false],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
displayName: 'Options',
|
|
name: 'options',
|
|
type: 'collection',
|
|
placeholder: 'Add option',
|
|
default: {},
|
|
displayOptions: {
|
|
show: {
|
|
operation: ['search'],
|
|
},
|
|
},
|
|
options: [
|
|
{
|
|
displayName: 'Attribute Names or IDs',
|
|
name: 'attributes',
|
|
type: 'multiOptions',
|
|
typeOptions: {
|
|
loadOptionsMethod: 'getAttributes',
|
|
},
|
|
default: [],
|
|
description:
|
|
'Comma-separated list of attributes to return. Choose from the list, or specify IDs using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
|
|
},
|
|
{
|
|
displayName: 'Page Size',
|
|
name: 'pageSize',
|
|
type: 'number',
|
|
default: 1000,
|
|
typeOptions: {
|
|
minValue: 0,
|
|
},
|
|
description:
|
|
'Maximum number of results to request at one time. Set to 0 to disable paging.',
|
|
},
|
|
{
|
|
displayName: 'Scope',
|
|
name: 'scope',
|
|
default: 'sub',
|
|
description:
|
|
'The set of entries at or below the BaseDN that may be considered potential matches',
|
|
type: 'options',
|
|
options: [
|
|
{
|
|
name: 'Base Object',
|
|
value: 'base',
|
|
},
|
|
{
|
|
name: 'Single Level',
|
|
value: 'one',
|
|
},
|
|
{
|
|
name: 'Whole Subtree',
|
|
value: 'sub',
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
];
|