1
0
mirror of https://gitlab.com/comunic/comunicapiv2 synced 2025-06-20 08:35:17 +00:00

Can fetch basic information about a user

This commit is contained in:
2019-11-23 15:11:33 +01:00
parent c1068be8f1
commit 53a616da15
4 changed files with 136 additions and 0 deletions

View File

@ -1,6 +1,7 @@
import { WelcomeController } from "./WelcomeController";
import { RequestHandler } from "../entities/RequestHandler";
import { AccountController } from "./AccountController";
import { UserController } from "./UserController";
/**
* Controllers routes
@ -34,4 +35,12 @@ export const Routes : Route[] = [
{path: "/account/id", cb: AccountController.CurrentUserID},
{path: "/user/getCurrentUserID", cb: AccountController.CurrentUserID}, // Legacy
// User controller
{path: "/user/getInfo", cb: UserController.GetSingle, needLogin: false},
{path: "/user/getInfos", cb: UserController.GetSingle, needLogin: false}, // Legacy
{path: "/user/getInfoMultiple", cb: UserController.GetMultiple, needLogin: false},
{path: "/user/getInfosMultiple", cb: UserController.GetMultiple, needLogin: false}, // Legacy
]

View File

@ -0,0 +1,43 @@
import { RequestHandler } from "../entities/RequestHandler";
import { UserHelper } from "../helpers/UserHelper";
import { User, UserPageStatus } from "../entities/User";
/**
* User information controller
*
* @author Pierre HUBERT
*/
export class UserController {
/**
* Get information about a single user
*/
public static async GetSingle(handler : RequestHandler) {
const userID = handler.postInt("userID");
const user = await UserHelper.GetUserInfo(userID);
if(!user)
handler.error(404, "Could not get user data!");
handler.send(UserController.UserToAPI(user));
}
/**
* Get information about multiple users
*/
public static async GetMultiple(handler : RequestHandler) {
}
private static UserToAPI(user : User) : any {
return {
"userID": user.id,
"firstName": user.firstName,
"lastName": user.lastName,
"publicPage": user.pageStatus == UserPageStatus.PUBLIC,
"openPage": user.pageStatus == UserPageStatus.OPEN,
"virtualDirectory": user.virtualDirectory,
};
}
}