mirror of
				https://gitlab.com/comunic/comunicapiv2
				synced 2025-10-30 17:14:43 +00:00 
			
		
		
		
	Signed out user can get advanced information about groups
This commit is contained in:
		| @@ -140,7 +140,7 @@ export class GroupsController { | ||||
| 	 */ | ||||
| 	private static async GroupInfoToAPI(info: GroupInfo, h: RequestHandler, advanced: boolean = false) : Promise<any> { | ||||
| 		 | ||||
| 		const membership = await GroupsHelper.GetMembershipInfo(info.id, h.getUserId()) | ||||
| 		const membership = await GroupsHelper.GetMembershipInfo(info.id, h.optionnalUserID) | ||||
| 		 | ||||
| 		const data = { | ||||
| 			id: info.id, | ||||
|   | ||||
| @@ -93,5 +93,5 @@ export const Routes : Route[] = [ | ||||
|  | ||||
| 	{path: "/groups/get_multiple_info", cb: (h) => GroupsController.GetInfoMultiple(h)}, | ||||
|  | ||||
| 	{path: "/groups/get_advanced_info", cb: (h) => GroupsController.GetAdvancedInfo(h)}, | ||||
| 	{path: "/groups/get_advanced_info", cb: (h) => GroupsController.GetAdvancedInfo(h), needLogin: false}, | ||||
| ] | ||||
| @@ -222,7 +222,7 @@ export class RequestHandler { | ||||
| 	public async postGroupIDWithAccess(name: string, minVisibility : GroupsAccessLevel) : Promise<number> { | ||||
| 		const groupID = await this.postGroupID(name); | ||||
|  | ||||
| 		const access = await GroupsHelper.GetAccessLevel(groupID, this.getUserId()); | ||||
| 		const access = await GroupsHelper.GetAccessLevel(groupID, this.optionnalUserID); | ||||
|  | ||||
| 		if(access == GroupsAccessLevel.NO_ACCESS) | ||||
| 			this.error(404, "Specified group not found!"); | ||||
| @@ -369,6 +369,14 @@ export class RequestHandler { | ||||
| 		return this.userID; | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * Get the ID of the current user (if any) | ||||
| 	 * or 0 if the user is not signed in | ||||
| 	 */ | ||||
| 	public get optionnalUserID(): number { | ||||
| 		return this.userID >= 1 ? this.userID : 0; | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * Check out whether user is signed in or not | ||||
| 	 */ | ||||
|   | ||||
| @@ -204,6 +204,10 @@ export class GroupsHelper { | ||||
| 	 * @returns Membership info / null if none found | ||||
| 	 */ | ||||
| 	public static async GetMembershipInfo(groupID: number, userID: number): Promise<GroupMember> { | ||||
|  | ||||
| 		if(userID == 0) | ||||
| 			return null; | ||||
|  | ||||
| 		const data = await DatabaseHelper.QueryRow({ | ||||
| 			table: GROUPS_MEMBERS_TABLE, | ||||
| 			where: { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user