mirror of
				https://gitlab.com/comunic/comunicapiv2
				synced 2025-11-04 03:24:04 +00:00 
			
		
		
		
	Can get all the membership of a user
This commit is contained in:
		@@ -454,6 +454,16 @@ export class GroupsHelper {
 | 
			
		||||
		});
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Get the last activity time of a group
 | 
			
		||||
	 * 
 | 
			
		||||
	 * @param groupID Target group ID
 | 
			
		||||
	 */
 | 
			
		||||
	public static async GetLastActivity(groupID: number) : Promise<number> {
 | 
			
		||||
		// TODO : implement
 | 
			
		||||
		return groupID;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Turn a database row into a {GroupInfo} object
 | 
			
		||||
	 * 
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										40
									
								
								src/helpers/WebappHelper.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								src/helpers/WebappHelper.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,40 @@
 | 
			
		||||
import { UserMembershipEntry, UserMembershipType } from "../entities/UserMembershipEntry";
 | 
			
		||||
import { FriendsHelper } from "./FriendsHelper";
 | 
			
		||||
import { GroupsHelper } from "./GroupsHelper";
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Web applications helper
 | 
			
		||||
 * 
 | 
			
		||||
 * @author Pierre HUBERT
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
export class WebappHelper {
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Get all the membership of a user
 | 
			
		||||
	 * 
 | 
			
		||||
	 * @param userID Target user ID
 | 
			
		||||
	 */
 | 
			
		||||
	public static async GetUserMemberships(userID: number) : Promise<Array<UserMembershipEntry>> {
 | 
			
		||||
 | 
			
		||||
		// Get the list of friends of the user
 | 
			
		||||
		const friendsList = await FriendsHelper.GetList(userID);
 | 
			
		||||
		const groupsList = await GroupsHelper.GetListUser(userID);
 | 
			
		||||
 | 
			
		||||
		const list : Array<UserMembershipEntry> = [];
 | 
			
		||||
 | 
			
		||||
		// Add friends to the list
 | 
			
		||||
		friendsList.forEach((f) => list.push(new UserMembershipEntry(
 | 
			
		||||
			f.lastActivityTime, f, UserMembershipType.FRIEND)));
 | 
			
		||||
		
 | 
			
		||||
		// Add groups to the list
 | 
			
		||||
		for(const g of groupsList) list.push(new UserMembershipEntry(
 | 
			
		||||
			await GroupsHelper.GetLastActivity(g), g, UserMembershipType.GROUP));
 | 
			
		||||
 | 
			
		||||
		// Sort entries by latest activities
 | 
			
		||||
		list.sort((a, b) => b.lastActivity - a.lastActivity);
 | 
			
		||||
 | 
			
		||||
		return list;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user