This repository has been archived on 2024-07-10. You can view files and clone it, but cannot push or open issues or pull requests.
backend/controllers/favController.js
2023-11-22 16:45:06 +07:00

58 lines
1.5 KiB
JavaScript

const fav = require('../models/favorites.js');
const user = require('../models/user.js');
const mongoose = require('mongoose');
const asyncHandler = require('express-async-handler');
// Get all favorites => GET api/favorites
const getAllFavorites = asyncHandler(async (req, res, next) => {
try {
const favorites = await fav.find({});
res.json(favorites);
} catch (err) {
return next(err);
}
});
// Create new favorite => POST api/favorites
const createFavorite = asyncHandler(async (req, res, next) => {
try {
const { user_id, place_name, location, wheelchair_access, highway_type } = req.body;
const newFavorite = await fav.create({
user_id: user_id, // กำหนด user ID ให้กับ favorite
place_name,
location,
wheelchair_access,
highway_type
});
res.status(201).json(newFavorite);
} catch (err) {
return next(err);
}
});
const getFavoritesByUserId = asyncHandler(async (req, res, next) => {
try {
const userId = req.params.userId;
//console.log(userId)
const favorites = await fav.find({ "user_id": userId });
//console.log(favorites)
if (!favorites || favorites.length === 0) {
return res.status(404).json({ message: 'No favorites found for this user ID' });
}
res.json(favorites);
} catch (err) {
return next(err);
}
});
module.exports = { getAllFavorites, createFavorite, getFavoritesByUserId };