From c041b0e9113ff7db4ac3e03414c434bf1d7cc2ca Mon Sep 17 00:00:00 2001 From: Tereshchenko Aleksandr Date: Mon, 22 Apr 2024 13:07:56 +0300 Subject: [PATCH] Add route for fethcing user's own data --- src/client/hooks/useLoggedInUser.tsx | 2 +- src/server/routes/index.ts | 3 ++- src/server/routes/user.ts | 15 +++++++++++++++ src/server/types.ts | 6 ++++++ 4 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 src/server/routes/user.ts diff --git a/src/client/hooks/useLoggedInUser.tsx b/src/client/hooks/useLoggedInUser.tsx index 6d82eb9..18b08db 100644 --- a/src/client/hooks/useLoggedInUser.tsx +++ b/src/client/hooks/useLoggedInUser.tsx @@ -8,7 +8,7 @@ const useLoggedInUser = () => { const queryKey = 'user' const query = async (): Promise => { - const { data } = await apiClient.get('/users/') + const { data } = await apiClient.get('/user/') return data } diff --git a/src/server/routes/index.ts b/src/server/routes/index.ts index 581eef8..77f4bef 100644 --- a/src/server/routes/index.ts +++ b/src/server/routes/index.ts @@ -9,6 +9,7 @@ import errorHandler from '../middleware/error' import accessLogger from '../middleware/access' import thesisRouter from './thesis' import loginRouter from './login' +import userRouter from './user' const router = express() @@ -28,7 +29,7 @@ router.get('/ping', (_, res) => res.send('pong')) router.get('/error', () => { throw new Error('Test error') }) - +router.use('/user', userRouter) router.use('/theses', thesisRouter) router.use('/login', loginRouter) diff --git a/src/server/routes/user.ts b/src/server/routes/user.ts new file mode 100644 index 0000000..6d02829 --- /dev/null +++ b/src/server/routes/user.ts @@ -0,0 +1,15 @@ +import express from 'express' + +import { RequestWithUser } from '../types' + +const userRouter = express.Router() + +userRouter.get('/', async (req: RequestWithUser, res: any) => { + const { user } = req + + if (!user) return res.send({}) + + return res.send(user) +}) + +export default userRouter diff --git a/src/server/types.ts b/src/server/types.ts index 5a566ba..4131d9e 100644 --- a/src/server/types.ts +++ b/src/server/types.ts @@ -1,3 +1,5 @@ +import { Request } from 'express' + export interface UserInfo { uid: string hyPersonSisuId: string @@ -19,3 +21,7 @@ export interface User { iamGroups: string[] newUser?: boolean } + +export interface RequestWithUser extends Request { + user: User +}