mirror of
http://88.130.71.182:3000/BlitTech/deals24togo_be.git
synced 2026-06-12 23:33:21 +00:00
Initial commit
This commit is contained in:
35
app/api/v1/endpoints/favorites.py
Normal file
35
app/api/v1/endpoints/favorites.py
Normal file
@@ -0,0 +1,35 @@
|
||||
"""Favorites / wishlist endpoints."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from fastapi import APIRouter, Depends
|
||||
|
||||
from app.middleware.auth import get_current_user
|
||||
from app.schemas.favorite import FavoriteCreate, FavoriteListResponse, FavoriteResponse
|
||||
from app.services.favorite_service import FavoriteService
|
||||
|
||||
router = APIRouter(prefix="/favorites", tags=["Favorites"])
|
||||
|
||||
|
||||
@router.post("/", response_model=FavoriteResponse, status_code=201)
|
||||
def add_favorite(body: FavoriteCreate, user: dict = Depends(get_current_user)):
|
||||
svc = FavoriteService()
|
||||
return svc.add_favorite(user["id"], body.listing_id)
|
||||
|
||||
|
||||
@router.delete("/{listing_id}")
|
||||
def remove_favorite(listing_id: str, user: dict = Depends(get_current_user)):
|
||||
svc = FavoriteService()
|
||||
return svc.remove_favorite(user["id"], listing_id)
|
||||
|
||||
|
||||
@router.get("/", response_model=FavoriteListResponse)
|
||||
def list_favorites(user: dict = Depends(get_current_user)):
|
||||
svc = FavoriteService()
|
||||
return svc.list_favorites(user["id"])
|
||||
|
||||
|
||||
@router.get("/check/{listing_id}")
|
||||
def check_favorite(listing_id: str, user: dict = Depends(get_current_user)):
|
||||
svc = FavoriteService()
|
||||
return {"is_favorited": svc.is_favorited(user["id"], listing_id)}
|
||||
Reference in New Issue
Block a user