language-learning-app/api/app/domain/models/article.py

37 lines
811 B
Python
Raw Normal View History

from dataclasses import dataclass
from datetime import datetime
from enum import Enum
class ArticleTypeEnum(str, Enum):
summary = "summary" # take the input text, and summarise it
@dataclass
class Article:
id: str
article_type: ArticleTypeEnum
language: str # e.g. "fr"
target_complexity: str # e.g. "B1"
title: str
text: str
text_linguistic_data: dict | None
audio_key: str | None
created_at: datetime
published_at: datetime | None
deleted_at: datetime | None
class ArticleOwnershipRoleEnum(str, Enum):
owner = "owner" # Person for who the Article was created
@dataclass
class ArticleOwnership:
id: str
article_id: str
ownership_role: ArticleOwnershipRoleEnum
user_id: str
created_at: datetime
deleted_at: datetime | None