[keyserver] Support external blobs in uploads table
Summary:
Part of ENG-3530.
- Added possibility of storing blobHolder in the extra column of the uploads table.
- Having this value requires the content column to be empty (for consistency - data is stored either on keyserver or Blob service).
- Fetching uploads from keyserver url should return resource_unavailable error if the blobHolder is set.
Depends on D7617
Test Plan:
- Repeated test plan from two previous diffs, this time updated the DB columns directly instead of artifically hardcoding blob URIs.
- Also tried to fetch external upload with http://KEYSERVER_ADDR/uploads/{id}/{secret} - ensured that resource_unavailable error is thrown.
- DB Insertion will be tested in further diffs.
Reviewers: atul, marcin, inka, ashoat
Reviewed By: ashoat
Subscribers: ashoat, tomek
Differential Revision: https://phab.comm.dev/D7618