✨ [FEATURE]: Add arbitrary file upload to Promo application(s)
This milestone tracks the collection of items related to giving users the ability to upload arbitrary files for their campaigns.
That includes updates to the promo-node, promo-button, application clients, promo-api and promo-dashboard code bases.
Outline
Clients will be able to upload additional files within the Promo Button. The button will display a link to these files, which will download on click.
The files will be stored in AWS s3 buckets with the approximate URL <promo-unique-url>/<campaign-pid>/<random-hash>.<ext>.
Our Promo Node library will provide client applications code to create this bucket given the File object, its bytes, and the campaign id, plus some environment variables for interfacing with AWS's s3 SDK.
The Promo Dashboard will display these files per-campaign in the campaign detail view.
The client apps will provide an api route that the Promo Button component will use to upload file chunks.