/
aastray
/
StudentPart
Обзор
Документация
Войти
/
aastray
/
StudentPart
Код
Запросы
0
Задачи
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
API-lib/src/schemas/DataRequestSchemas/UserFields.py
121 строка
8 KB
aastray
Реализован функционал загрузки файлов и просмотра документов, удалены базовые эндпоинты, обновлена документация
10 янв 2026, 15:38
10 янв 2026, 15:38
4d47c55
Код
Авторство
О чём код?
from typing import Union, Any,Literal from datetime import datetime from .Base import BaseUserField, NumberField, BoxField class TextField(BaseUserField): """ Поле для ввода текстовых данных с возможностью задания маски. Представляет собой элемент пользовательского интерфейса, предназначенный для ввода произвольного текста. Поддерживает опциональную маску ввода, которая накладывает ограничения на формат вводимых данных (например, дата, телефон). Наследуется от BaseUserField, поэтому включает общие атрибуты: описание, обязательность, подсказку и плейсхолдер. Атрибуты: type (Literal["text"]): Тип поля, фиксированный как "text". Используется для идентификации поля как текстового при обработке и рендеринге. Значение по умолчанию — "text". mask (str | None): Маска ввода, определяющая допустимый формат текста. Например, "999-99-99" для даты или "+7 (___) ___-__-__" для телефона. Если маска не требуется, значение остаётся None. По умолчанию — None. """ type: Literal["text"]="text" mask: None | str = None class FileField(BaseUserField): """ Поле для загрузки файла от пользователя. Представляет собой элемент интерфейса, позволяющий пользователю выбрать и загрузить один или несколько файлов. Наследуется от BaseUserField, поэтому поддерживает стандартные атрибуты, такие как описание, обязательность и подсказка. Атрибуты: type (Literal["file"]): Тип поля, фиксированный как "file". Используется для идентификации поля как предназначенного для загрузки файлов при обработке на стороне клиента или сервера. Значение по умолчанию — "file". """ type: Literal["file"]="file" class IntField(NumberField): """ Поле для ввода целых чисел с ограничениями по диапазону. Представляет собой специализацию NumberField, предназначенную строго для работы с целочисленными значениями. Наследует атрибуты minValue и maxValue, которые определяют допустимый диапазон ввода. Атрибуты: type (Literal["int"]): Тип поля, фиксированный как "int". Используется для идентификации поля как предназначенного для ввода целых чисел при обработке и валидации данных. Значение по умолчанию — "int". """ type: Literal["int"]="int" class FloatField(NumberField): """ Поле для ввода чисел с плавающей запятой с ограничениями по диапазону. Представляет собой специализацию NumberField, предназначенную строго для работы с дробными (вещественными) числами. Наследует атрибуты minValue и maxValue, которые определяют допустимый диапазон ввода. Атрибуты: type (Literal["float"]): Тип поля, фиксированный как "float". Используется для идентификации поля как предназначенного для ввода чисел с плавающей запятой при обработке и валидации данных. Значение по умолчанию — "float". """ type: Literal["float"]="float" class CheckField(BoxField): """ Поле для выбора одного или нескольких вариантов с использованием чекбоксов. Представляет собой специализацию BoxField, предназначенную для отображения списка элементов (в виде блоков ElementBox), где пользователь может выбрать ноль, один или несколько вариантов в зависимости от настроек minPickedElements и maxPickedElements. Атрибуты: type (Literal["checkbox"]): Тип поля, фиксированный как "checkbox". Используется для идентификации поля как группы чекбоксов при рендеринге интерфейса и обработке ввода. Значение по умолчанию — "checkbox". """ type: Literal["checkbox"]="checkbox" class RadioField(BoxField): """ Поле для выбора одного варианта из нескольких с использованием радиокнопок. Представляет собой специализацию BoxField, предназначенную для отображения списка элементов (в виде блоков ElementBox), где пользователь может выбрать только один вариант. Ограничение реализуется через настройки minPickedElements и maxPickedElements (по умолчанию — 1), но визуально отображается как группа взаимоисключающих переключателей (радиокнопок). Атрибуты: type (Literal["radiobox"]): Тип поля, фиксированный как "radiobox". Используется для идентификации поля как группы радиокнопок при рендеринге интерфейса и обработке ввода. Значение по умолчанию — "radiobox". """ type: Literal["radiobox"] = "radiobox" class SwitchBox(BoxField): """ Поле для включения или выключения опций с помощью переключателей (свичей). Представляет собой специализацию BoxField, где каждый элемент отображается в виде переключателя (switch), позволяющего пользователю управлять состоянием "включено/выключено" для каждого варианта. Подходит для бинарных настроек. Атрибуты: type (Literal["switchbox"]): Тип поля, фиксированный как "switchbox". Используется для идентификации поля как группы переключателей при отображении интерфейса и обработке пользовательского ввода. Значение по умолчанию — "switchbox". """ type: Literal["switchbox"]="switchbox"