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