Мне нужно создать REST API для грубых операций с данными в Google Firestore.
API1: список документов коллекции или чтение конкретного документа
API2: создание нового документа в коллекции
API3: обновить документ
API4: Удалить документ
Несколько приложений будут использовать один и тот же проект Firestore.
- Имя базовой коллекции: MyCompany
- Дополнительный документ: MyApp1
- Имя вложенной коллекции: ErrorMessage
- Поддокумент: {"error": "Unauthorized"}
Данные Firestore выглядят так:
- MyCompany.MyApp1.ErrorMessage
- MyCompany.MyApp2.ReferalCodes
- MyCompany.MyApp3.AnotherCollection
Все приложения должны использовать один и тот же экземпляр firestore, но иметь доступ только к своим соответствующим коллекциям.
Я планирую добавить параметр запроса в заголовок ("appidentifier": "MyApp1"), чтобы определить, из какого приложения поступил запрос.
Требования (через вызов API):
- одно приложение не должно получать доступ к коллекции / данным других приложений
- необходимо ограничить разрешения, так как app1 может только читать данные, app2 может выполнять чтение и запись.
Запросы / Вопросы:
- какой модуль узла подойдет для этого (firebase-admin или firebase или @ google-cloud / firestore)
- Нужно ли нам создавать и управлять несколькими экземплярами клиента firestore? (экземпляр администратора или клиента)?
- Дайте некоторое представление о том, как мы можем управлять правилами и экземпляром клиента firestore ..