Я хотел бы позволить пользователям загружать файлы в центральный репозиторий 'org', хранящийся в корзине Firebase Storage. К сожалению, я не могу написать пользовательское правило, необходимое для использования клиентского SDK для всех пользователей для доступа к их документам org, поэтому я должен пройти через облачные функции Firebase для загрузки и скачивания файлов.
Когда я хочуЧтобы загрузить файл из облачных функций, я сначала должен передать файл от клиента в облачные функции.
Пока я пытался передать файл в виде простого объекта, но он, очевидно, не работает.
// Client firebase clouf function
const addFile = this.func.functions.httpsCallable('addFile');
const file = event.target.files[0];
addFile({file, meta, path})
.then( r => {
resolve(r);
})
.catch( e => {
resolve(e);
});
// in the cloud function when I perform
console.log(data.file);
// I receive a {} log...
Кто-нибудь знает, как это сделать?
РЕДАКТИРОВАТЬ
Я наконец решил пойти по этому пути:
установить пользовательский токен заявки, когда пользователь получает доступ к определенному представлению, в котором мне нужна некоторая группа файлов: https://firebase.google.com/docs/auth/admin/custom-claims
хранение всех файлов в обычном хранилище и загрузка / выгрузкаих только когда request.auth.token.customToken == uniqueBucketID