FirebaseのFunctionsをTimerを使って動かし、Firestoreのデータを操作する

Firebaseを使って簡単なシステム構築をしています。「特定の時間にデータをクリアしたい」という要件を満たすためにFirebaseのFunctionsを使ってみました。

以下は昼の12時30分にoffersというコレクションにあるドキュメントすべてを削除するfunctionです。

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();

exports.clearoffers = functions.pubsub.schedule('30 12 * * *')
  .timeZone('Asia/Tokyo').onRun(async (context) => {
    const r = await admin.firestore().collection('offers').listDocuments().then(val => {
      val.map((val) => {
        val.delete()
      })
    })
  });

ネット上にはいろいろな情報がありますが、以下のURLのサンプルがとても参考になりました。
https://github.com/firebase/functions-samples

最初のとっかかりは以下のURLを参考にしました。
https://firebase.google.com/docs/functions/get-started?hl=ja

以下のチュートリアルまだ試していませんが良さそうです。
https://codelabs.developers.google.com/codelabs/firebase-cloud-functions/#0