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:
parent
7b36e092b1
commit
1dba026fe6
@ -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: {
|
||||
|
Loading…
Reference in New Issue
Block a user