diff options
| author | 2025-06-15 01:16:56 +0100 | |
|---|---|---|
| committer | 2025-06-15 01:16:56 +0100 | |
| commit | a394f04661b8899885897721c18a5a230407a99d (patch) | |
| tree | 3a25c0774324c63cda69e5d85451c4d049739680 /arthur/apis/directory/ldap.py | |
| parent | Split M-x sync into multiple messages (diff) | |
Better handling of locking/unlocking users
Diffstat (limited to 'arthur/apis/directory/ldap.py')
| -rw-r--r-- | arthur/apis/directory/ldap.py | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/arthur/apis/directory/ldap.py b/arthur/apis/directory/ldap.py index c919f55..7af4c08 100644 --- a/arthur/apis/directory/ldap.py +++ b/arthur/apis/directory/ldap.py @@ -22,6 +22,7 @@ class LDAPUser: employee_number: str | None = None display_name: str | None = None groups: list[str] | None = None + locked: bool = False def prepare_dn(dn: str) -> str: @@ -60,7 +61,7 @@ async def find_users() -> list[LDAPUser]: prepare_dn("cn=users,cn=accounts"), LDAPSearchScope.SUBTREE, "(mail=*@pydis.wtf)", - ["uid", "employeeNumber", "displayName", "memberOf"], + ["uid", "employeeNumber", "displayName", "memberOf", "nsAccountLock"], ) for user in users: @@ -77,6 +78,7 @@ async def find_users() -> list[LDAPUser]: employee_number=user.get("employeeNumber", [None])[0], display_name=user["displayName"][0], groups=parsed_groups, + locked=user.get("nsAccountLock", [False])[0], ) found_users.append(new_user) |