/
aastray
/
StudentPart
Обзор
Документация
Войти
/
aastray
/
StudentPart
Код
Запросы
0
Задачи
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
API-lib/src/schemas/DataRequestSchemas/RequestSchema.py
77 строк
2 KB
aastray
Реализован функционал загрузки файлов и просмотра документов, удалены базовые эндпоинты, обновлена документация
10 янв 2026, 15:38
10 янв 2026, 15:38
4d47c55
Код
Авторство
О чём код?
from typing import Annotated, Union, Any, Literal from pydantic import BaseModel, Discriminator, Field from .UserFields import * from .DataLakeFields import * from .OutsideFields import * class Form(BaseModel): title: str UserFormFieldType = Annotated[ Union[ TextField, FileField, IntField, FloatField, CheckField, RadioField, SwitchBox ], Discriminator('type') ] DataLakeFormFieldType = Annotated[ Union[ NoSQLField, SQLField ], Discriminator('type') ] #DigitalTwinFormFieldType = Annotated[ # Union[ # Any, # None # ], # Discriminator('type') #] OutsideFormFieldType = Annotated[ Union[ OutsideRequest, None ], Discriminator('type') ] class UserForm(Form): type: Literal["User"] = "User" body: list[UserFormFieldType] class DataLakeForm(Form): type: Literal["Datalake"] = "Datalake" body: list[DataLakeFormFieldType] # КЛАСС НЕДОДЕЛАН #class DigitalTwinForm(Form): # type:Literal["DigitalTwin"] ="DigitalTwin" # listRequests: list[DigitalTwinFormFieldType] class OutsideForm(Form): type: Literal["Outside"] ="Outside" listRequests: list[OutsideFormFieldType] class SelfForm(Form): type: Literal["Self"] = "Self" listTitles: list[str] #Находится здесь, так как выше идет задание этих переменных RequestSchemaType = Annotated[ Union[ UserForm, DataLakeForm, # DigitalTwinForm, OutsideForm, SelfForm ], Discriminator('type') ] class RequestSchema(BaseModel): listForms: list[RequestSchemaType]