LDAP service {"openapi":"3.1.0","info":{"title":"LDAP service","description":"The LDAP service","version":"0.1.0"},"paths":{"\/auth":{"post":{"tags":["Auth"],"summary":"Auth Post","description":"Getting user list from LDAP to for syncing.","operationId":"auth_post_auth_post","requestBody":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/AuthPostParams"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/SuccessSchema"}}}},"422":{"description":"Validation Error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/HTTPValidationError"}}}}}}},"\/connect":{"post":{"tags":["Connect"],"summary":"Connect","description":"Check connection to LDAP.","operationId":"connect_connect_post","requestBody":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConnectionPostParams"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConnectionPostResponse"}}}},"422":{"description":"Validation Error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/HTTPValidationError"}}}}}}},"\/setting":{"get":{"tags":["Setting"],"summary":"Setting Get","description":"Get LDAP settings from DB.","operationId":"setting_get_setting_get","responses":{"200":{"description":"Successful Response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/SettingGetResponse"}}}}}},"post":{"tags":["Setting"],"summary":"Setting Post","description":"Save LDAP settings to DB.","operationId":"setting_post_setting_post","requestBody":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/SettingPostParams"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/SuccessSchema"}}}},"422":{"description":"Validation Error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/HTTPValidationError"}}}}}},"delete":{"tags":["Setting"],"summary":"Setting Delete","description":"Delete LDAP settings from DB.","operationId":"setting_delete_setting_delete","responses":{"200":{"description":"Successful Response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/SuccessSchema"}}}}}}},"\/user\/list":{"post":{"tags":["User"],"summary":"User List","description":"Getting user list from LDAP to for syncing.","operationId":"user_list_user_list_post","requestBody":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/SettingPostParams"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application\/json":{"schema":{"additionalProperties":{"items":{"$ref":"#\/components\/schemas\/SyncPostResponseOne"},"type":"array"},"type":"object","title":"Response User List User List Post"}}}},"422":{"description":"Validation Error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/HTTPValidationError"}}}}}}},"\/user\/sync":{"get":{"tags":["User"],"summary":"User Sync Get","description":"Getting user sync status.","operationId":"user_sync_get_user_sync_get","responses":{"200":{"description":"Successful Response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/SyncStatusResponse"}}}}}},"post":{"tags":["User"],"summary":"User Sync Post","description":"Syncing users from LDAP to platform.","operationId":"user_sync_post_user_sync_post","requestBody":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/AuditLogger"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/SuccessSchema"}}}},"422":{"description":"Validation Error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AuditLogger":{"properties":{"action_id":{"type":"integer","title":"Action Id","default":0},"audit_log_fields":{"type":"object","title":"Audit Log Fields","default":[]}},"type":"object","title":"AuditLogger","description":"Logger for security actions"},"AuthPostParams":{"properties":{"email":{"type":"string","title":"Email","description":"User email","examples":["test@example.com"]},"password":{"type":"string","title":"Password","description":"User password","examples":["PasSwOrd"]}},"type":"object","required":["email","password"],"title":"AuthPostParams","description":"Auth post handler params"},"ConnectionPostParams":{"properties":{"base_dn":{"type":"string","title":"Base Dn","description":"Base Distinguished Name - the search will be started from such catalog object","examples":["dc=example,dc=com"]},"address":{"type":"string","title":"Address","description":"LDAP server address","examples":["192.168.0.5"]},"bind_dn":{"type":"string","title":"Bind Dn","description":"The bind user DN with database read right","examples":["cn=admin,dc=example,dc=com"]},"password":{"type":"string","title":"Password","description":"The bind user password","examples":["PaSSwOrd"]},"users_dn":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Users Dn","description":"The part for searching users with base DN","examples":["cn=users"]},"groups_dn":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Groups Dn","description":"The part for searching groups with base DN","examples":["cn=groups"]},"groupname_attr":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Groupname Attr","description":"The name of group attribute for users searching","examples":["memberOf"]},"email_attr":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email Attr","description":"The name of email attribute for users searching","examples":["mail"]},"blocked_attr":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Blocked Attr","description":"The name of blocked attribute for users searching","examples":["nsaccountlock"]},"type":{"anyOf":[{"$ref":"#\/components\/schemas\/LdapType"},{"type":"null"}],"description":"Type of LDAP server. If AD or FreeIPA some arguments could not be send, i.e. users DN","default":"ldap","examples":["ldap"]},"port":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Port","description":"LDAP server port","default":389,"examples":[389]},"is_ssl":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Ssl","description":"LDAP ssl connection","default":false,"examples":[false]}},"type":"object","required":["base_dn","address","bind_dn","password"],"title":"ConnectionPostParams","description":"Connection post handler params"},"ConnectionPostResponse":{"properties":{"groups":{"items":{"type":"string"},"type":"array","title":"Groups","description":"List of groups found in LDAP","examples":["cn=admins,cn=groups,dc=example,dc=com"]}},"type":"object","required":["groups"],"title":"ConnectionPostResponse","description":"Connection post handler response"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#\/components\/schemas\/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"LdapType":{"type":"string","enum":["ldap","active_directory","free_ipa","ald_pro"],"title":"LdapType","description":"LDAP type."},"SettingGetResponse":{"properties":{"groups_bind":{"anyOf":[{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object"},{"type":"null"}],"title":"Groups Bind","description":"List of bind groups in LDAP","examples":["[\"cn=admins,cn=groups,dc=example,dc=com\"]"]},"auto_sync":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auto Sync","description":"The automatically syncing period. Use cron format or null","examples":["0 16 * * *"]},"last_sync":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Sync","description":"Last sync time","examples":["2021-02-09T18:09:57"]},"base_dn":{"type":"string","title":"Base Dn","description":"Base Distinguished Name - the search will be started from such catalog object","examples":["dc=example,dc=com"]},"address":{"type":"string","title":"Address","description":"LDAP server address","examples":["192.168.0.5"]},"bind_dn":{"type":"string","title":"Bind Dn","description":"The bind user DN with database read right","examples":["cn=admin,dc=example,dc=com"]},"password":{"type":"string","title":"Password","description":"The bind user password","examples":["PaSSwOrd"]},"groups_dn":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Groups Dn","description":"The part for searching groups with base DN","examples":["cn=groups"]},"groupname_attr":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Groupname Attr","description":"The name of group attribute for users searching","examples":["memberOf"]},"email_attr":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email Attr","description":"The name of email attribute for users searching","examples":["mail"]},"blocked_attr":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Blocked Attr","description":"The name of blocked attribute for users searching","examples":["nsaccountlock"]},"users_dn":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Users Dn","description":"The part for searching users with base DN","examples":["cn=users"]},"type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Type","description":"Type of LDAP server. If AD or FreeIPA some arguments could not be send, i.e. users DN","examples":["ldap"]},"port":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Port","description":"LDAP server port","examples":[389]},"is_ssl":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Ssl","description":"LDAP ssl connection","examples":[false]}},"type":"object","title":"SettingGetResponse","description":"Settings handler response"},"SettingPostParams":{"properties":{"base_dn":{"type":"string","title":"Base Dn","description":"Base Distinguished Name - the search will be started from such catalog object","examples":["dc=example,dc=com"]},"address":{"type":"string","title":"Address","description":"LDAP server address","examples":["192.168.0.5"]},"bind_dn":{"type":"string","title":"Bind Dn","description":"The bind user DN with database read right","examples":["cn=admin,dc=example,dc=com"]},"password":{"type":"string","title":"Password","description":"The bind user password","examples":["PaSSwOrd"]},"users_dn":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Users Dn","description":"The part for searching users with base DN","examples":["cn=users"]},"groups_dn":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Groups Dn","description":"The part for searching groups with base DN","examples":["cn=groups"]},"groupname_attr":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Groupname Attr","description":"The name of group attribute for users searching","examples":["memberOf"]},"email_attr":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email Attr","description":"The name of email attribute for users searching","examples":["mail"]},"blocked_attr":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Blocked Attr","description":"The name of blocked attribute for users searching","examples":["nsaccountlock"]},"type":{"anyOf":[{"$ref":"#\/components\/schemas\/LdapType"},{"type":"null"}],"description":"Type of LDAP server. If AD or FreeIPA some arguments could not be send, i.e. users DN","default":"ldap","examples":["ldap"]},"port":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Port","description":"LDAP server port","default":389,"examples":[389]},"is_ssl":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Ssl","description":"LDAP ssl connection","default":false,"examples":[false]},"groups_bind":{"anyOf":[{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object"},{"type":"null"}],"title":"Groups Bind","description":"List of bind groups in LDAP","examples":["[\"cn=admins,cn=groups,dc=example,dc=com\"]"]},"auto_sync":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auto Sync","description":"The automatically syncing period. Use cron format or null","examples":["0 16 * * *"]}},"type":"object","required":["base_dn","address","bind_dn","password"],"title":"SettingPostParams","description":"Settings post handler params"},"SuccessSchema":{"properties":{"status":{"type":"string","title":"Status","description":"Success schema response","default":"ok"}},"type":"object","title":"SuccessSchema","description":"Success schema response"},"SyncPostResponseOne":{"properties":{"id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id","description":"The user identifier in the platform. Null if new user","examples":[1]},"email":{"type":"string","title":"Email","description":"The user email","examples":["test@example.com"]},"role":{"type":"string","title":"Role","description":"The user role in the platform","examples":["@admin"]},"status":{"allOf":[{"$ref":"#\/components\/schemas\/UserStatus"}],"description":"What's gone be done with user:\n * `new` - New user adding or user data changing\n * `removed` - The user was removed in LDAP and will be blocked at platform\n * `blocked` - The user was blocked in LDAP and will be blocked at platform\n * `unblocked` - The user was unblocked or created in LDAP and will be unblocked at platform\n ","examples":["new"]}},"type":"object","required":["email","role","status"],"title":"SyncPostResponseOne","description":"Sync post response one"},"SyncStatusResponse":{"properties":{"is_running":{"type":"boolean","title":"Is Running","description":"Sync running status","examples":[true]}},"type":"object","required":["is_running"],"title":"SyncStatusResponse","description":"Sync get response status"},"UserStatus":{"type":"string","enum":["new","removed","blocked","unblocked"],"title":"UserStatus","description":"User status for syncing."},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"tags":[{"name":"ldap","description":"handlers for ldap service"}]}