This commit is contained in:
Peter Maquiran
2023-02-03 19:37:47 +01:00
parent 065fc517ae
commit 6ff883c982
17 changed files with 871 additions and 169 deletions
+49 -31
View File
@@ -13,7 +13,7 @@ import { SessionStore } from '../store/session.service';
import { ActionPerformed, PushNotificationSchema, PushNotifications, Token, } from '@capacitor/push-notifications';
import { notificationObject } from '../models/notifications';
import { v4 as uuidv4 } from 'uuid'
import { Capacitor } from '@capacitor/core';
@Injectable({
providedIn: 'root'
})
@@ -31,6 +31,7 @@ export class NotificationsService {
}} = {}
active = false
isPushNotificationsAvailable = Capacitor.isPluginAvailable('PushNotifications');
constructor(
private http: HttpClient,
@@ -85,44 +86,53 @@ export class NotificationsService {
}
requestPermissions() {
PushNotifications.requestPermissions().then(result => {
if (result.receive === 'granted') {
// Register with Apple / Google to receive push via APNS/FCM
PushNotifications.register();
} else {
// Show some error
}
});
if(!this.isPushNotificationsAvailable) {
return false
}
PushNotifications.requestPermissions().then(result => {
if (result.receive === 'granted') {
// Register with Apple / Google to receive push via APNS/FCM
PushNotifications.register();
} else {
// Show some error
}
});
}
getAndpostToken(username) {
if (this.platform.is('desktop') || this.platform.is('mobileweb')) {
} else {
const geturl = environment.apiURL + 'notifications/token';
PushNotifications.addListener('registration',
(token: Token) => {
const headers = { 'Authorization': SessionStore.user.BasicAuthKey };
const body = {
UserId: SessionStore.user.UserId,
TokenId: token.value,
Status: 1,
Service: 1
};
if(!this.isPushNotificationsAvailable) {
return false
}
this.http.post<Tokenn>(`${geturl}`, body, { headers }).subscribe(data => {
this.active = true
console.log(data)
}, (error) => {
console.log(error)
})
}
);
}
const geturl = environment.apiURL + 'notifications/token';
PushNotifications.addListener('registration',
(token: Token) => {
const headers = { 'Authorization': SessionStore.user.BasicAuthKey };
const body = {
UserId: SessionStore.user.UserId,
TokenId: token.value,
Status: 1,
Service: 1
};
this.http.post<Tokenn>(`${geturl}`, body, { headers }).subscribe(data => {
this.active = true
console.log(data)
}, (error) => {
console.log(error)
})
}
);
}
registrationError() {
if(!this.isPushNotificationsAvailable) {
return false
}
PushNotifications.addListener('registrationError',
(error: any) => {
this.active = false
@@ -131,6 +141,10 @@ export class NotificationsService {
}
onReciveForeground() {
if(!this.isPushNotificationsAvailable) {
return false
}
console.log('foregrund');
PushNotifications.addListener('pushNotificationReceived',
(notification: PushNotificationSchema) => {
@@ -158,6 +172,10 @@ export class NotificationsService {
}
onReciveBackground() {
if(!this.isPushNotificationsAvailable) {
return false
}
console.log('fbackgrund');
PushNotifications.addListener('pushNotificationActionPerformed',
(notification: ActionPerformed) => {