Merge pull request #10163 from SDA-SE/fix/add-missing-ldap-search-ops

fix(catalog-backend-module-ldap): add support for missing search options
This commit is contained in:
Fredrik Adelöw
2022-03-14 13:55:19 +01:00
committed by GitHub
4 changed files with 33 additions and 0 deletions
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-catalog-backend-module-ldap': patch
---
Add config support for LDAP search options.
+8
View File
@@ -79,6 +79,10 @@ export interface Config {
scope?: 'base' | 'one' | 'sub';
filter?: string;
attributes?: string | string[];
sizeLimit?: number;
timeLimit?: number;
derefAliases?: number;
typesOnly?: boolean;
paged?:
| boolean
| {
@@ -159,6 +163,10 @@ export interface Config {
scope?: 'base' | 'one' | 'sub';
filter?: string;
attributes?: string | string[];
sizeLimit?: number;
timeLimit?: number;
derefAliases?: number;
typesOnly?: boolean;
paged?:
| boolean
| {
@@ -87,6 +87,10 @@ describe('readLdapConfig', () => {
attributes: ['*'],
filter: 'f',
paged: true,
timeLimit: 42,
sizeLimit: 100,
derefAliases: 0,
typesOnly: false,
},
set: { p: 'v' },
map: {
@@ -109,6 +113,10 @@ describe('readLdapConfig', () => {
pageSize: 7,
pagePause: true,
},
timeLimit: 42,
sizeLimit: 100,
derefAliases: 1,
typesOnly: true,
},
set: { p: 'v' },
map: {
@@ -138,6 +146,10 @@ describe('readLdapConfig', () => {
attributes: ['*'],
filter: 'f',
paged: true,
timeLimit: 42,
sizeLimit: 100,
derefAliases: 0,
typesOnly: false,
},
set: { p: 'v' },
map: {
@@ -160,6 +172,10 @@ describe('readLdapConfig', () => {
pageSize: 7,
pagePause: true,
},
timeLimit: 42,
sizeLimit: 100,
derefAliases: 1,
typesOnly: true,
},
set: { p: 'v' },
map: {
@@ -208,6 +208,10 @@ export function readLdapConfig(config: Config): LdapProviderConfig[] {
scope: c.getOptionalString('scope') as SearchOptions['scope'],
filter: formatFilter(c.getOptionalString('filter')),
attributes: c.getOptionalStringArray('attributes'),
sizeLimit: c.getOptionalNumber('sizeLimit'),
timeLimit: c.getOptionalNumber('timeLimit'),
derefAliases: c.getOptionalNumber('derefAliases'),
typesOnly: c.getOptionalBoolean('typesOnly'),
...(paged !== undefined ? { paged } : undefined),
};
}