Firebase Admin с базой данных в TypeScript - PullRequest
2 голосов
/ 31 января 2020

Я использую Firebase Admin SDK. Он также предлагает использовать База данных Firebase в качестве администратора.

Определение типа для созданного приложения администратора Firebase выглядит следующим образом:

import * as firebaseAdmin from 'firebase-admin';

export type FirebaseContext = {
  firebaseAdmin: firebaseAdmin.app.App;
};

Пока все работает хорошо. Однако, если я использую функцию TIMESTAMP в Firebase, она выдает ошибку типа:

firebaseAdmin.database.ServerValue.TIMESTAMP

// Property 'ServerValue' does not exist on type '(url?: string | undefined) => Database'.ts(2339)

Следует сказать, что экземпляр firebaseAdmin приходит в качестве аргумента функции и поэтому определяется как FirebaseContext.firebaseAdmin из более раннего.

Итак, я что-то не так сделал с более ранним определением типа? Потому что, если я не передам экземпляр firebase через аргументы функции, а импортирую его непосредственно из модуля, он не будет жаловаться на определение типа. Так что должно быть что-то не так с type FirebaseContext.

Спасибо за ваше время и помощь.

1 Ответ

1 голос
/ 31 января 2020

Насколько я понимаю, вы сейчас пытаетесь получить объект database.ServerValue.TIMESTAMP из экземпляра FirebaseApp. Но объект фактически определяется в глобальном firebase, а не в экземпляре приложения. Таким образом, вам придется явно импортировать firebase / admin и вызывать database.ServerValue.TIMESTAMP на , что , то есть firebase.database.ServerValue.TIMESTAMP или admin.database.ServerValue.TIMESTAMP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...