Files
AutonetSellCar/backend/app/models/review.py
AutonetSellCar Deploy 8e230c537c feat: Add Review (사용후기) board system with CC reward
- Backend: Review model, full API (public/user/admin endpoints)
- Frontend: list, detail, write/edit pages, admin management
- 1 CC reward for writing a review on completed vehicle requests
- Navigation updates (Header + admin sidebar)
- "Write Review" button on my-request page for completed requests

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 08:42:35 +09:00

30 lines
1.2 KiB
Python

from sqlalchemy import Column, Integer, String, Text, Boolean, DateTime, ForeignKey, CheckConstraint
from sqlalchemy.orm import relationship
from sqlalchemy.sql import func
from ..database import Base
class Review(Base):
"""User reviews for completed vehicle requests"""
__tablename__ = "reviews"
__table_args__ = (
CheckConstraint('rating >= 1 AND rating <= 5', name='check_rating_range'),
)
id = Column(Integer, primary_key=True, index=True)
request_id = Column(Integer, ForeignKey("vehicle_requests.id"), nullable=False, unique=True)
author_id = Column(Integer, ForeignKey("users.id"), nullable=False, index=True)
rating = Column(Integer, nullable=False)
title = Column(String(255), nullable=False)
content = Column(Text, nullable=False)
cc_rewarded = Column(Boolean, default=False)
is_published = Column(Boolean, default=True, index=True)
view_count = Column(Integer, default=0)
created_at = Column(DateTime(timezone=True), server_default=func.now(), index=True)
updated_at = Column(DateTime(timezone=True), onupdate=func.now())
# Relationships
request = relationship("VehicleRequest", backref="review")
author = relationship("User", backref="reviews")