# Модели *** > Описание структур данных для BackEnd ## Виджет (Абстрактный) --- >[!Виджет] >Абстрактный класс, описывающий стандартной поведение модели виджета ### Поля --- - **Тип** - тип реализации абстракции | ENUM - **Id** - Идентификатор в базе данных | Целое число - **Имя** - имя виджета | Строка - **Описание** - описание виджета | Строка ### Методы --- - **Публичный | В формат БД | Строка** - Преобразовывает модель в формат, необходимый для записи в базу данных - **Публичный | В Json | Строка** - Преобразовывает модель в *.json* ## Сайт --- >[!Сайт] >Реализация абстрактного класса виджета для описания сайтов ORUDO ### Поля --- - **Ссылка** - Ссылка на сайт | Строка - **Редирект** - Должна ли быть кнопка для перехода на сайт | Булево - **Изображение** - Ссылка на изображение с логотипом сайта | Строка ### Yaml представление --- ```yaml Sites: id: name: "" desk: "" link: "" image: "" redirect: True | False ``` ### Json представление --- ```json { id: "", name: "", desk: "", link: "", image: "", redirect: True | False } ``` ## Соц. сеть --- >[!Соц. сеть] >Реализация абстрактного класса виджета для описания внешних ресурсов ORUDO ### Поля --- - **Ссылка** - Ссылка на сайт | Строка - **Изображение** - Ссылка на изображение с аватаром ресурса | Строка - **Иконка кнопки** - Ссылка на изображение с иконкой ресурса | Строка ### Yaml представление --- ```yaml Social: id: name: "" desk: "" link: "" image: "" icon: "" ``` ### Json представление --- ```json { id: "", name: "", desk: "", link: "", image: "", icon: "" } ```