O2Sound_ver2_final/backend/app/presentation/schemas/uservideo_schema.py

87 lines
1.5 KiB
Python

from pydantic import BaseModel, ConfigDict
from typing import List, Dict
from uuid import UUID
from datetime import datetime
class VideoInfo(BaseModel):
title: str
description: str
url: str
created_at: datetime
is_uploaded: bool
class GetUserVideoResponse(BaseModel):
data: Dict[str, VideoInfo]
class UploadVideoRequest(BaseModel):
user_id: str
video_id: UUID
title: str
description: str
hashtag: List[str]
timestamp: datetime
class UploadVideoResponse(BaseModel):
message: str
upload_time: datetime
class DeleteVideoRequest(BaseModel):
user_id: str
video_id: UUID
class DeleteVideoResponse(BaseModel):
message: str
class ErrorResponse(BaseModel):
error_code: str
error_message: str
class Video(BaseModel):
model_config = ConfigDict(from_attributes=True)
id: UUID
title: str
description: str
url: str
is_uploaded: bool
download_count: int
resolution: str
status: str
thumbnail_url: str
# 업체(items) 가져오기
class GetVideosRequest(BaseModel):
id: UUID
class GetVideosResponse(BaseModel):
model_config = ConfigDict(from_attributes=True)
total_count: int
videos: list[Video]
# 업체(items) 가져오기
class DeleteVideosResponse(BaseModel):
message: str
class GetVideoByOrderIdRequest(BaseModel):
id: UUID
order_id: UUID
class GetVideoResponse(BaseModel):
id: UUID
title: str
description: str
url: str
resolution: str
is_uploaded: bool
download_count: int