summaryrefslogtreecommitdiffstats
path: root/girok/server/src/task/schemas.py
diff options
context:
space:
mode:
Diffstat (limited to 'girok/server/src/task/schemas.py')
-rw-r--r--girok/server/src/task/schemas.py123
1 files changed, 0 insertions, 123 deletions
diff --git a/girok/server/src/task/schemas.py b/girok/server/src/task/schemas.py
deleted file mode 100644
index 3359636..0000000
--- a/girok/server/src/task/schemas.py
+++ /dev/null
@@ -1,123 +0,0 @@
-from sqlalchemy import Column, String, Integer, ForeignKey
-from sqlalchemy.sql.sqltypes import TIMESTAMP, Boolean, DateTime
-from typing import Union, List, Dict
-from pydantic import BaseModel, Field, validator
-from datetime import datetime, timedelta
-import girok.server.src.task.enums as task_enums
-
-class TaskCreateIn(BaseModel):
- task_category_id: Union[int, None] = None
- name: str
- deadline: str
- priority: int = Field(default=None, ge=1, le=5)
- color: Union[str, None] = None
- everyday: Union[bool, None] = False
- tag: Union[str, None] = None
- is_time: bool = False
- all_day: Union[bool, None] = False
- weekly_repeat: int = Field(default=None, gt=0, le=6)
-
-
-class TaskCreateOut(BaseModel):
- task_id: int
-
- class Config:
- orm_mode = True
-
-
-class Task(BaseModel):
- task_id: int
- user_id: int
- task_category_id: Union[int, None]
- category_path: Union[str, None]
- name: str
- color: str
- deadline: str
- all_day: Union[bool, None]
- is_time: bool
- priority: Union[int, None]
- everyday: Union[bool, None]
- created_at: datetime
-
- class Config:
- orm_mode = True
-
-
-class TaskGetIn(BaseModel):
- category: Union[List[str], None] = Field(
- default=None,
- title="Category",
- description="Full category path of a category. Ex. ['HKU', 'COMP3230'].",
- ),
- start_date: Union[str, None] = Field(
- default="2000-01-01 00:00:00",
- title="Start date",
- description="Start date. Ex. '2023-01-23 12:00:00'",
- regex="^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2} [0-9]{2}:[0-9]{2}:[0-9]{2}$"
- ),
- end_date: Union[str, None] = Field(
- default=(datetime.now() + timedelta(days=365*10)).strftime("%Y-%m-%d 00:00:00"),
- title="End date",
- description="End date. Ex. '2023-03-23 12:00:00'",
- regex="^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2} [0-9]{2}:[0-9]{2}:[0-9]{2}$"
- ),
- priority: Union[int, None] = Field(
- default=None,
- title="Priority",
- ge=1,
- le=5
- ),
- no_priority: bool = False,
- tag: Union[str, None] = Field(
- default_factory=None,
- title="Tag"
- ),
- view: Union[task_enums.TaskView, None]= Field(
- default_factory=None,
- title="View method for tasks"
- )
-
- @validator("start_date")
- def set_start_date(cls, v):
- if v is None:
- return "2000-01-01 00:00:00"
- return v
-
- @validator("end_date")
- def set_end_date(cls, v):
- if v is None:
- return (datetime.now() + timedelta(days=365*10)).strftime("%Y-%m-%d 00:00:00")
- return v
-
-
-class GetSingleTaskOut(BaseModel):
- name: str
-
-
-class TaskOut(BaseModel):
- tasks: Dict[str, dict]
-
-
-class Tag(BaseModel):
- tag_id: int
- task_id: int
- name: int
-
-class TagOut(BaseModel):
- tags: List[str]
-
-
-class ChangeTaskTagIn(BaseModel):
- new_tag_name: str
-
-
-class ChangeTaskPriorityIn(BaseModel):
- new_priority: int = Field(ge=1, le=5)
-
-
-class ChangeTaskDateIn(BaseModel):
- new_date: str = Field(default=..., regex="^([0-9]){4}-([0-9]){1,2}-([0-9]){1,2} [0-9]{2}:[0-9]{2}:[0-9]{2}$")
-
-
-class ChangeTaskNameIn(BaseModel):
- new_name: str \ No newline at end of file