mirror of
https://github.com/zulip/zulip.git
synced 2025-11-04 14:03:30 +00:00
user_groups: Add can_manage_group field to user_group object.
This commit adds can_manage_group field in user_group object in frontend and also adds code to update the field value from server events.
This commit is contained in:
@@ -133,6 +133,7 @@ export const user_group_schema = z.object({
|
|||||||
members: z.array(z.number()),
|
members: z.array(z.number()),
|
||||||
is_system_group: z.boolean(),
|
is_system_group: z.boolean(),
|
||||||
direct_subgroup_ids: z.array(z.number()),
|
direct_subgroup_ids: z.array(z.number()),
|
||||||
|
can_manage_group: z.number(),
|
||||||
can_mention_group: z.number(),
|
can_mention_group: z.number(),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ export type UserGroupUpdateEvent = {
|
|||||||
data: {
|
data: {
|
||||||
name?: string;
|
name?: string;
|
||||||
description?: string;
|
description?: string;
|
||||||
|
can_manage_group?: number;
|
||||||
can_mention_group?: number;
|
can_mention_group?: number;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -48,6 +48,7 @@ export function add(user_group_raw: UserGroupRaw): void {
|
|||||||
members: new Set(user_group_raw.members),
|
members: new Set(user_group_raw.members),
|
||||||
is_system_group: user_group_raw.is_system_group,
|
is_system_group: user_group_raw.is_system_group,
|
||||||
direct_subgroup_ids: new Set(user_group_raw.direct_subgroup_ids),
|
direct_subgroup_ids: new Set(user_group_raw.direct_subgroup_ids),
|
||||||
|
can_manage_group: user_group_raw.can_manage_group,
|
||||||
can_mention_group: user_group_raw.can_mention_group,
|
can_mention_group: user_group_raw.can_mention_group,
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -90,6 +91,12 @@ export function update(event: UserGroupUpdateEvent): void {
|
|||||||
user_group_name_dict.delete(group.name);
|
user_group_name_dict.delete(group.name);
|
||||||
user_group_name_dict.set(group.name, group);
|
user_group_name_dict.set(group.name, group);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (event.data.can_manage_group !== undefined) {
|
||||||
|
group.can_manage_group = event.data.can_manage_group;
|
||||||
|
user_group_name_dict.delete(group.name);
|
||||||
|
user_group_name_dict.set(group.name, group);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function get_user_group_from_name(name: string): UserGroup | undefined {
|
export function get_user_group_from_name(name: string): UserGroup | undefined {
|
||||||
|
|||||||
@@ -428,6 +428,7 @@ const hamletcharacters = user_group_item({
|
|||||||
members: new Set([100, 104]),
|
members: new Set([100, 104]),
|
||||||
is_system_group: false,
|
is_system_group: false,
|
||||||
direct_subgroup_ids: new Set([]),
|
direct_subgroup_ids: new Set([]),
|
||||||
|
can_manage_group: 2,
|
||||||
can_mention_group: 2,
|
can_mention_group: 2,
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -438,6 +439,7 @@ const backend = user_group_item({
|
|||||||
members: new Set([101]),
|
members: new Set([101]),
|
||||||
is_system_group: false,
|
is_system_group: false,
|
||||||
direct_subgroup_ids: new Set([1]),
|
direct_subgroup_ids: new Set([1]),
|
||||||
|
can_manage_group: 1,
|
||||||
can_mention_group: 1,
|
can_mention_group: 1,
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -448,6 +450,7 @@ const call_center = user_group_item({
|
|||||||
members: new Set([102]),
|
members: new Set([102]),
|
||||||
is_system_group: false,
|
is_system_group: false,
|
||||||
direct_subgroup_ids: new Set([]),
|
direct_subgroup_ids: new Set([]),
|
||||||
|
can_manage_group: 2,
|
||||||
can_mention_group: 2,
|
can_mention_group: 2,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ run_test("user_groups", () => {
|
|||||||
members: new Set([1, 2]),
|
members: new Set([1, 2]),
|
||||||
is_system_group: false,
|
is_system_group: false,
|
||||||
direct_subgroup_ids: new Set([4, 5]),
|
direct_subgroup_ids: new Set([4, 5]),
|
||||||
|
can_manage_group: 1,
|
||||||
can_mention_group: 2,
|
can_mention_group: 2,
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -35,6 +36,7 @@ run_test("user_groups", () => {
|
|||||||
members: new Set([3]),
|
members: new Set([3]),
|
||||||
is_system_group: false,
|
is_system_group: false,
|
||||||
direct_subgroup_ids: new Set([]),
|
direct_subgroup_ids: new Set([]),
|
||||||
|
can_manage_group: 1,
|
||||||
can_mention_group: 2,
|
can_mention_group: 2,
|
||||||
};
|
};
|
||||||
const all = {
|
const all = {
|
||||||
@@ -43,6 +45,7 @@ run_test("user_groups", () => {
|
|||||||
members: new Set([1, 2, 3]),
|
members: new Set([1, 2, 3]),
|
||||||
is_system_group: false,
|
is_system_group: false,
|
||||||
direct_subgroup_ids: new Set([4, 5, 6]),
|
direct_subgroup_ids: new Set([4, 5, 6]),
|
||||||
|
can_manage_group: 1,
|
||||||
can_mention_group: 1,
|
can_mention_group: 1,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user