refactor: rename bruno/auth folder to bruno/user

The auth folder now contains user management endpoints beyond just authentication:
- User registration/login (auth)
- Profile management (user)
- Theme settings (user preferences)
- Ebook folder management (user settings)

Renaming to 'user' better reflects the expanded scope covering user accounts, preferences, and settings management.
This commit is contained in:
2026-01-23 09:11:42 -05:00
parent c3769fe7f1
commit b9edb92af2
8 changed files with 0 additions and 0 deletions
+49
View File
@@ -0,0 +1,49 @@
meta {
name: Add Ebook Folder
type: http
seq: 5
}
post {
url: {{base_url}}/api/auth/ebook-folders
body: json
auth: inherit
}
body {
{
"folder_path": "/path/to/ebooks"
}
}
settings {
encodeUrl: true
timeout: 0
}
docs {
## Add Ebook Folder
Adds a new ebook folder for the authenticated user.
**Method:** POST
**Endpoint:** /api/auth/ebook-folders
**Authentication:** Required
**Request Body:**
- `folder_path` (string, required): Path to the ebook folder
**Response:**
- `id` (string): Folder ID
- `user_id` (string): User ID
- `folder_path` (string): Folder path
- `created_at` (string): Creation timestamp
**Status Codes:**
- 201: Created
- 400: Bad Request
- 401: Unauthorized
- 409: Conflict (folder already exists)
}
+40
View File
@@ -0,0 +1,40 @@
meta {
name: Delete Ebook Folder
type: http
seq: 7
}
delete {
url: {{base_url}}/api/auth/ebook-folders/{{folder_path}}
body: none
auth: inherit
}
settings {
encodeUrl: true
timeout: 0
}
docs {
## Delete Ebook Folder
Removes an ebook folder for the authenticated user.
**Method:** DELETE
**Endpoint:** /api/auth/ebook-folders/:folderPath
**Authentication:** Required
**URL Parameters:**
- `folderPath` (string): URL-encoded folder path to remove
**Response:**
- `message` (string): Success message
**Status Codes:**
- 200: Success
- 400: Bad Request
- 401: Unauthorized
- 404: Folder not found
}
+38
View File
@@ -0,0 +1,38 @@
meta {
name: Get Ebook Folders
type: http
seq: 6
}
get {
url: {{base_url}}/api/auth/ebook-folders
body: none
auth: inherit
}
settings {
encodeUrl: true
timeout: 0
}
docs {
## Get Ebook Folders
Retrieves all ebook folders for the authenticated user.
**Method:** GET
**Endpoint:** /api/auth/ebook-folders
**Authentication:** Required
**Response:** Array of folder objects
- `id` (string): Folder ID
- `user_id` (string): User ID
- `folder_path` (string): Folder path
- `created_at` (string): Creation timestamp
**Status Codes:**
- 200: Success
- 401: Unauthorized
}
+38
View File
@@ -0,0 +1,38 @@
meta {
name: Get Profile
type: http
seq: 1
}
get {
url: {{base_url}}/api/auth/profile
body: none
auth: inherit
}
settings {
encodeUrl: true
timeout: 0
}
docs {
## Get User Profile
Retrieves the authenticated user's profile.
**Method:** GET
**Endpoint:** /api/auth/profile
**Authentication:** Required
**Response:**
- `id` (string): User ID
- `email` (string): Email
- `username` (string): Username
- `theme` (string): User theme preference
**Status Codes:**
- 200: Success
- 401: Unauthorized
}
+40
View File
@@ -0,0 +1,40 @@
meta {
name: List Users
type: http
seq: 5
}
get {
url: {{base_url}}/api/users
body: none
auth: inherit
}
settings {
encodeUrl: true
timeout: 0
}
docs {
## List Users
Retrieves a list of all users.
**Method:** GET
**Endpoint:** /api/users
**Authentication:** Required
**Response:** Array of user objects
- `id` (string): User ID
- `email` (string): Email
- `username` (string): Username
- `theme` (string): User theme preference
- `created_at` (string): Creation timestamp
- `updated_at` (string): Last update timestamp
**Status Codes:**
- 200: Success
- 401: Unauthorized
}
+57
View File
@@ -0,0 +1,57 @@
meta {
name: Login User
type: http
seq: 2
}
post {
url: {{base_url}}/api/auth/login
body: json
auth: inherit
}
body:json {
{
"login": "test@example.com",
"password": "password123"
}
}
script:post-response {
function onResponse(res) {
let data = res.getBody();
return bru.setEnvVar("token", data.token, { persist: true });
}
onResponse(res);
}
settings {
encodeUrl: true
timeout: 0
}
docs {
## Login User
Authenticates a user with email/username and password.
**Method:** POST
**Endpoint:** /api/auth/login
**Request Body:**
- `login` (string): Email or username
- `password` (string): Password
**Response:**
- `token` (string): JWT token
- `user` (object): User details
- `id` (string): User ID
- `email` (string): Email
- `username` (string): Username
- `theme` (string): User theme preference
**Status Codes:**
- 200: Success
- 401: Invalid credentials
}
+59
View File
@@ -0,0 +1,59 @@
meta {
name: Register User
type: http
seq: 3
}
post {
url: {{base_url}}/api/auth/register
body: json
auth: inherit
}
body:json {
{
"email": "test@example.com",
"username": "testuser",
"password": "password123"
}
}
script:post-response {
function onResponse(res) {
let data = res.getBody();
return bru.setEnvVar("token", data.token, { persist: true });
}
onResponse(res);
}
settings {
encodeUrl: true
timeout: 0
}
docs {
## Register User
Creates a new user account.
**Method:** POST
**Endpoint:** /api/auth/register
**Request Body:**
- `email` (string): Email address
- `username` (string): Username
- `password` (string): Password
**Response:**
- `token` (string): JWT token
- `user` (object): User details
- `id` (string): User ID
- `email` (string): Email
- `username` (string): Username
- `theme` (string): User theme preference
**Status Codes:**
- 201: Created
- 409: User exists
}
+40
View File
@@ -0,0 +1,40 @@
meta {
name: Update Theme
type: http
seq: 4
}
put {
url: {{base_url}}/api/auth/theme
body: json
auth: inherit
}
body:json {
{
"theme": "dracula"
}
}
docs {
## Update User Theme
Updates the authenticated user's theme preference.
**Method:** PUT
**Endpoint:** /api/auth/theme
**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)
**Response:**
- `message` (string): Success message
**Status Codes:**
- 200: Success
- 400: Invalid theme
- 401: Unauthorized
}