{"version":3,"file":"ldap.cjs","names":["makeRestApiRequest"],"sources":["../src/api/ldap.ts"],"sourcesContent":["import type { IDataObject } from 'n8n-workflow';\n\nimport type { IRestApiContext } from '../types';\nimport { makeRestApiRequest } from '../utils';\n\nexport interface LdapSyncData {\n\tid: number;\n\tstartedAt: string;\n\tendedAt: string;\n\tcreated: number;\n\tupdated: number;\n\tdisabled: number;\n\tscanned: number;\n\tstatus: string;\n\terror: string;\n\trunMode: string;\n}\n\nexport interface LdapSyncTable {\n\tstatus: string;\n\tendedAt: string;\n\trunTime: string;\n\trunMode: string;\n\tdetails: string;\n}\n\nexport interface LdapConfig {\n\tloginEnabled: boolean;\n\tloginLabel: string;\n\tconnectionUrl: string;\n\tallowUnauthorizedCerts: boolean;\n\tconnectionSecurity: string;\n\tconnectionPort: number;\n\tbaseDn: string;\n\tbindingAdminDn: string;\n\tbindingAdminPassword: string;\n\tfirstNameAttribute: string;\n\tlastNameAttribute: string;\n\temailAttribute: string;\n\tloginIdAttribute: string;\n\tldapIdAttribute: string;\n\tuserFilter: string;\n\tsynchronizationEnabled: boolean;\n\tsynchronizationInterval: number; // minutes\n\tsearchPageSize: number;\n\tsearchTimeout: number;\n\tenforceEmailUniqueness: boolean;\n}\n\nexport async function getLdapConfig(context: IRestApiContext): Promise<LdapConfig> {\n\treturn await makeRestApiRequest(context, 'GET', '/ldap/config');\n}\n\nexport async function testLdapConnection(context: IRestApiContext): Promise<{}> {\n\treturn await makeRestApiRequest(context, 'POST', '/ldap/test-connection');\n}\n\nexport async function updateLdapConfig(\n\tcontext: IRestApiContext,\n\tadConfig: LdapConfig,\n): Promise<LdapConfig> {\n\treturn await makeRestApiRequest(\n\t\tcontext,\n\t\t'PUT',\n\t\t'/ldap/config',\n\t\tadConfig as unknown as IDataObject,\n\t);\n}\n\nexport async function runLdapSync(context: IRestApiContext, data: IDataObject): Promise<{}> {\n\treturn await makeRestApiRequest(context, 'POST', '/ldap/sync', data);\n}\n\nexport async function getLdapSynchronizations(\n\tcontext: IRestApiContext,\n\tpagination: { page: number },\n): Promise<LdapSyncData[]> {\n\treturn await makeRestApiRequest(context, 'GET', '/ldap/sync', pagination);\n}\n"],"mappings":";;;AAiDA,eAAsB,cAAc,SAA+C;AAClF,QAAO,MAAMA,iCAAmB,SAAS,OAAO,eAAe;;AAGhE,eAAsB,mBAAmB,SAAuC;AAC/E,QAAO,MAAMA,iCAAmB,SAAS,QAAQ,wBAAwB;;AAG1E,eAAsB,iBACrB,SACA,UACsB;AACtB,QAAO,MAAMA,iCACZ,SACA,OACA,gBACA,SACA;;AAGF,eAAsB,YAAY,SAA0B,MAAgC;AAC3F,QAAO,MAAMA,iCAAmB,SAAS,QAAQ,cAAc,KAAK;;AAGrE,eAAsB,wBACrB,SACA,YAC0B;AAC1B,QAAO,MAAMA,iCAAmB,SAAS,OAAO,cAAc,WAAW"}