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

Signed out user can get advanced information about groups

This commit is contained in:
Pierre HUBERT 2019-12-25 15:37:09 +01:00
parent 7b36e092b1
commit 1dba026fe6
4 changed files with 15 additions and 3 deletions

View File

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

View File

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

View File

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

View File

@ -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: {