feat: add http client
This commit is contained in:
81
backend/tests/tenant.http
Normal file
81
backend/tests/tenant.http
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
@host = http://localhost:8080
|
||||||
|
@tenantCode = 2s
|
||||||
|
|
||||||
|
# NOTE:
|
||||||
|
# - tenant module requires JWT auth + tenant membership.
|
||||||
|
# - Get a token via `tests/super.http` (`/super/v1/auth/token`) then paste it below.
|
||||||
|
@token = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoyLCJpc3MiOiJ2MiIsImV4cCI6MTc2NjYzMzAyMSwibmJmIjoxNzY2MDI4MjExfQ.RjLVil6EnbPi4LMPyVBzR2vFaeXelypk5fKInsAzqc8
|
||||||
|
|
||||||
|
|
||||||
|
### Tenant - Me (resolved tenant/user/tenant_user)
|
||||||
|
GET {{ host }}/t/{{ tenantCode }}/v1/me
|
||||||
|
Content-Type: application/json
|
||||||
|
Authorization: Bearer {{ token }}
|
||||||
|
|
||||||
|
### Tenant - Contents list (published)
|
||||||
|
GET {{ host }}/t/{{ tenantCode }}/v1/contents?page=1&limit=10
|
||||||
|
Content-Type: application/json
|
||||||
|
Authorization: Bearer {{ token }}
|
||||||
|
|
||||||
|
### Tenant - Content detail (visibility + access check)
|
||||||
|
@contentID = 1
|
||||||
|
GET {{ host }}/t/{{ tenantCode }}/v1/contents/{{ contentID }}
|
||||||
|
Content-Type: application/json
|
||||||
|
Authorization: Bearer {{ token }}
|
||||||
|
|
||||||
|
### Tenant - Preview assets (role=preview)
|
||||||
|
GET {{ host }}/t/{{ tenantCode }}/v1/contents/{{ contentID }}/preview
|
||||||
|
Content-Type: application/json
|
||||||
|
Authorization: Bearer {{ token }}
|
||||||
|
|
||||||
|
### Tenant - Main assets (role=main, requires access unless free/owner)
|
||||||
|
GET {{ host }}/t/{{ tenantCode }}/v1/contents/{{ contentID }}/assets
|
||||||
|
Content-Type: application/json
|
||||||
|
Authorization: Bearer {{ token }}
|
||||||
|
|
||||||
|
### Tenant Admin - Create content draft
|
||||||
|
POST {{ host }}/t/{{ tenantCode }}/v1/admin/contents
|
||||||
|
Content-Type: application/json
|
||||||
|
Authorization: Bearer {{ token }}
|
||||||
|
|
||||||
|
{
|
||||||
|
"title": "示例内容",
|
||||||
|
"description": "这是一个内容草稿,用于联调",
|
||||||
|
"visibility": "tenant_only",
|
||||||
|
"preview_seconds": 60
|
||||||
|
}
|
||||||
|
|
||||||
|
### Tenant Admin - Update content (publish/unpublish/title/description/preview_seconds)
|
||||||
|
PATCH {{ host }}/t/{{ tenantCode }}/v1/admin/contents/{{ contentID }}
|
||||||
|
Content-Type: application/json
|
||||||
|
Authorization: Bearer {{ token }}
|
||||||
|
|
||||||
|
{
|
||||||
|
"title": "示例内容(已更新)",
|
||||||
|
"status": "published"
|
||||||
|
}
|
||||||
|
|
||||||
|
### Tenant Admin - Upsert content price/discount
|
||||||
|
PUT {{ host }}/t/{{ tenantCode }}/v1/admin/contents/{{ contentID }}/price
|
||||||
|
Content-Type: application/json
|
||||||
|
Authorization: Bearer {{ token }}
|
||||||
|
|
||||||
|
{
|
||||||
|
"currency": "CNY",
|
||||||
|
"price_amount": 990,
|
||||||
|
"discount_type": "none",
|
||||||
|
"discount_value": 0
|
||||||
|
}
|
||||||
|
|
||||||
|
### Tenant Admin - Attach asset to content (main/cover/preview)
|
||||||
|
@assetID = 1
|
||||||
|
POST {{ host }}/t/{{ tenantCode }}/v1/admin/contents/{{ contentID }}/assets
|
||||||
|
Content-Type: application/json
|
||||||
|
Authorization: Bearer {{ token }}
|
||||||
|
|
||||||
|
{
|
||||||
|
"asset_id": {{ assetID }},
|
||||||
|
"role": "main",
|
||||||
|
"sort": 0
|
||||||
|
}
|
||||||
|
|
||||||
Reference in New Issue
Block a user