VRFS-5222 asset upload api
* migration file
* asset upload api wip
* /api/user_assets
this api endpoint is used to upload and query user_assets.
for uploads send following parameters..
- asset_type
- filename
- recording_id (optional)
- session_id (optional)
- ext_id (optional)
the api provides json response with signed url to aws s3
the same api endpoint is used to query uploaded user assets.
Following query parameters are supported.
- id
- ext_id
- recording_id + asset_type
- session_id + asset_type
* delete unused asset_uploader
* for user_asset uploads use aws_bucket
* db migration to add index on user_id of user_assets table
Approved-by: Seth Call
configure bundler to use Gemfile.alt when bundling gems specifically
in newer OSs like apple m1. for thiw one can use BUNDLER_GEMFILE env variable
or add gemfile config entry to ./bundle/config
VRFS-5128 report for ad campaigns
* Ad campaign report
add new admin report for monitor and analyze the results
from a variety of paid campaigns
* reload report after updating values using best_in_place
* add users first_subscribed_plan_code
use this new column in ad campaigns report to filter by
subscription plan
* set first_subscribed_plan_code in recurly subscription creation
* set correct value for first_subscribed_plan_code
change calculation of MusicSessionUserHistory.duration_minutes to
exactly get the number of minutes overlapped with other user sessions.
previously it returned the entire music session time if a other user
joined in and left without staying compleyely within the session.
this commit also fixs an edge case of the query in
MusicSessionUserHistory.overlapping_connections