35 lines
712 B
Python
35 lines
712 B
Python
"""News module DTO
|
|
"""
|
|
import datetime
|
|
import uuid
|
|
from typing import Optional
|
|
|
|
from sqlmodel import SQLModel
|
|
from src.files.dto import ReadFile
|
|
from src.news.models import BaseNews
|
|
|
|
|
|
class CreateNews(BaseNews):
|
|
"""CreateNews DTO
|
|
"""
|
|
hero_id: uuid.UUID
|
|
|
|
|
|
class UpdateNews(SQLModel):
|
|
"""UpdateNews DTO
|
|
"""
|
|
title: Optional[str] = None
|
|
subtitle: Optional[str] = None
|
|
long_description: Optional[dict] = None
|
|
short_description: Optional[str] = None
|
|
carousel: Optional[bool] = None
|
|
banner: Optional[bool] = None
|
|
expiry_date: Optional[datetime.datetime] = None
|
|
|
|
|
|
class ReadNews(BaseNews):
|
|
"""ReadNews DTO
|
|
"""
|
|
id: uuid.UUID
|
|
hero: Optional[ReadFile] = None
|