Viewsets

Interlock contains the following viewsets.

  • Base Viewset (Inherited in most viewsets)
  • Token Authentication Viewset
  • Development Tests (Disabled in Production Bundles) Viewset
  • Directory Tree / Organizational Unit Viewset
  • User CRUD Viewset
  • Security Group CRUD Viewset
  • DNS Zone CRUD Viewset
  • DNS Record CRUD Viewset
  • Logs Viewset
  • Interlock / LDAP Connector Parametrization Viewset

By default Interlock’s viewsets will raise a NotFound API Exception Response if the url is not defined.

Token Authentication Viewset

File: core/views/token.py

Token

Endpoint used for initial authentication and obtaining a token pair.

  • Request Type: POST
  • Path: api/token/

Token Refresh

Endpoint used for refreshing token pair after initial auth token expires.

  • Request Type: POST
  • Path: api/token/refresh/

User Viewset

File: core/views/user.py

Me

Endpoint used for fetching the logged in administrator user basic LDAP Data.

  • Request Type: GET
  • Path: api/users/me/

Logout

Endpoint used for logging user signoff actions.

  • Request Type: POST
  • Path: api/users/logout/

List

Endpoint used for listing LDAP User Objects

  • Request Type: GET
  • Path: api/users/

Fetch

Endpoint used for fetching a complete, individual LDAP User Object

  • Request Type: POST
  • Path: api/users/fetch/

Insert

Endpoint used for Creating / Inserting Users into the LDAP/ADDS Server(s)

  • Request Type: POST
  • Path: api/users/insert/

Update

Endpoint used for Updating Users in the LDAP/ADDS Server(s)

  • Request Type: PUT
  • Path: api/users/update/

Delete

Endpoint used to delete LDAP Users from the Directory

  • Request Type: POST
  • Path: api/users/delete/

Enable

Endpoint used to Enable LDAP Users

  • Request Type: POST
  • Path: api/users/enable/

Disable

Endpoint used to Disable LDAP Users

  • Request Type: POST
  • Path: api/users/disable/

Unlock

Endpoint used to Unlock Timed out LDAP Users

  • Request Type: POST
  • Path: api/users/unlock/

Change Password

Endpoint used to Change LDAP User Passwords

  • Request Type: POST
  • Path: api/users/changePassword/

Fetch Me (End-user)

Endpoint used for fetching the logged in user’s data

  • Request Type: POST
  • Path: api/users/fetchme/

Update Self (End-user)

Endpoint used to allow end-users without admin privilege to update their own LDAP password and data.

  • Request Type: PUT
  • Path: api/users/updateSelf/

Change Password Self (End-user)

Endpoint used to allow End-users without admin privilege to change their LDAP Password

  • Request Type: POST
  • Path: api/users/changePasswordSelf/

Security Group Viewset

File: core/views/groups.py

List

Endpoint used for listing LDAP Security Group Objects

  • Request Type: GET
  • Path: api/groups/

Fetch

Endpoint used for fetching a specific LDAP Security Group Object

  • Request Type: POST
  • Path: api/groups/fetch/

Insert

Endpoint used for creating / inserting an LDAP Security Group into the Directory

  • Request Type: POST
  • Path: api/groups/insert/

Update

Endpoint used for updating an LDAP Security Group Object

  • Request Type: PUT
  • Path: api/groups/update/

Delete

Endpoint used for deleting an LDAP Security Group from the Directory

  • Request Type: POST
  • Path: api/groups/delete/

DNS Zone Viewset

File: core/views/domain.py

Details

Endpoint used for fetching the main LDAP Domain Data and Search Base

  • Request Type: GET
  • Path: api/domain/details/

Zones

Endpoint used for listing the DNS Zones and Records stored in the LDAP Server(s)

  • Request Type: POST
  • Path: api/domain/zones/

Insert

Endpoint used for creating a DNS Forward Zone in the LDAP Server(s)

  • Request Type: POST
  • Path: api/domain/insert/

Delete

Endpoint used for deleting a DNS Forward Zone in the LDAP Server(s)

  • Request Type: POST
  • Path: api/domain/delete/

DNS Record Viewset

File: core/views/record.py

Insert

Endpoint used for creating / inserting an LDAP DNS Record

  • Request Type: POST
  • Path: api/record/insert/

Update

Endpoint used for updating an LDAP DNS Record

  • Request Type: PUT
  • Path: api/record/update/

Delete

Endpoint used for deleting an LDAP DNS Record

  • Request Type: POST
  • Path: api/record/delete/

Logs Viewset

File: core/views/logs.py

List

Endpoint used for listing Interlock Logs

  • Request Type: GET
  • Path: api/logs/

Reset

Endpoint used for resetting the Interlock Log Data Table

  • Request Type: GET
  • Path: api/logs/reset/

Truncate

Endpoint used for truncating a range of logs identified by their id in the Interlock Log Data Table

  • Request Type: POST
  • Path: api/logs/truncate/

Directory Tree / Organizational Unit Viewset

File: core/views/organizational_unit.py

List

Endpoint used for listing Organizational Units

  • Request Type: GET
  • Path: api/organizational_unit/

Directory Tree

Endpoint used for listing the FULL LDAP Directory Tree

  • Request Type: POST
  • Path: api/organizational_unit/dirtree/

Move

Endpoint used for moving any LDAP Object inside the Directory Tree

  • Request Type: POST
  • Path: api/organizational_unit/move/

Rename

Endpoint used for renaming any LDAP Object inside the Directory Tree

  • Request Type: POST
  • Path: api/organizational_unit/rename/

Insert

Endpoint used for inserting an Organizational Unit into the LDAP Directory Tree

  • Request Type: POST
  • Path: api/organizational_unit/insert/

Delete

Endpoint used for deleting an Organizational Unit from the LDAP Directory Tree

  • Request Type: POST
  • Path: api/organizational_unit/delete/

Settings Viewset

File: core/views/settings_view.py

List

Endpoint used for listing Interlock Settings

  • Request Type: GET
  • Path: api/settings/

Save

Endpoint used for saving Interlock Settings

  • Request Type: POST
  • Path: api/settings/save/

Reset

Endpoint used for resetting the Interlock Settings to factory defaults

  • Request Type: GET
  • Path: api/settings/reset/

Test

Endpoint used for testing work in progress functionalities.

  • Request Type: POST
  • Path: api/settings/test/