add most models needed for invites
This commit is contained in:
parent
f741a6790d
commit
0df2d8f78b
7 changed files with 61 additions and 4 deletions
|
|
@ -25,6 +25,7 @@ import "package:nexus/models/requests/get_event_context.dart";
|
|||
import "package:nexus/models/requests/get_mentions.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_summary.dart";
|
||||
import "package:nexus/models/requests/join_room.dart";
|
||||
import "package:nexus/models/profile_response.dart";
|
||||
import "package:nexus/models/requests/oauth/exchange_token.dart";
|
||||
|
|
@ -188,7 +189,7 @@ class ClientController extends AsyncNotifier<int> {
|
|||
Future<String> joinRoom(JoinRoomRequest request) async =>
|
||||
(await _sendCommand("join_room", request.toJson()))["room_id"];
|
||||
|
||||
Future<RoomSummary> getRoomSummary(JoinRoomRequest request) async =>
|
||||
Future<RoomSummary> getRoomSummary(GetRoomSummary request) async =>
|
||||
.fromJson(await _sendCommand("get_room_summary", request.toJson()));
|
||||
|
||||
Future<void> leaveRoom(Room room) async {
|
||||
|
|
|
|||
15
lib/controllers/invited_rooms.dart
Normal file
15
lib/controllers/invited_rooms.dart
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
import "package:fast_immutable_collections/fast_immutable_collections.dart";
|
||||
import "package:flutter_riverpod/flutter_riverpod.dart";
|
||||
import "package:nexus/models/invited_room.dart";
|
||||
|
||||
class InvitedRoomsController extends Notifier<IList<InvitedRoom>> {
|
||||
@override
|
||||
IList<InvitedRoom> build() => .new();
|
||||
|
||||
void set(IList<InvitedRoom> newState) => state = newState;
|
||||
|
||||
static final provider =
|
||||
NotifierProvider<InvitedRoomsController, IList<InvitedRoom>>(
|
||||
InvitedRoomsController.new,
|
||||
);
|
||||
}
|
||||
|
|
@ -1,16 +1,16 @@
|
|||
import "package:hooks_riverpod/hooks_riverpod.dart";
|
||||
import "package:nexus/controllers/client.dart";
|
||||
import "package:nexus/models/requests/join_room.dart";
|
||||
import "package:nexus/models/requests/get_room_summary.dart";
|
||||
import "package:nexus/models/room_summary.dart";
|
||||
|
||||
class RoomSummaryController(final JoinRoomRequest request)
|
||||
class RoomSummaryController(final GetRoomSummary request)
|
||||
extends AsyncNotifier<RoomSummary> {
|
||||
@override
|
||||
Future<RoomSummary> build() =>
|
||||
ref.read(ClientController.provider.notifier).getRoomSummary(request);
|
||||
|
||||
static final provider = AsyncNotifierProvider.family
|
||||
.autoDispose<RoomSummaryController, RoomSummary, JoinRoomRequest>(
|
||||
.autoDispose<RoomSummaryController, RoomSummary, GetRoomSummary>(
|
||||
RoomSummaryController.new,
|
||||
);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue