get public user working

This commit is contained in:
talksik
2022-06-11 10:24:54 -05:00
parent 3855690181
commit acc80ad151
2 changed files with 20 additions and 17 deletions
+20 -1
View File
@@ -1,7 +1,9 @@
import { JwtClaims, authCheck } from '../middleware/auth';
import express, { Application, Request, Response } from 'express';
import express, { Application, NextFunction, Request, Response } from 'express';
import NirvanaResponse from '../../core/responses/nirvanaResponse';
import User from '@nirvana/core/models/user.model';
import UserDetailsResponse from '@nirvana/core/responses/userDetails.response';
import UserSearchResponse from '../../core/responses/userSearch.response';
import { UserService } from '../services/user.service';
@@ -13,6 +15,9 @@ export default function getSearchRoutes() {
// get user details based on id token
router.get('/users', authCheck, handleUserSearch);
// get user public information by id
router.get('/user/:userId', authCheck, getPublicUser);
return router;
}
@@ -40,3 +45,17 @@ async function handleUserSearch(req: Request, res: Response) {
res.status(500).send(`something went wrong`);
}
}
async function getPublicUser(req: Request, res: Response, next: NextFunction) {
const { userId } = req.params;
const user = await UserService.getUserById(userId as string);
if (user) {
const responseObj = new NirvanaResponse(new UserDetailsResponse(user), undefined, 'got user');
return res.status(200).json(responseObj);
}
res.status(404);
next(Error('No user found'));
}
-16
View File
@@ -23,9 +23,6 @@ export default function getUserRoutes() {
router.get('/login', login);
// get user public information by id
router.get('/:userId', authCheck, getPublicUser);
router.get('/authcheck', authCheck, handleAuthCheck);
return router;
@@ -48,19 +45,6 @@ async function getUserDetails(req: Request, res: Response, next: NextFunction) {
next(Error('No user found'));
}
async function getPublicUser(req: Request, res: Response, next: NextFunction) {
const { userId } = req.params;
const user = await UserService.getUserById(userId as string);
if (user) {
return res.status(200).json(new UserDetailsResponse(user));
}
res.status(404);
next(Error('No user found'));
}
/** Create user if doesn't exist
* Returns jwt token for client and user details
*/