# TikTok Short Drama Backend NestJS backend API for a TikTok Minis short drama app. ## API Contract All endpoints must follow [docs/api-standard.md](./docs/api-standard.md). Response shape: ```json { "code": 0, "data": {}, "message": "success", "timestamp": "2026-06-30T00:00:00.000Z", "requestId": "0f5c2e16-1e44-4d55-93a4-ef7c66d9d1f2", "cost": "3ms" } ``` Paginated list shape: ```json { "code": 0, "data": { "list": [], "pagination": { "page": 1, "pageSize": 20, "total": 100 } }, "message": "success", "timestamp": "2026-06-30T00:00:00.000Z", "requestId": "0f5c2e16-1e44-4d55-93a4-ef7c66d9d1f2", "cost": "3ms" } ``` ## Implemented Modules - `health`: app health check. - `logs`: request log lookup by `requestId` and playback error reporting. - `dramas`: admin drama and episode configuration, app published content listing. - `auth`: TikTok login placeholder that returns a business JWT. - `orders`: paid episode orders, TikTok payment webhook, and playback unlock checks. - `admin`: admin login, RBAC permissions, roles, and admin user management. - `users`: app user listing, detail, and status management for admins. ## Commands ```bash pnpm install pnpm run start:dev pnpm run build pnpm run test:e2e ``` Swagger is available at: ```text http://localhost:3000/api/docs ``` Default admin account for local development: ```text username: admin password: admin123 ``` ## Notes - The project currently uses in-memory services so the API contract can be developed and tested before MySQL credentials are available. - TypeORM entity classes are included for the planned MySQL persistence layer. - Replace the TikTok login placeholder with official TikTok Minis login exchange once app credentials are ready.