Skip to content

Commit e4e2ff3

Browse files
committed
feat(wishlist): implement complete wishlist API with JWT authentication
- Add Wishlist model with user reference and product IDs - Implement wishlist controller with CRUD operations - Add JWT authentication middleware - Create wishlist routes with proper validation - Add test token generation endpoint for development - Prevent duplicate products in wishlist - Handle edge cases (empty wishlist, invalid IDs) - Integrate wishlist routes into main app - Add .DS_Store to .gitignore Endpoints: - GET /api/wishlist - Get user's wishlist - POST /api/wishlist - Add product to wishlist - DELETE /api/wishlist/:productId - Remove product - DELETE /api/wishlist - Clear entire wishlist - GET /api/test/token - Generate test JWT token
2 parents 9219eb5 + a019d3d commit e4e2ff3

3 files changed

Lines changed: 3 additions & 2 deletions

File tree

.DS_Store

-6 KB
Binary file not shown.

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,3 +142,4 @@ vite.config.ts.timestamp-*
142142
src/playground-1.mongodb.js
143143
.env.example.DS_Store
144144
src/.DS_Store
145+
.DS_Store

src/app.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ import passport from './config/passport.config.js';
44
import productRoutes from './routes/product.routes.js';
55
import cartRoutes from './routes/cart.routes.js';
66
import collectionRoutes from './routes/collection.routes.js';
7-
import authRoutes from './routes/auth.routes.js';
87
import wishlistRoutes from './routes/wishlist.routes.js';
98
import testRoutes from './routes/test.routes.js';
9+
import authRoutes from './routes/auth.routes.js';
1010
import errorHandler from './middleware/error-handler.middleware.js';
1111
import notFound from './middleware/notFound.middleware.js'
1212
const app = express();
@@ -24,9 +24,9 @@ app.get('/',(req,res)=>{
2424
app.use('/api/products', productRoutes);
2525
app.use('/api/cart', cartRoutes);
2626
app.use('/api/collections', collectionRoutes);
27-
app.use('/auth', authRoutes);
2827
app.use('/api/wishlist', wishlistRoutes);
2928
app.use('/api/test', testRoutes);
29+
app.use('/auth', authRoutes);
3030

3131
// Middleware for not found 404
3232
app.use(notFound);

0 commit comments

Comments
 (0)