Telegram: https://t.me/+DOylgFv1jyJlNzM0
Why this matters
In backend/src/routes/v1/stream.routes.ts the OpenAPI @openapi block for /v1/streams/{streamId}/cancel sits directly above the top-up route registration:
/**
* @openapi
* /v1/streams/{streamId}/cancel: ...
*/
router.post('/:streamId/top-up', authMiddleware, topUpStreamHandler);
router.post('/:streamId/cancel', authMiddleware, cancelStreamHandler as any);
So the generated docs attribute the cancel spec to the wrong route, and POST /v1/streams/{streamId}/top-up has no OpenAPI documentation at all (the real cancel doc lives in controllers/stream/cancel.ts).
Acceptance criteria
Files to touch
backend/src/routes/v1/stream.routes.ts
Out of scope
- The cancel handler doc in
controllers/stream/cancel.ts (already correct).
Telegram: https://t.me/+DOylgFv1jyJlNzM0
Why this matters
In
backend/src/routes/v1/stream.routes.tsthe OpenAPI@openapiblock for/v1/streams/{streamId}/cancelsits directly above the top-up route registration:So the generated docs attribute the cancel spec to the wrong route, and
POST /v1/streams/{streamId}/top-uphas no OpenAPI documentation at all (the real cancel doc lives incontrollers/stream/cancel.ts).Acceptance criteria
@openapiblock forPOST /v1/streams/{streamId}/top-up(request body:{ amount: string }, 200/400/401/403/404 responses)@openapiblock so it doesn't sit above the top-up route/api-docs.jsonshows both top-up and cancel correctlyFiles to touch
backend/src/routes/v1/stream.routes.tsOut of scope
controllers/stream/cancel.ts(already correct).