mirror of
https://gitlab.com/comunic/comunicapiv2
synced 2024-11-22 21:39: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> {
|
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 = {
|
const data = {
|
||||||
id: info.id,
|
id: info.id,
|
||||||
|
@ -93,5 +93,5 @@ export const Routes : Route[] = [
|
|||||||
|
|
||||||
{path: "/groups/get_multiple_info", cb: (h) => GroupsController.GetInfoMultiple(h)},
|
{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> {
|
public async postGroupIDWithAccess(name: string, minVisibility : GroupsAccessLevel) : Promise<number> {
|
||||||
const groupID = await this.postGroupID(name);
|
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)
|
if(access == GroupsAccessLevel.NO_ACCESS)
|
||||||
this.error(404, "Specified group not found!");
|
this.error(404, "Specified group not found!");
|
||||||
@ -369,6 +369,14 @@ export class RequestHandler {
|
|||||||
return this.userID;
|
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
|
* Check out whether user is signed in or not
|
||||||
*/
|
*/
|
||||||
|
@ -204,6 +204,10 @@ export class GroupsHelper {
|
|||||||
* @returns Membership info / null if none found
|
* @returns Membership info / null if none found
|
||||||
*/
|
*/
|
||||||
public static async GetMembershipInfo(groupID: number, userID: number): Promise<GroupMember> {
|
public static async GetMembershipInfo(groupID: number, userID: number): Promise<GroupMember> {
|
||||||
|
|
||||||
|
if(userID == 0)
|
||||||
|
return null;
|
||||||
|
|
||||||
const data = await DatabaseHelper.QueryRow({
|
const data = await DatabaseHelper.QueryRow({
|
||||||
table: GROUPS_MEMBERS_TABLE,
|
table: GROUPS_MEMBERS_TABLE,
|
||||||
where: {
|
where: {
|
||||||
|
Loading…
Reference in New Issue
Block a user