mirror of
https://codeberg.org/shroff/phylum.git
synced 2026-05-12 15:18:38 -05:00
[client] Update local user id from invite response
This commit is contained in:
@@ -93,4 +93,8 @@ class ResourceShareAction extends ResourceAction with JsonApiAction {
|
||||
(action is ResourceCreateAction && action.resourceId == resourceId) ||
|
||||
(action is ResourceShareAction && action.resourceId == resourceId && action.userEmail == userEmail) ||
|
||||
(action is UserInviteAction && action.localId == userId);
|
||||
|
||||
void setUserId(int userId) {
|
||||
_userId = userId;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:offtheline/offtheline.dart';
|
||||
import 'package:phylum/libphylum/actions/action_resource_share.dart';
|
||||
import 'package:phylum/libphylum/actions/changes/create_user_change.dart';
|
||||
import 'package:phylum/libphylum/phylum_api_types.dart';
|
||||
import 'package:phylum/libphylum/responses/responses.dart';
|
||||
@@ -58,4 +61,14 @@ class UserInviteAction extends PhylumAction with JsonApiAction {
|
||||
|
||||
@override
|
||||
ResponseParser get parseResponse => (_, response) => parseJsonMapResponse(response, UserResponse.fromResponse);
|
||||
|
||||
@override
|
||||
FutureOr<void> processResponse(ApiResponse response) async {
|
||||
if (response is UserResponse) {
|
||||
account.actionQueue.updateActions(
|
||||
(PhylumAction action) => action is ResourceShareAction && action.userId == localId,
|
||||
(action) => (action as ResourceShareAction).setUserId(response.user.id),
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user