From acc80ad151d22007903bc791abb7311cb4e0ed83 Mon Sep 17 00:00:00 2001 From: talksik Date: Sat, 11 Jun 2022 10:24:54 -0500 Subject: [PATCH] get public user working --- packages/api/routes/search.ts | 21 ++++++++++++++++++++- packages/api/routes/user.ts | 16 ---------------- 2 files changed, 20 insertions(+), 17 deletions(-) diff --git a/packages/api/routes/search.ts b/packages/api/routes/search.ts index 9b8c7fc..c10a2ce 100644 --- a/packages/api/routes/search.ts +++ b/packages/api/routes/search.ts @@ -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')); +} diff --git a/packages/api/routes/user.ts b/packages/api/routes/user.ts index 94355cf..6dab422 100644 --- a/packages/api/routes/user.ts +++ b/packages/api/routes/user.ts @@ -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 */