/*
 * Tugas Besar 3 WBD - AMEN
 */

'use strict'

const admin = require('firebase-admin')

// Initialize Firebase.
let serviceAccount = require(`../../${process.env.FIREBASE_CERT}`)
admin.initializeApp({ credential: admin.credential.cert(serviceAccount) })

let messaging = admin.messaging()

let db = {}

module.exports = {
  register (id, token) {
    db[id] = token
  },

  unregister (id) {
    delete db[id]
  },

  async sendAsync (id, message) {
    await messaging.sendToDevice(db[id], {
      notification: {
        body: message
      }
    })
  }
}