Client: EditGroupStore: Fix moving manager to members without setting new manager
This commit is contained in:
parent
625a7aa5a6
commit
097adc82d5
@ -125,6 +125,17 @@ class EditGroupStore {
|
||||
|
||||
const addedIds = Array.from(this.addedMembersMap.keys());
|
||||
const removedIds = Array.from(this.removedMembersMap.keys());
|
||||
const oldManager = this.group.manager;
|
||||
const oldManagerRemovedButRemainsAsMember =
|
||||
oldManager &&
|
||||
oldManager.id !== this.manager?.id &&
|
||||
!this.removedMembersMap.has(oldManager.id);
|
||||
|
||||
// Requires when new group is without manager and old manager moved to members. updateGroup api method doesn't provide possibility to do it without setting new manager
|
||||
if (this.manager === null && oldManagerRemovedButRemainsAsMember) {
|
||||
await api.groups.removeGroupMembers(this.group.id, [oldManager.id]);
|
||||
addedIds.push(oldManager.id);
|
||||
}
|
||||
|
||||
await updateGroup(
|
||||
this.group?.id,
|
||||
|
@ -146,6 +146,14 @@ export const addGroupMembers = (groupId: string, members: string) => {
|
||||
});
|
||||
};
|
||||
|
||||
export const removeGroupMembers = (groupId: string, membersIds: string[]) => {
|
||||
return request({
|
||||
method: "delete",
|
||||
url: `/group/${groupId}/members`,
|
||||
data: { id: groupId, members: membersIds },
|
||||
}) as Promise<TGroup>;
|
||||
};
|
||||
|
||||
// * Delete
|
||||
|
||||
export const deleteGroup = (groupId: string) => {
|
||||
|
Loading…
Reference in New Issue
Block a user