Watch
1
0
Fork
You've already forked nexus
0
forked from Nexus/nexus

add wip deregistering

This commit is contained in:
Henry Hiles 2026-08-26 16:27:43 -04:00
commit 129f0794f2
Signed by: Henry-Hiles
SSH key fingerprint: SHA256:VKQUdS31Q90KvX7EkKMHMBpUspcmItAh86a+v7PGiIs
7 changed files with 113 additions and 40 deletions

View file

@ -22,6 +22,7 @@ import "package:nexus/models/event.dart";
import "package:nexus/models/oauth_auth_code_response.dart";
import "package:nexus/models/open_graph_data.dart";
import "package:nexus/models/paginate.dart";
import "package:nexus/models/requests/deregister_pusher.dart";
import "package:nexus/models/requests/download_media.dart";
import "package:nexus/models/requests/get_event.dart";
import "package:nexus/models/requests/get_related_events.dart";
@ -178,12 +179,14 @@ class ClientController extends AsyncNotifier<int> {
return json;
}
Future<Event> handlePush(Map<String, dynamic> data) async => .fromJson(
await callGomuksMethod(
Future<Event?> handlePush(Map<String, dynamic> data) async {
final response = await callGomuksMethod(
data,
(handle, data) async => GomuksHandlePush(handle, data),
),
);
);
return response == null ? null : .fromJson(response);
}
Future<dynamic> _sendCommand(
String command, [
@ -293,6 +296,12 @@ class ClientController extends AsyncNotifier<int> {
Future<void> registerPusher(RegisterPusherRequest request) =>
_sendCommand("register_homeserver_push", request.toJson());
Future<void> deregisterPusher(DeregisterPusherRequest request) =>
_sendCommand("register_homeserver_push", {
...request.toJson(),
"kind": null,
});
Future<MessageContent> uploadMedia(UploadMediaRequest request) async =>
.fromJson(await _sendCommand("upload_media", request.toJson()));