Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 23 additions & 1 deletion src/main/card/service/CardService.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ def update_ai_summary(self, user_id: uuid.UUID, card_id: uuid.UUID) -> CardAISum
def get_cards_by_space(self, space_id: uuid.UUID) -> List[Card]: ...
def create_card_with_links(self, space_id: uuid.UUID, title: str, chat_id: uuid.UUID, points: List[str]) -> Card: ...
def delete_ai_summary(self, user_id: uuid.UUID, card_id: uuid.UUID) -> None: ...
def delete_card(self, user_id: uuid.UUID, card_id: uuid.UUID) -> None: ...

class CardService(CardServiceProtocol):
def __init__(
Expand Down Expand Up @@ -96,4 +97,25 @@ def create_card_with_links(self, space_id: uuid.UUID, title: str, chat_id: uuid.
for point in points:
self.repository.create_cardlink(card_id, chat_id, point)

return card
return card

def delete_card(self, user_id: uuid.UUID, card_id: uuid.UUID) -> None:
"""
카드를 삭제합니다.

Args:
user_id: 사용자 ID
card_id: 카드 ID

Raises:
HTTPException: 카드가 존재하지 않거나 접근 권한이 없는 경우
"""
card = self.repository.get_by_id(card_id)
if not card:
raise HTTPException(
status_code=404,
detail="Resource not found"
)

self._verify_card_ownership(card, user_id)
self.repository.delete(card_id)