mirror of
https://gitlab.com/little-lines/backend.git
synced 2025-07-07 13:11:06 +00:00
get by id
This commit is contained in:
parent
0feed90cfc
commit
b28f6d5430
5 changed files with 80 additions and 41 deletions
58
controllers/favController.js
Normal file
58
controllers/favController.js
Normal file
|
@ -0,0 +1,58 @@
|
|||
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 };
|
|
@ -1,6 +1,6 @@
|
|||
const asyncHandler = require('express-async-handler');
|
||||
const user = require('../models/user');
|
||||
const sendToken = require('../utils/jwtToken');
|
||||
const user = require('../models/user');
|
||||
|
||||
// Get all users => GET api/users
|
||||
const getAllUser = asyncHandler(async (req, res) => {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue