🚧
Firebase Firestore Rules TestのTimestampに関する注意点
Firebase Firestore Rulesはシミュレータを使ってテストを行うことが出来ます。
この際に使用すべきTimesampと、そうしなかった場合のエラーについて記録します。
@firebase/testing
こちらが、シミュレータ使用時に使うべきTimestamp型です。
import * as ftest from '@firebase/testing';
ftest.firestore.Timestamp.now();
firebase
こちらを利用した場合には、エラーが発生します。
import * as firebase from 'firebase';
firebase.firestore.Timestamp.now();
FirebaseError: Function DocumentReference.set() called with invalid data. Unsupported field value: a custom Timestamp object
firebase-admin
また、こちらを利用した場合にもエラーが発生します。
import * as admin from 'firebase-admin';
admin.firestore.Timestamp.now();
FirebaseError: Function DocumentReference.set() called with invalid data. Unsupported field value: a custom object
Discussion