mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-23 09:16:38 +00:00
Improve readability, add data support to callbacks, remove notification from the type
This commit is contained in:
parent
078248e6b2
commit
5bb5d6800c
@ -5,7 +5,11 @@ self.addEventListener("push", function(event) {
|
|||||||
event.waitUntil(
|
event.waitUntil(
|
||||||
self.registration.showNotification(data.title, data)
|
self.registration.showNotification(data.title, data)
|
||||||
.then(function(notification){
|
.then(function(notification){
|
||||||
firePushCallback({type: "push", tag: data.tag}, data.data.jwt);
|
firePushCallback({
|
||||||
|
type: "push",
|
||||||
|
tag: data.tag,
|
||||||
|
data: data.data
|
||||||
|
}, data.data.jwt);
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -51,16 +55,23 @@ self.addEventListener('notificationclose', function(event) {
|
|||||||
|
|
||||||
function notificationEventCallback(event){
|
function notificationEventCallback(event){
|
||||||
firePushCallback({
|
firePushCallback({
|
||||||
type: event.type,
|
action: event.action,
|
||||||
|
data: event.notification.data,
|
||||||
tag: event.notification.tag,
|
tag: event.notification.tag,
|
||||||
action: event.action
|
type: event.type.replace("notification", "")
|
||||||
}, event.notification.data.jwt);
|
}, event.notification.data.jwt);
|
||||||
}
|
}
|
||||||
function firePushCallback(data, jwt){
|
function firePushCallback(payload, jwt){
|
||||||
|
// Don't send the JWT in the payload.data
|
||||||
|
delete payload.data.jwt;
|
||||||
|
// If payload.data is empty then just remove the entire payload.data object.
|
||||||
|
if (Object.keys(payload.data).length === 0 && payload.data.constructor === Object) {
|
||||||
|
delete payload.data;
|
||||||
|
}
|
||||||
fetch('/api/notify.html5/callback', {
|
fetch('/api/notify.html5/callback', {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: new Headers({'Content-Type': 'application/json',
|
headers: new Headers({'Content-Type': 'application/json',
|
||||||
'Authorization': 'Bearer '+jwt}),
|
'Authorization': 'Bearer '+jwt}),
|
||||||
body: JSON.stringify(data)
|
body: JSON.stringify(payload)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user