HotTRDealsBackend/routes/user.routes.js
2026-01-25 17:50:56 +00:00

34 lines
1015 B
JavaScript

// routes/user.js
const express = require("express")
const router = express.Router()
const { validate } = require("../middleware/validate.middleware")
const userService = require("../services/user.service")
const userProfileAdapter = require("../adapters/responses/userProfile.adapter")
const { endpoints } = require("@shared/contracts")
const { users } = endpoints
router.get(
"/:userName",
validate(users.userProfileRequestSchema, "params", "validatedUserProfile"),
async (req, res) => {
try {
const { userName } = req.validatedUserProfile
const data = await userService.getUserProfileByUsername(userName)
const response = users.userProfileResponseSchema.parse(
userProfileAdapter.mapUserProfileToResponse(data)
)
res.json(response)
} catch (err) {
console.error(err)
const status = err.statusCode || 500
res.status(status).json({
message: err.message || "Profil bilgileri alinamadi.",
})
}
}
)
module.exports = router