87 lines
1.5 KiB
Python
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 |