completed migrating data scope from user to workspace
This commit is contained in:
@@ -53,7 +53,7 @@ class GroupController extends ChangeNotifier {
|
||||
}
|
||||
|
||||
Future<ApiResponse<PageableModel>> listGroups({
|
||||
required String userId,
|
||||
required String workspaceId,
|
||||
int page = 0,
|
||||
int size = 20,
|
||||
String? name,
|
||||
@@ -69,7 +69,7 @@ class GroupController extends ChangeNotifier {
|
||||
|
||||
try {
|
||||
final params = <String, String>{
|
||||
'userId': userId,
|
||||
'workspaceId': workspaceId,
|
||||
'page': page.toString(),
|
||||
'size': size.toString(),
|
||||
};
|
||||
@@ -78,7 +78,7 @@ class GroupController extends ChangeNotifier {
|
||||
}
|
||||
|
||||
final raw = await http.get(
|
||||
'/public/recipient-groups?${buildQueryParameters(params)}',
|
||||
'/recipient-groups?${buildQueryParameters(params)}',
|
||||
);
|
||||
final response = _unwrap(raw);
|
||||
final pageableModel = PageableModel.fromJson(
|
||||
@@ -115,17 +115,17 @@ class GroupController extends ChangeNotifier {
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> searchGroups({required String userId, String? name}) async {
|
||||
Future<void> searchGroups({required String workspaceId, String? name}) async {
|
||||
model.searchQuery = name ?? '';
|
||||
await listGroups(userId: userId, page: 0, name: name);
|
||||
await listGroups(workspaceId: workspaceId, page: 0, name: name);
|
||||
}
|
||||
|
||||
Future<void> loadNextPage({required String userId}) async {
|
||||
Future<void> loadNextPage({required String workspaceId}) async {
|
||||
if (model.isLoadingMore || model.currentPage + 1 >= model.totalPages) {
|
||||
return;
|
||||
}
|
||||
await listGroups(
|
||||
userId: userId,
|
||||
workspaceId: workspaceId,
|
||||
page: model.currentPage + 1,
|
||||
name: model.searchQuery.isNotEmpty ? model.searchQuery : null,
|
||||
);
|
||||
@@ -138,7 +138,7 @@ class GroupController extends ChangeNotifier {
|
||||
if (!_disposed) notifyListeners();
|
||||
try {
|
||||
final raw = await http.get(
|
||||
'/public/recipient-groups/members?recipientGroupId=$groupId',
|
||||
'/recipient-groups/members?recipientGroupId=$groupId',
|
||||
);
|
||||
final response = _unwrap(raw);
|
||||
final List<dynamic> content;
|
||||
@@ -172,7 +172,7 @@ class GroupController extends ChangeNotifier {
|
||||
model.isLoading = true;
|
||||
if (!_disposed) notifyListeners();
|
||||
try {
|
||||
final raw = await http.post('/public/recipient-groups', req.toJson());
|
||||
final raw = await http.post('/recipient-groups', req.toJson());
|
||||
final response = _unwrap(raw);
|
||||
final group = RecipientGroup.fromJson(response as Map<String, dynamic>);
|
||||
model.groups = [group, ...model.groups];
|
||||
@@ -190,11 +190,11 @@ class GroupController extends ChangeNotifier {
|
||||
|
||||
Future<void> deleteGroup({
|
||||
required String groupId,
|
||||
required String userId,
|
||||
required String workspaceId,
|
||||
}) async {
|
||||
try {
|
||||
await http.delete(
|
||||
'/public/recipient-groups/delete/$groupId?userId=$userId',
|
||||
'/recipient-groups/delete/$groupId?workspaceId=$workspaceId',
|
||||
);
|
||||
model.groups.removeWhere((g) => g.id == groupId);
|
||||
model.selectedGroupIds.remove(groupId);
|
||||
@@ -226,11 +226,11 @@ class GroupController extends ChangeNotifier {
|
||||
Future<void> removeMember({
|
||||
required String groupId,
|
||||
required String recipientId,
|
||||
required String userId,
|
||||
required String workspaceId,
|
||||
}) async {
|
||||
try {
|
||||
await http.delete(
|
||||
'/public/recipient-groups/$groupId/members/$recipientId?userId=$userId',
|
||||
'/recipient-groups/$groupId/members/$recipientId?workspaceId=$workspaceId',
|
||||
);
|
||||
model.members.removeWhere((m) => m.id == recipientId);
|
||||
if (!_disposed) notifyListeners();
|
||||
@@ -241,19 +241,20 @@ class GroupController extends ChangeNotifier {
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> deleteSelectedGroups({required String userId}) async {
|
||||
Future<void> deleteSelectedGroups({required String workspaceId}) async {
|
||||
final idsToDelete = List<String>.from(model.selectedGroupIds);
|
||||
model.selectMode = false;
|
||||
model.selectedGroupIds.clear();
|
||||
if (!_disposed) notifyListeners();
|
||||
|
||||
for (final id in idsToDelete) {
|
||||
await deleteGroup(groupId: id, userId: userId);
|
||||
await deleteGroup(groupId: id, workspaceId: workspaceId);
|
||||
}
|
||||
}
|
||||
|
||||
Future<ApiResponse<CreateGroupFromFileResponse>> createGroupFromFile({
|
||||
required String groupName,
|
||||
required String workspaceId,
|
||||
required String userId,
|
||||
String? description,
|
||||
required String currency,
|
||||
@@ -266,6 +267,7 @@ class GroupController extends ChangeNotifier {
|
||||
try {
|
||||
final fields = <String, String>{
|
||||
'groupName': groupName,
|
||||
'workspaceId': workspaceId,
|
||||
'userId': userId,
|
||||
'currency': currency,
|
||||
};
|
||||
@@ -274,7 +276,7 @@ class GroupController extends ChangeNotifier {
|
||||
}
|
||||
|
||||
final raw = await http.multipartPost(
|
||||
'/public/recipient-groups/create-from-file',
|
||||
'/recipient-groups/create-from-file',
|
||||
fields,
|
||||
'file',
|
||||
fileBytes,
|
||||
|
||||
Reference in New Issue
Block a user