/*********************************************************************************************************************************************************************** * File Name: media.controller.js (client) * Type of Program: Controller * Description: Secure media delivery for S3/Garage assets only. * * Chibisafe assets use their raw file_url directly — no token needed. * The block content already has the URL saved at CMS time (handleSelect). * * S3 Flow: * 1. POST /client/media/token { asset_id } * → validates tier access * → signs JWT with user_id + IP binding * → returns { token, provider: "s3", file_type } * * 2. Browser sets