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:
@ -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
|
||||
]
|
43
src/controllers/UserController.ts
Normal file
43
src/controllers/UserController.ts
Normal 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,
|
||||
};
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user