/** * Ldap Node - Version 1 * Interact with LDAP servers */ export interface LdapV1Params { operation?: 'compare' | 'create' | 'delete' | 'rename' | 'search' | 'update'; nodeDebug?: boolean; /** * The distinguished name of the entry to compare * @displayOptions.show { operation: ["compare"] } */ dn?: string | Expression | PlaceholderValue; /** * The ID of the attribute to compare * @displayOptions.show { operation: ["compare"] } * @default [] */ id?: string | Expression; /** * The value to compare * @displayOptions.show { operation: ["compare"] } */ value?: string | Expression | PlaceholderValue; /** * The new distinguished name for the entry * @displayOptions.show { operation: ["rename"] } */ targetDn?: string | Expression | PlaceholderValue; /** * Attributes to add to the entry * @displayOptions.show { operation: ["create"] } * @default {} */ attributes?: { /** Attribute */ attribute?: Array<{ /** The ID of the attribute to add */ id?: string | Expression | PlaceholderValue; /** Value of the attribute to set */ value?: string | Expression | PlaceholderValue; }>; /** Add */ add?: Array<{ /** The ID of the attribute to add */ id?: string | Expression | PlaceholderValue; /** Value of the attribute to set */ value?: string | Expression | PlaceholderValue; }>; /** Replace */ replace?: Array<{ /** The ID of the attribute to replace */ id?: string | Expression | PlaceholderValue; /** Value of the attribute to replace */ value?: string | Expression | PlaceholderValue; }>; /** Remove */ 'delete'?: Array<{ /** The ID of the attribute to remove */ id?: string | Expression | PlaceholderValue; /** Value of the attribute to remove */ value?: string | Expression | PlaceholderValue; }>; }; /** * The distinguished name of the subtree to search in * @displayOptions.show { operation: ["search"] } */ baseDN?: string | Expression | PlaceholderValue; /** * Directory object class to search for * @displayOptions.show { operation: ["search"] } * @default [] */ searchFor?: string | Expression; /** * Custom LDAP filter. Escape these chars * ( ) \ with a backslash "\". * @displayOptions.show { operation: ["search"], searchFor: ["custom"] } * @default (objectclass=*) */ customFilter?: string | Expression | PlaceholderValue; /** * Attribute to search for * @displayOptions.show { operation: ["search"] } * @displayOptions.hide { searchFor: ["custom"] } * @default [] */ attribute?: string | Expression; /** * Text to search for, Use * for a wildcard * @displayOptions.show { operation: ["search"] } * @displayOptions.hide { searchFor: ["custom"] } */ searchText?: string | Expression | PlaceholderValue; /** * Whether to return all results or only up to a given limit * @displayOptions.show { operation: ["search"] } * @default false */ returnAll?: boolean | Expression; /** * Max number of results to return * @displayOptions.show { operation: ["search"], returnAll: [false] } * @default 50 */ limit?: number | Expression; /** * Options * @displayOptions.show { operation: ["search"] } * @default {} */ options?: { /** 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>. * @default [] */ attributes?: string[]; /** Maximum number of results to request at one time. Set to 0 to disable paging. * @default 1000 */ pageSize?: number | Expression; /** The set of entries at or below the BaseDN that may be considered potential matches * @default sub */ scope?: 'base' | 'one' | 'sub' | Expression; }; } export interface LdapV1Credentials { ldap: CredentialReference; } interface LdapV1NodeBase { type: 'n8n-nodes-base.ldap'; version: 1; credentials?: LdapV1Credentials; } export type LdapV1ParamsNode = LdapV1NodeBase & { config: NodeConfig; }; export type LdapV1Node = LdapV1ParamsNode;