mirror of
https://github.com/FutureOfMedTech-FITM-hack/backend.git
synced 2024-11-21 22:16:33 +03:00
81 lines
1.1 KiB
Python
81 lines
1.1 KiB
Python
from typing import List
|
|
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class Question(BaseModel):
|
|
id: int
|
|
type: str
|
|
question: str
|
|
|
|
|
|
class BaseFormField(BaseModel):
|
|
type: str
|
|
question: str
|
|
ref_min: int | None
|
|
ref_max: int | None
|
|
|
|
|
|
class CreateFormField(BaseFormField):
|
|
...
|
|
|
|
|
|
class FormField(BaseFormField):
|
|
id: int
|
|
|
|
class Config:
|
|
orm_mode = True
|
|
|
|
|
|
class QuestionRef(BaseModel):
|
|
id: int
|
|
ref_min: int | None
|
|
ref_max: int | None
|
|
|
|
|
|
class FormAssigment(BaseModel):
|
|
user_id: int
|
|
question_refs: List[QuestionRef]
|
|
|
|
|
|
class FormAnswer(BaseModel):
|
|
field_id: int
|
|
answer: str
|
|
|
|
|
|
class FullAnswer(BaseModel):
|
|
field_id: int
|
|
question: str
|
|
type: str
|
|
answer: str
|
|
ref_min: int | None
|
|
ref_max: int | None
|
|
|
|
|
|
class FullSubmission(BaseModel):
|
|
fio: str
|
|
answers: List[FullAnswer]
|
|
|
|
|
|
class BaseForm(BaseModel):
|
|
name: str
|
|
|
|
|
|
class FormCreate(BaseForm):
|
|
user_id: int
|
|
|
|
|
|
class ListForm(BaseForm):
|
|
id: int
|
|
|
|
class Config:
|
|
orm_mode = True
|
|
|
|
|
|
class Form(BaseForm):
|
|
id: int
|
|
questions: List[Question]
|
|
|
|
class Config:
|
|
orm_mode = True
|