Admin API for Deactivating and Reactivating Local Users #27

Closed
opened 2023-09-06 01:52:37 +00:00 by jordan · 1 comment
Owner

The administrator API should provide functions for managing local user accounts. This issue documents the endpoints and how they should be implemented.

DELETE /_telodendria/admin/deactivate/[localpart]

Deactivates a local user, optionally with a reason.

Requires TokenRate LimitedPermissions
YesYesDEACTIVATE

Request JSON Format:

FieldTypeDescriptionRequired
reasonstringA reason why the user was deactivatedNo

Request Example:

{
  "reason": "Being mean in a lot of rooms."
}
Error ResponseDescription
200User was successfully deactivated.
403User does not have the DEACTIVATE permission.

200 Response JSON Format:

FieldTypeDescription
userlocalpartThe deactivated user's localpart
reasonstringThe reason why the user was deactivated. Defaults to: ``Deactivated by admin''
banned_bylocalpartThe localpart of the admin who deactivated the user.

403 Response JSON Format:

FieldTypeDescription
errcodestringSet to ``M_FORBIDDEN''
errorstringHuman-readable explanation of the privilege issue.

200 Response Example:

{
  "user": "evan",
  "reason": "Being mean in a lot of rooms",
  "banned_by": "alice"
}

403 Response Example:

{
  "errcode": "M_FORBIDDEN",
  "error": "Forbidden access. Bad permissions or not authenticated."
}

PUT /_telodendria/admin/deactivate/[localpart]

Requires TokenRate LimitedPermissions
YesYesDEACTIVATE

Description: Reactivates a local user.

Error ResponseDescription
204User was successfully reactivated.
403User does not have the DEACTIVATE permission.

403 Response JSON Format:

FieldTypeDescription
errcodestringSet to ``M_FORBIDDEN''
errorstringHuman-readable explanation of the privilege issue.

403 Response Example:

{
  "errcode": "M\_FORBIDDEN",
  "error": "Forbidden access. Bad permissions or not authenticated."
}
The administrator API should provide functions for managing local user accounts. This issue documents the endpoints and how they should be implemented. ### **DELETE** /_telodendria/admin/deactivate/\[localpart\] Deactivates a local user, optionally with a reason. <table><tbody><tr><td>Requires Token</td><td>Rate Limited</td><td>Permissions</td></tr><tr><td>Yes</td><td>Yes</td><td>DEACTIVATE</td></tr></tbody></table> Request JSON Format: <table><tbody><tr><td>Field</td><td>Type</td><td>Description</td><td>Required</td></tr><tr><td>reason</td><td>string</td><td>A reason why the user was deactivated</td><td>No</td></tr></tbody></table> Request Example: ```json { "reason": "Being mean in a lot of rooms." } ``` <table><tbody><tr><td>Error Response</td><td>Description</td></tr><tr><td>200</td><td>User was successfully deactivated.</td></tr><tr><td>403</td><td>User does not have the DEACTIVATE permission.</td></tr></tbody></table> 200 Response JSON Format: <table><tbody><tr><td>Field</td><td>Type</td><td>Description</td></tr><tr><td>user</td><td>localpart</td><td>The deactivated user's localpart</td></tr><tr><td>reason</td><td>string</td><td>The reason why the user was deactivated. Defaults to: ``Deactivated by admin''</td></tr><tr><td>banned_by</td><td>localpart</td><td>The localpart of the admin who deactivated the user.</td></tr></tbody></table> 403 Response JSON Format: <table><tbody><tr><td>Field</td><td>Type</td><td>Description</td></tr><tr><td>errcode</td><td>string</td><td>Set to ``M_FORBIDDEN''</td></tr><tr><td>error</td><td>string</td><td>Human-readable explanation of the privilege issue.</td></tr></tbody></table> 200 Response Example: ```json { "user": "evan", "reason": "Being mean in a lot of rooms", "banned_by": "alice" } ``` 403 Response Example: ```json { "errcode": "M_FORBIDDEN", "error": "Forbidden access. Bad permissions or not authenticated." } ``` ### **PUT** /_telodendria/admin/deactivate/\[localpart\] <table><tbody><tr><td>Requires Token</td><td>Rate Limited</td><td>Permissions</td></tr><tr><td>Yes</td><td>Yes</td><td>DEACTIVATE</td></tr></tbody></table> _Description:_ Reactivates a local user. <table><tbody><tr><td>Error Response</td><td>Description</td></tr><tr><td>204</td><td>User was successfully reactivated.</td></tr><tr><td>403</td><td>User does not have the DEACTIVATE permission.</td></tr></tbody></table> 403 Response JSON Format: <table><tbody><tr><td>Field</td><td>Type</td><td>Description</td></tr><tr><td>errcode</td><td>string</td><td>Set to ``M_FORBIDDEN''</td></tr><tr><td>error</td><td>string</td><td>Human-readable explanation of the privilege issue.</td></tr></tbody></table> 403 Response Example: ```json { "errcode": "M\_FORBIDDEN", "error": "Forbidden access. Bad permissions or not authenticated." } ```
jordan added the
enhancement
label 2023-09-06 01:52:37 +00:00
jordan added this to the Telodendria v1.7.0-alpha5 project 2023-09-06 01:52:37 +00:00
Author
Owner

And the checklist:

  • DELETE /_telodendria/admin/deactivate/[localpart]
  • PUT /_telodendria/admin/deactivate/[localpart]
And the checklist: - [x] **DELETE** /_telodendria/admin/deactivate/[localpart] - [x] **PUT** /_telodendria/admin/deactivate/[localpart]
jordan modified the project from Telodendria v1.7.0-alpha5 to Telodendria v1.7.0-alpha4 2023-09-22 13:16:08 +00:00
jordan referenced this issue from a commit 2023-09-25 13:39:25 +00:00
Sign in to join this conversation.
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Telodendria/Telodendria#27
No description provided.