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

82 lines
2.4 KiB
Markdown
Raw Normal View History

# Модели
***
> Описание структур данных для BackEnd
## Виджет (Абстрактный)
---
>[!Виджет]
>Абстрактный класс, описывающий стандартной поведение модели виджета
### Поля
---
- **Тип** - тип реализации абстракции | ENUM
- **Id** - Идентификатор в базе данных | Целое число
- **Имя** - имя виджета | Строка
- **Описание** - описание виджета | Строка
### Методы
---
- **Публичный | В формат БД | Строка** - Преобразовывает модель в формат, необходимый для записи в базу данных
- **Публичный | В Json | Строка** - Преобразовывает модель в *.json*
## Проект
---
>[!Проект]
>Реализация абстрактного класса виджета для описания проектов ORUDO
### Поля
---
- **Ссылка** - Ссылка на проект | Строка
- **Редирект** - Должна ли быть кнопка для перехода на проект | Булево
- **Изображение** - Ссылка на изображение с логотипом проекта | Строка
### Yaml представление
---
```yaml
Projects:
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: ""
}
```