Moved notification handling to serverside
This commit is contained in:
@ -6,11 +6,11 @@ import 'package:flowder/flowder.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:jiffy/jiffy.dart';
|
||||
import 'package:marianum_mobile/widget/centeredLeading.dart';
|
||||
import 'package:path_provider/path_provider.dart';
|
||||
|
||||
import '../../../api/marianumcloud/webdav/queries/listFiles/cacheableFile.dart';
|
||||
import '../../../api/marianumcloud/webdav/webdavApi.dart';
|
||||
import '../../../widget/centeredLeading.dart';
|
||||
import '../../../widget/confirmDialog.dart';
|
||||
import '../../../widget/fileViewer.dart';
|
||||
import '../../../widget/unimplementedDialog.dart';
|
||||
|
@ -1,18 +1,9 @@
|
||||
|
||||
import 'dart:convert';
|
||||
import 'dart:developer';
|
||||
import 'package:http/http.dart' as http;
|
||||
|
||||
import 'package:crypto/crypto.dart';
|
||||
import 'package:fast_rsa/fast_rsa.dart';
|
||||
import 'package:firebase_messaging/firebase_messaging.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:persistent_bottom_nav_bar/persistent_tab_view.dart';
|
||||
import 'package:share_plus/share_plus.dart';
|
||||
|
||||
import '../../../model/endpointData.dart';
|
||||
import '../../../widget/ListItem.dart';
|
||||
import '../../../widget/debug/debugTile.dart';
|
||||
import '../../settings/settings.dart';
|
||||
import 'gradeAverages/gradeAverage.dart';
|
||||
import 'holidays/holidays.dart';
|
||||
@ -38,6 +29,7 @@ class Overhang extends StatelessWidget {
|
||||
const ListItemNavigator(icon: Icons.room, text: "Raumplan", target: Roomplan()),
|
||||
const ListItemNavigator(icon: Icons.calculate, text: "Notendurschnittsrechner", target: GradeAverage()),
|
||||
const ListItemNavigator(icon: Icons.calendar_month, text: "Schulferien", target: Holidays()),
|
||||
const Divider(),
|
||||
ListTile(
|
||||
leading: const Icon(Icons.share_outlined),
|
||||
title: const Text("Teile die App"),
|
||||
@ -56,41 +48,6 @@ class Overhang extends StatelessWidget {
|
||||
);
|
||||
},
|
||||
),
|
||||
DebugTile(context, onlyInDebug: true).callback(onTab: () async {
|
||||
log("Starting");
|
||||
log("Generate keys");
|
||||
final rsaKey = await RSA.generate(2048);
|
||||
final devicePrivateKey = rsaKey.privateKey.toString();
|
||||
final devicePublicKey = rsaKey.publicKey.toString();
|
||||
log("Private: \n$devicePrivateKey");
|
||||
log("Public: \n$devicePublicKey");
|
||||
final pushToken = await FirebaseMessaging.instance.getToken();
|
||||
log("PushToken: $pushToken}");
|
||||
final pushTokenHash = sha512.convert(utf8.encode(pushToken!));
|
||||
log("PushTokenHash: $pushTokenHash");
|
||||
|
||||
final requestMap = {
|
||||
"format": "json",
|
||||
"pushTokenHash": pushTokenHash.toString(),
|
||||
"devicePublicKey": devicePublicKey.replaceAll("\n", "").replaceAll("-----END RSA PUBLIC KEY-----", "").replaceAll("-----BEGIN RSA PUBLIC KEY-----", "").toString(),
|
||||
"proxyServer": "https://push-notifications.nextcloud.com/devices"
|
||||
};
|
||||
|
||||
log(jsonEncode(requestMap));
|
||||
http.post(
|
||||
//${AccountData().buildHttpAuthString()}@
|
||||
Uri.parse("https://${EndpointData().nextcloud().full()}/ocs/v2.php/apps/notifications/api/v2/push"),
|
||||
headers: {
|
||||
"OCS-APIRequest": "true",
|
||||
"Content-Type": "application/json",
|
||||
"Accept": "application/json",
|
||||
"Authorization": "Bearer Fv3g7g9jW91FXNjZLaJmyprClfy8pX1jEM3hJGbXjPEFcx4oGIEVcpwEnuT4mPs39D9xT063"
|
||||
},
|
||||
body: jsonEncode(requestMap),
|
||||
).then((response) {
|
||||
log("Response: ${response.statusCode}\n${response.body}");
|
||||
});
|
||||
}),
|
||||
],
|
||||
),
|
||||
);
|
||||
|
Reference in New Issue
Block a user