mirror of
https://gitlab.com/comunic/comunicapiv2
synced 2024-12-28 14:38:52 +00:00
Can update following status of a group
This commit is contained in:
parent
a3e05bd49e
commit
2222873d69
@ -537,6 +537,21 @@ export class GroupsController {
|
||||
h.success("Your membership has been successfully deleted!");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Update the following status of a user
|
||||
*
|
||||
* @param h Request handler
|
||||
*/
|
||||
public static async SetFollowing(h: RequestHandler) {
|
||||
const groupID = await h.postGroupIDWithAccess("groupID", GroupsAccessLevel.MEMBER_ACCESS);
|
||||
const following = h.postBool("follow");
|
||||
|
||||
await GroupsHelper.SetFollowing(groupID, h.getUserId(), following);
|
||||
|
||||
h.success("Follow status has been successfully updated!");
|
||||
}
|
||||
|
||||
/**
|
||||
* Turn a GroupInfo object into a valid API object
|
||||
*
|
||||
|
@ -126,4 +126,6 @@ export const Routes : Route[] = [
|
||||
{path: "/groups/cancel_invitation", cb: (h) => GroupsController.CancelInvitation(h)},
|
||||
|
||||
{path: "/groups/remove_membership", cb: (h) => GroupsController.RemoveMembership(h)},
|
||||
|
||||
{path: "/groups/set_following", cb: (h) => GroupsController.SetFollowing(h)},
|
||||
]
|
@ -254,6 +254,26 @@ export class GroupsHelper {
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Update following status of a user
|
||||
*
|
||||
* @param groupID Target group ID
|
||||
* @param userID Target user ID
|
||||
* @param follow true to follow / false else
|
||||
*/
|
||||
public static async SetFollowing(groupID: number, userID: number, follow: boolean) {
|
||||
await DatabaseHelper.UpdateRows({
|
||||
table: GROUPS_MEMBERS_TABLE,
|
||||
where: {
|
||||
groups_id: groupID,
|
||||
user_id: userID
|
||||
},
|
||||
set: {
|
||||
following: follow ? 1 : 0
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete completely a user membership
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user