mirror of
				https://gitlab.com/comunic/comunicapiv2
				synced 2025-11-04 11:34:04 +00:00 
			
		
		
		
	Can update following status of a group
This commit is contained in:
		@@ -537,6 +537,21 @@ export class GroupsController {
 | 
				
			|||||||
		h.success("Your membership has been successfully deleted!");
 | 
							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
 | 
						 * 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/cancel_invitation", cb: (h) => GroupsController.CancelInvitation(h)},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	{path: "/groups/remove_membership", cb: (h) => GroupsController.RemoveMembership(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
 | 
						 * Delete completely a user membership
 | 
				
			||||||
	 * 
 | 
						 * 
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user