[x] Define two new variables in .env: one for locating the Gcloud service account credential JSON file (should be an absolute path, presumably pointing into storage/), and one providing the GCS URL prefix to use for uploading. (At the bare minimum it should be gs://bucket-name/ but can optionally specify a subfolder.)
[x] Add an internal object to GcloudStorageService as a dependency to communicate with GCS. Verify that the prefix provided via .env is valid and prevent application boot otherwise. This probably will involve fiddling with service providers.
Nice bonus would be to implement the currently stubbed GcloudStorageService@delete method which otherwise currently is left hanging because the API doesn't expose a deletion flow apart from uploads.cancel, but if not this can be postponed to #6 and/or #19.
Defining other methods on GcloudStorageService, even as stubs, for now is out of scope; we can implement them along the way when doing actual user-facing functionality.
Defining the mapping between upload intents and GCS URLs is probably better suited to be part of #4, so I'll post it there.
This blocks most other items (primarily upload management, which in turn blocks indexing etc.)
Requirements:
storage/
), and one providing the GCS URL prefix to use for uploading. (At the bare minimum it should begs://bucket-name/
but can optionally specify a subfolder.)Nice bonus would be to implement the currently stubbed
GcloudStorageService@delete
method which otherwise currently is left hanging because the API doesn't expose a deletion flow apart fromuploads.cancel
, but if not this can be postponed to #6 and/or #19.Defining other methods on GcloudStorageService, even as stubs, for now is out of scope; we can implement them along the way when doing actual user-facing functionality.
Defining the mapping between upload intents and GCS URLs is probably better suited to be part of #4, so I'll post it there.
This blocks most other items (primarily upload management, which in turn blocks indexing etc.)