# Группы

# Список

Для получения списка групп используется запрос **group/list**:

```javascript
POST https://api.novaconnect.kz/api/group/list

{
  "page": <int>,
  "size": <int>,
  "filter": {
    "name": <string>
  }
}
```
##### Параметры
| Параметр | Тип | Описание | Обязательность |
|-------|----------|---------|---------|
| **page**     | int     | Номер страницы, нумерация с 0     |Да
| **size**    | int      | Размер страницы      |Да
| **filter.name**     | string   | Название группы (часть названия)      |Нет

#### Успешный ответ
```javascript
{
  "code": 200,
  "count": <int>,
  "all_count": <int>,
  "items": [
    {
      //Массив объектов типа Группа
    }
  ],
  "message": <string>
}
```

| Параметр | Тип | Описание |
|-------|----------|---------|
| **code**     | int     | Код ответа, для успеха - 200
| **message**    | string      | Сообщение ответа
| **count**    | int      | Количество данных в ответе
| **all_count**    | int      | Количество данных в БД
|  **items**    | array      | Массив элементов типа [Группа](https://kb.novaconnect.kz/books/rukovodstvo-razrabotcika/page/gruppa)

# Создание

Для создания группы используется запрос **group/create**:

```javascript
POST https://api.novaconnect.kz/api/group/create

{
  "name": <string>
}
```
##### Параметры
| Параметр | Тип | Описание | Обязательность |
|-------|----------|---------|---------|
| **name**     | string     | Название группы     |Да

#### Ограничения и доступы
Метод доступен пользователю с ролью **Администратор**

#### Успешный ответ
```javascript
{
  "code": 200,
  "message": <string>,
  "result": {
    "item": <object>
  }
}
```

| Параметр | Тип | Описание |
|-------|----------|---------|
| **code**     | int     | Код ответа, для успеха - 200
| **message**    | string      | Сообщение ответа
| **result.item**    | object      | Объект типа [Группа](https://kb.novaconnect.kz/books/rukovodstvo-razrabotcika/page/gruppa)

# Изменение

Для изменения группы используется запрос **group/edit**:

```javascript
POST https://api.novaconnect.kz/api/group/edit

{
  "name": <string>,
  "id": <int>
}
```
##### Параметры
| Параметр | Тип | Описание | Обязательность |
|-------|----------|---------|---------|
| **name**     | string     | Название группы     |Да
| **id**     | int     | ID группы     |Да


#### Ограничения и доступы
Метод доступен пользователю с ролью **Администратор**

#### Успешный ответ
```javascript
{
  "code": 200,
  "message": <string>,
  "result": {
    "item": <object>
  }
}
```

| Параметр | Тип | Описание |
|-------|----------|---------|
| **code**     | int     | Код ответа, для успеха - 200
| **message**    | string      | Сообщение ответа
| **result.item**    | object      | Объект типа [Группа](https://kb.novaconnect.kz/books/rukovodstvo-razrabotcika/page/gruppa)

# Удаление

Для удаления группы используется запрос **group/remove**:

```javascript
POST https://api.novaconnect.kz/api/group/remove

{
  "id": <int>
}
```
##### Параметры
| Параметр | Тип | Описание | Обязательность |
|-------|----------|---------|---------|
| **id**     | int     | ID группы     |Да


#### Ограничения и доступы
Метод доступен пользователю с ролью **Администратор**

#### Успешный ответ
```javascript
{
  "code": 200,
  "message": <string>,
  "result": {
    "item": <object>
  }
}
```

| Параметр | Тип | Описание |
|-------|----------|---------|
| **code**     | int     | Код ответа, для успеха - 200
| **message**    | string      | Сообщение ответа
| **result.item**    | object      | Объект типа [Группа](https://kb.novaconnect.kz/books/rukovodstvo-razrabotcika/page/gruppa)