test(bruno): update API collections for consolidated endpoints

Add collections for Delete User, Reset User Password, and Update User
endpoints. Remove obsolete collections for individual profile update
operations. Update Update Profile collection to reflect new consolidated
API structure.
This commit is contained in:
2026-02-22 01:59:58 -05:00
parent ff25454901
commit 2b92d5c6c1
8 changed files with 123 additions and 97 deletions
-25
View File
@@ -1,25 +0,0 @@
info:
name: Delete Account
type: http
seq: 4
http:
method: DELETE
url: '{{base_url}}/api/auth/account'
auth: inherit
body:
type: none
docs: |-
## Delete Account
Permanently deletes user account and all associated data.
**Method:** DELETE
**Endpoint:** /api/auth/account
**Authentication:** Required
**Usage:**
- **Self-deletion**: DELETE /api/auth/account (no parameters)
- **Admin deletion**: DELETE /api/auth/account?user_id={uuid
+25
View File
@@ -0,0 +1,25 @@
info:
name: Delete User
type: http
seq: 12
http:
method: DELETE
url: '{{base_url}}/api/auth/profile/{{user_id}}'
auth: inherit
docs: |-
## Delete User Account
Delete a user account. Users can delete their own account, admins can delete any user.
**Method:** DELETE
**Endpoint:** /api/auth/profile (self) or /api/auth/profile/:id (admin)
**Authentication:** Required (Bearer token)
**Status Codes:**
- 200: Success
- 400: Cannot delete the last admin
- 403: Not an admin (when trying to delete another user)
- 404: User not found
+36
View File
@@ -0,0 +1,36 @@
info:
name: Reset User Password
type: http
seq: 11
http:
method: PUT
url: '{{base_url}}/api/auth/password/{{user_id}}'
auth: inherit
body:
type: json
jsonBody: |-
{
"new_password": "NewSecurePassword123!",
"confirm_password": "NewSecurePassword123!"
}
docs: |-
## Admin Reset User Password
Admin-only endpoint to reset another user's password.
**Method:** PUT
**Endpoint:** /api/auth/password/:id
**Authentication:** Required (Admin Bearer token)
**Request Body:**
- `new_password` (string, required): New password
- `confirm_password` (string, required): Must match new_password
**Status Codes:**
- 200: Success
- 400: Passwords do not match or invalid format
- 403: Not an admin
- 404: User not found
+42
View File
@@ -0,0 +1,42 @@
info:
name: Update User
type: http
seq: 10
http:
method: PUT
url: '{{base_url}}/api/auth/profile/{{user_id}}'
auth: inherit
body:
type: json
jsonBody: |-
{
"username": "newusername",
"email": "newemail@example.com",
"role": "admin"
}
docs: |-
## Admin Update User
Admin-only endpoint to update another user's profile.
**Method:** PUT
**Endpoint:** /api/auth/profile/:id
**Authentication:** Required (Admin Bearer token)
**Request Body:**
- `username` (string, optional): New username
- `email` (string, optional): New email
- `first_name` (string, optional): First name
- `last_name` (string, optional): Last name
- `theme` (string, optional): Theme preference
- `role` (string, optional): Role ("user" or "admin") - admin only
**Status Codes:**
- 200: Success
- 400: Invalid role or cannot demote last admin
- 403: Not an admin
- 404: User not found
- 409: Username or email already taken
-33
View File
@@ -1,33 +0,0 @@
info:
name: Update Email
type: http
seq: 2
http:
method: PUT
url: '{{base_url}}/api/auth/email'
auth: inherit
body:
type: json
docs: |-
## Update Email
Updates the authenticated user's email address.
**Method:** PUT
**Endpoint:** /api/auth/email
**Authentication:** Required
**Request Body:**
- `email` (string, required): New email address (must be valid email format)
**Response:**
- `message` (string): Success message
**Status Codes:**
- 200: Success
- 400: Invalid email format
- 401: Unauthorized
- 409: Email already taken
+12 -1
View File
@@ -8,7 +8,14 @@ http:
auth: inherit
body:
type: json
jsonBody: "{\n \"first_name\": \"Updated\",\n \"last_name\": \"Name\""
jsonBody: |-
{
"username": "updateduser",
"email": "updated@example.com",
"first_name": "Updated",
"last_name": "User",
"theme": "dracula"
}
docs: |-
## Update User Profile
@@ -22,8 +29,11 @@ docs: |-
**Authentication:** Required (Bearer token)
**Request Body:**
- `username` (string, optional): New username (must be unique)
- `email` (string, optional): New email address (must be unique)
- `first_name` (string, optional): First name
- `last_name` (string, optional): Last name
- `theme` (string, optional): Theme preference
**Response:**
- `message` (string): Success message
@@ -32,3 +42,4 @@ docs: |-
- 200: Success
- 400: Invalid request
- 401: Unauthorized
- 409: Username or email already taken
+8 -5
View File
@@ -1,19 +1,22 @@
info:
name: Update Theme
type: http
seq: 4
seq: 5
http:
method: PUT
url: '{{base_url}}/api/auth/theme'
auth: inherit
body:
type: json
jsonBody: "{\n \"theme\": \"dracula\""
jsonBody: |-
{
"theme": "dracula"
}
docs: |-
## Update User Theme
## Update Theme
Updates the authenticated user's theme preference.
Fast theme switching for the application UI.
**Method:** PUT
@@ -22,7 +25,7 @@ docs: |-
**Authentication:** Required (Bearer token)
**Request Body:**
- `theme` (string): Theme name (tokyo-night, dracula, nord, solarized-dark, monokai, one-dark-pro, material-dark, catppuccin-mocha, catppuccin-macchiato, catppuccin-frappe, catppuccin-latte)
- `theme` (string, required): Theme name
**Response:**
- `message` (string): Success message
-33
View File
@@ -1,33 +0,0 @@
info:
name: Update Username
type: http
seq: 1
http:
method: PUT
url: '{{base_url}}/api/auth/username'
auth: inherit
body:
type: json
docs: |-
## Update Username
Updates the authenticated user's username.
**Method:** PUT
**Endpoint:** /api/auth/username
**Authentication:** Required
**Request Body:**
- `username` (string, required): New username (3-50 characters)
**Response:**
- `message` (string): Success message
**Status Codes:**
- 200: Success
- 400: Invalid username
- 401: Unauthorized
- 409: Username already taken