1
0
mirror of https://gitlab.com/comunic/comunicapiv2 synced 2024-11-22 13:29:22 +00:00

Can update following status of a group

This commit is contained in:
Pierre HUBERT 2019-12-27 18:38:14 +01:00
parent a3e05bd49e
commit 2222873d69
3 changed files with 37 additions and 0 deletions

View File

@ -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
*

View File

@ -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)},
]

View File

@ -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
*