From 5810dcfbb646a0399b74cec16c326a650fc54d4d Mon Sep 17 00:00:00 2001 From: Rafi Athallah <65345768+rafiathallah3@users.noreply.github.com> Date: Mon, 1 Jun 2026 12:08:39 +0700 Subject: [PATCH] feat: Gantiin auth API untuk dapatin Profile --- .gitignore | 8 +++++++- src/app.ts | 4 +++- src/routes/auth.ts | 15 ++++++++------- uploads/docs/.gitkeep | 1 + uploads/images/.gitkeep | 1 + 5 files changed, 20 insertions(+), 9 deletions(-) create mode 100644 uploads/docs/.gitkeep create mode 100644 uploads/images/.gitkeep diff --git a/.gitignore b/.gitignore index 81be5eb..1bf3c8a 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,12 @@ node_modules/ # Production Build Output dist/ +# Uploads +uploads/docs/* +!uploads/docs/.gitkeep +uploads/images/* +!uploads/images/.gitkeep + # Local Environment variables .env .env.local @@ -34,4 +40,4 @@ lerna-debug.log* Thumbs.db # Prisma -/src/generated/prisma +/src/generated/prisma \ No newline at end of file diff --git a/src/app.ts b/src/app.ts index 975d1c0..133caca 100644 --- a/src/app.ts +++ b/src/app.ts @@ -8,7 +8,9 @@ import { errorHandler, CustomError } from './middleware/errorHandler'; const app = express(); -app.use(helmet()); +app.use(helmet({ + crossOriginResourcePolicy: { policy: 'cross-origin' } +})); app.use(cors({ origin: true, credentials: true, diff --git a/src/routes/auth.ts b/src/routes/auth.ts index 04cfab2..61d3164 100644 --- a/src/routes/auth.ts +++ b/src/routes/auth.ts @@ -161,11 +161,11 @@ router.post('/login', async (req: Request, res: Response, next: NextFunction) => }); /** - * @route GET /api/auth/profile - * @desc Dapetin profil user yg lagi login + * @route GET /api/auth/me + * @desc Dapetin info ringkas user yg login buat navbar * @access Private */ -router.get('/profile', protect, async (req: AuthenticatedRequest, res: Response, next: NextFunction) => { +router.get('/me', protect, async (req: AuthenticatedRequest, res: Response, next: NextFunction) => { try { const userId = req.user?.id; @@ -178,20 +178,21 @@ router.get('/profile', protect, async (req: AuthenticatedRequest, res: Response, }); if (!user) { - const error: CustomError = new Error('User tidak ditemukan'); + const error: CustomError = new Error('User not found'); error.statusCode = 404; return next(error); } const profile = user.role === 'ADMIN' ? user.admin : user.mahasiswa; + const namaDepan = profile?.namaDepan || ''; res.status(200).json({ - success: true, - user: { + status: true, + data: { id: user.id, email: user.email, role: user.role, - profile, + nama_depan: namaDepan }, }); } catch (error) { diff --git a/uploads/docs/.gitkeep b/uploads/docs/.gitkeep new file mode 100644 index 0000000..09c6916 --- /dev/null +++ b/uploads/docs/.gitkeep @@ -0,0 +1 @@ +# Keep directory diff --git a/uploads/images/.gitkeep b/uploads/images/.gitkeep new file mode 100644 index 0000000..09c6916 --- /dev/null +++ b/uploads/images/.gitkeep @@ -0,0 +1 @@ +# Keep directory