mirror of
https://github.com/dreamhunter2333/cloudflare_temp_email.git
synced 2026-09-05 15:38:34 +08:00
perf: paginate user addresses and optimize ownership queries (#1105)
* perf: paginate user addresses and optimize mail ownership queries * docs: document user address pagination * fix: address pagination review feedback * fix: cover user address pagination flows * test: fix user mailbox tab selector * test: stabilize remote address search flow * test: stabilize user address browser flow * fix: preserve address pagination compatibility * refactor: simplify bound address query types * refactor: reuse list query for bound addresses * fix: preserve paginated address totals * fix: preserve bound address helper contracts * fix: require pagination for user addresses * refactor: keep shared pagination behavior unchanged * fix: align pagination docs and tests * fix: clear stale address selections * refactor: simplify user address pagination * refactor: limit user address changes to pagination * test: select a visible mailbox address * fix: preserve bound address response fields
This commit is contained in:
@@ -160,6 +160,36 @@ This endpoint uses **User JWT** (obtained via `/user_api/login` or `/user_api/re
|
||||
- User JWT uses `x-user-token: <jwt>` to access `/user_api/*` endpoints
|
||||
:::
|
||||
|
||||
### Bound Address List
|
||||
|
||||
`GET /user_api/bind_address` uses server-side pagination and accepts these query parameters:
|
||||
|
||||
Requests without pagination parameters return the default first page. Fetching all bound addresses in one request is not supported.
|
||||
|
||||
| Parameter | Default | Description |
|
||||
| --- | --- | --- |
|
||||
| `limit` | `20` | Page size, from 1 to 100 |
|
||||
| `offset` | `0` | Pagination offset |
|
||||
|
||||
The `results` array contains only the current page. The total is queried only when `offset=0`; later pages return `count: 0`, so clients should retain the total from the first page.
|
||||
|
||||
```python
|
||||
import requests
|
||||
|
||||
url = "https://<your-worker-address>/user_api/bind_address"
|
||||
headers = {
|
||||
"x-user-token": "<your-user-JWT-token>",
|
||||
}
|
||||
querystring = {
|
||||
"limit": "20",
|
||||
"offset": "0",
|
||||
}
|
||||
response = requests.get(url, headers=headers, params=querystring)
|
||||
print(response.json())
|
||||
```
|
||||
|
||||
### User Mail List
|
||||
|
||||
Supports `address` filter
|
||||
|
||||
```python
|
||||
|
||||
Reference in New Issue
Block a user