importScripts('https://www.gstatic.com/firebasejs/8.2.0/firebase-app.js'); importScripts('https://www.gstatic.com/firebasejs/8.2.0/firebase-messaging.js'); importScripts('./assets/dexie/dist/dexie.js'); // Initialize the Firebase app in the service worker by passing the generated config var firebaseConfig = { apiKey: "AIzaSyAAdHmTFznCMerdT99nrewJgISRvtxPqoY", authDomain: "gabinete-digital-2020.firebaseapp.com", databaseURL: "https://gabinete-digital-2020.firebaseio.com", projectId: "gabinete-digital-2020", storageBucket: "gabinete-digital-2020.appspot.com", messagingSenderId: "800733765231", appId: "1:800733765231:web:28e7792ab150006513779a", measurementId: "G-8QN4BLZ8XK" }; firebase.initializeApp(firebaseConfig); // Retrieve firebase messaging const messaging = firebase.messaging(); messaging.onBackgroundMessage(function(payload) { // console.log('Received background message 22 ', payload); const notificationTitle = payload.notification.title; const notificationOptions = { body: payload.notification.body, }; /* self.registration.showNotification(notificationTitle, notificationOptions); */ }); self.addEventListener('install', function(event) { self.skipWaiting(); // console.log('Installed', event); }); self.addEventListener('activate', function(event) { // console.log('Activated', event); }); self.addEventListener('push', function(event) { var uid = "EXISTS_IN_CORE.JS"; var token = "ALSO_EXISTS_IN_CORE.JS"; // console.log("Push recieved - we need to know the uid and token here, from core.js"); }); self.addEventListener('message', function(event){ // var data = JSON.parse(event.data); // console.log("SW Received Message:"); console.log(event.data); }); /* self.addEventListener('notificationclick', function(event) { console.log("Push Clicked ", event); // Enviar uma mensagem para o cliente (componente) self.clients.matchAll().then((clients) => { console.log("Push Clicked 2", clients); if (clients && clients.length) { clients.forEach((client) => { client.postMessage({ notificationClicked: true }); }); } }); }); */ // Define the schema using a plain object (similar to zod schema in TypeScript) const tableSharedCalendarSchema = { wxUserId: 'number', wxFullName: 'string', wxeMail: 'string', role: 'string', roleId: 'number', shareType: 'number', startDate: 'string', endDate: 'string' }; // Database declaration const AgendaDataSource = new Dexie('AgendaDataSource'); // Define the database schema AgendaDataSource.version(1).stores({ shareCalendar: '++wxUserId, wxFullName, wxeMail, role, roleId, shareType, startDate, endDate' }); // Define the table schema using Dexie.js' Table interface (optional) const shareCalendarTable = AgendaDataSource.table('shareCalendar'); (async()=> { console.log(await shareCalendarTable.toArray()) })(); // setInterval(()=>{ // shareCalendarTable.add({ // wxUserId: new Date().getTime(), // wxFullName: "3-", // wxeMail: "SessionStore.user.Email", // role: "SessionStore.user.RoleDescription", // roleId: "SessionStore.user.RoleID", // shareType: 3, // date: '', // }) // }, 1000)