Summary
Hand off control of a live stream from one host to another mid-stream.
Requirements
- POST { stream_id, from_user_id, to_user_id } -> { handed_off_at }
- Validate to_user_id is in the hosts list
- Log handoff history
- GET ?stream_id returns handoff log
- Tests cover successful handoff and unauthorized requester
Scope Constraint - READ BEFORE STARTING
All files for this task must live inside app/api/routes-f/. This includes the route handler, helpers/utilities, types, and tests. Do NOT modify, import from, or add files to lib/, utils/, types/, components/, or anywhere else outside app/api/routes-f/. If you need shared logic, duplicate it inside your subfolder. Keeping everything scoped to this folder is intentional - it keeps these tasks independent and mergeable in any order.
Product Context
StreamFi is a blockchain-powered live streaming platform. Streamers broadcast via Mux, viewers tip in Stellar XLM/USDC, creators have stream privacy modes (public/unlisted/subscribers-only). Build these issues as practice implementations - use realistic data shapes that match the platform domain, but do not import from the real app code.
Summary
Hand off control of a live stream from one host to another mid-stream.
Requirements
Scope Constraint - READ BEFORE STARTING
All files for this task must live inside app/api/routes-f/. This includes the route handler, helpers/utilities, types, and tests. Do NOT modify, import from, or add files to lib/, utils/, types/, components/, or anywhere else outside app/api/routes-f/. If you need shared logic, duplicate it inside your subfolder. Keeping everything scoped to this folder is intentional - it keeps these tasks independent and mergeable in any order.
Product Context
StreamFi is a blockchain-powered live streaming platform. Streamers broadcast via Mux, viewers tip in Stellar XLM/USDC, creators have stream privacy modes (public/unlisted/subscribers-only). Build these issues as practice implementations - use realistic data shapes that match the platform domain, but do not import from the real app code.