From 453615158b853a8f7f01d9421c503a104bbc6d4d Mon Sep 17 00:00:00 2001 From: Hironsan Date: Tue, 6 Apr 2021 11:01:59 +0900 Subject: [PATCH] Add data classes --- app/api/views/upload/data.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 app/api/views/upload/data.py diff --git a/app/api/views/upload/data.py b/app/api/views/upload/data.py new file mode 100644 index 00000000..3ffe6b62 --- /dev/null +++ b/app/api/views/upload/data.py @@ -0,0 +1,24 @@ +import abc +from typing import Dict + +from pydantic import BaseModel + + +class BaseData(BaseModel, abc.ABC): + filename: str + metadata: Dict = {} + + @classmethod + def parse(cls, **kwargs): + return cls.parse_obj(kwargs) + + def __hash__(self): + return hash(tuple(self.dict())) + + +class TextData(BaseData): + text: str + + +class FileData(BaseData): + pass