Files
doneit-web/src/firebase-messaging-sw.js
T
Peter Maquiran fea0279ad7 Melhorias
Alterar a ordem de apresentação do pop up sobre a recorrencia - Apresentar logo após o click no botão de edição do evento;
A app não envia o comentario na revisão de eventos;
Ao remover a recorrência do evento a app não remove os eventos da Agenda
2024-07-02 14:15:06 +01:00

116 lines
3.2 KiB
JavaScript

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)