SiteKB/Архитектура/Модели.md

82 lines
2.3 KiB
Markdown
Raw Normal View History

# Модели
***
> Описание структур данных для 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: ""
}
```