O SDK do administrador não pode definir configurações para o Firestore
Então, eu recebi esse aviso recentemente:
O comportamento dos objetos Date armazenados no Firestore vai mudar E SEU APP PODE QUEBRAR. Para ocultar esse aviso e garantir que seu aplicativo não seja interrompido, você deve adicionar o seguinte código ao aplicativo antes de chamar qualquer outro método do Cloud Firestore:
const firestore = new Firestore();
const settings = {/* your settings... */ timestampsInSnapshots: true};
firestore.settings(settings);
Com essa alteração, os carimbos de data e hora armazenados no Cloud Firestore serão lidos novamente como objetos de carimbo de data / hora do Firebase em vez de como objetos de data do sistema. Portanto, você também precisará atualizar o código esperando uma Data para esperar um carimbo de data e hora. Por exemplo:
// Old:
const date = snapshot.get('created_at');
// New:
const timestamp = snapshot.get('created_at');
const date = timestamp.toDate();
Verifique todos os usos existentes do Date quando você ativar o novo comportamento. Em uma versão futura, o comportamento mudará para o novo comportamento; portanto, se você não seguir estas etapas, SEU APP PODE QUEBRAR.
Estou tentando implementar a correção sugerida no SDK do administrador no meu código do Cloud Functions, pois a maior parte do que estou fazendo é por lá.
Eu tentei usaradmin.firestore().settings({ timestampsInSnapshots: true })
mas recebeu o seguinte aviso:
admin.firestore (...). settings não é uma função
Como eu resolvo isso?