add getEventContext to ClientController
This commit is contained in:
parent
3429a3ed98
commit
7d8505bdf1
3 changed files with 44 additions and 0 deletions
|
|
@ -12,6 +12,7 @@ import "package:nexus/helpers/extensions/gomuks_buffer.dart";
|
||||||
import "package:nexus/models/capabilities.dart";
|
import "package:nexus/models/capabilities.dart";
|
||||||
import "package:nexus/models/content/message.dart";
|
import "package:nexus/models/content/message.dart";
|
||||||
import "package:nexus/models/event.dart";
|
import "package:nexus/models/event.dart";
|
||||||
|
import "package:nexus/models/event_context.dart";
|
||||||
import "package:nexus/models/gomuks_config.dart";
|
import "package:nexus/models/gomuks_config.dart";
|
||||||
import "package:nexus/models/oauth_auth_code_response.dart";
|
import "package:nexus/models/oauth_auth_code_response.dart";
|
||||||
import "package:nexus/models/open_graph_data.dart";
|
import "package:nexus/models/open_graph_data.dart";
|
||||||
|
|
@ -19,6 +20,7 @@ import "package:nexus/models/paginate.dart";
|
||||||
import "package:nexus/models/requests/deregister_pusher.dart";
|
import "package:nexus/models/requests/deregister_pusher.dart";
|
||||||
import "package:nexus/models/requests/download_media.dart";
|
import "package:nexus/models/requests/download_media.dart";
|
||||||
import "package:nexus/models/requests/get_event.dart";
|
import "package:nexus/models/requests/get_event.dart";
|
||||||
|
import "package:nexus/models/requests/get_event_context.dart";
|
||||||
import "package:nexus/models/requests/get_mentions.dart";
|
import "package:nexus/models/requests/get_mentions.dart";
|
||||||
import "package:nexus/models/requests/get_related_events.dart";
|
import "package:nexus/models/requests/get_related_events.dart";
|
||||||
import "package:nexus/models/requests/get_room_state.dart";
|
import "package:nexus/models/requests/get_room_state.dart";
|
||||||
|
|
@ -227,6 +229,9 @@ class ClientController extends AsyncNotifier<int> {
|
||||||
Future<Paginate> paginate(PaginateRequest request) async =>
|
Future<Paginate> paginate(PaginateRequest request) async =>
|
||||||
.fromJson(await _sendCommand("paginate", request.toJson()));
|
.fromJson(await _sendCommand("paginate", request.toJson()));
|
||||||
|
|
||||||
|
Future<EventContext> getEventContext(GetEventContextRequest request) async =>
|
||||||
|
.fromJson(await _sendCommand("get_event_context", request.toJson()));
|
||||||
|
|
||||||
Future<ProfileResponse> getProfile(String userId) async {
|
Future<ProfileResponse> getProfile(String userId) async {
|
||||||
try {
|
try {
|
||||||
return .fromJson(await _sendCommand("get_profile", {"user_id": userId}));
|
return .fromJson(await _sendCommand("get_profile", {"user_id": userId}));
|
||||||
|
|
|
||||||
22
lib/models/event_context.dart
Normal file
22
lib/models/event_context.dart
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
import "package:fast_immutable_collections/fast_immutable_collections.dart";
|
||||||
|
import "package:freezed_annotation/freezed_annotation.dart";
|
||||||
|
import "package:nexus/models/event.dart";
|
||||||
|
|
||||||
|
part "event_context.freezed.dart";
|
||||||
|
part "event_context.g.dart";
|
||||||
|
|
||||||
|
@Freezed(toJson: false, fromJson: false)
|
||||||
|
@JsonSerializable()
|
||||||
|
class const EventContext({
|
||||||
|
required final IList<Event> events,
|
||||||
|
required final IList<Event> before,
|
||||||
|
required final IList<Event> after,
|
||||||
|
required final String start,
|
||||||
|
required final String end,
|
||||||
|
final IList<Event> relatedEvents = const IList.empty(),
|
||||||
|
}) with _$EventContext {
|
||||||
|
Map<String, Object?> toJson() => _$EventContextToJson(this);
|
||||||
|
|
||||||
|
factory EventContext.fromJson(Map<String, Object?> json) =>
|
||||||
|
_$EventContextFromJson(json);
|
||||||
|
}
|
||||||
17
lib/models/requests/get_event_context.dart
Normal file
17
lib/models/requests/get_event_context.dart
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
import "package:freezed_annotation/freezed_annotation.dart";
|
||||||
|
|
||||||
|
part "get_event_context.freezed.dart";
|
||||||
|
part "get_event_context.g.dart";
|
||||||
|
|
||||||
|
@Freezed(toJson: false, fromJson: false)
|
||||||
|
@JsonSerializable()
|
||||||
|
class const GetEventContextRequest({
|
||||||
|
required final String roomId,
|
||||||
|
required final String eventId,
|
||||||
|
required final int limit,
|
||||||
|
}) with _$GetEventContextRequest {
|
||||||
|
Map<String, Object?> toJson() => _$GetEventContextRequestToJson(this);
|
||||||
|
|
||||||
|
factory GetEventContextRequest.fromJson(Map<String, Object?> json) =>
|
||||||
|
_$GetEventContextRequestFromJson(json);
|
||||||
|
}
|
||||||
Loading…
Reference in a new issue