# ApiFolder

**ApiFolder** узел, по аналогии с [Folder](https://docs-ru.testmace.com/0.0.1-beta.16/node-types/folder) узлом, служит для группировки других типов узлов (в данном случае [ApiRoute](https://docs-ru.testmace.com/0.0.1-beta.16/node-types/api-description/apiroute) узлов). &#x20;

Создать данный узел можно следующими способами:

* Из контекстного меню [ApiRootFolder](https://docs-ru.testmace.com/0.0.1-beta.16/node-types/api-description/apirootfolder) узла
* Воспользовавшись импортом из форматов описания API

В дереве проекта **ApiFolder** узел имеет следующий вид:

![Вид ApiFolder узла в дереве проекта](https://1795169151-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lh_FaVh9XfQJ0p1KqZ1%2F-LiMrmYbW3n5VDqYxikj%2F-LiMsBurAEw8jjEkJrtf%2Faf_1.png?alt=media\&token=680ed8d0-b230-4c56-a2fd-6dc021bb00fe)

Контекстное меню данного узла выглядит следующим образом:

![Контекстное меню ApiFolder узла](https://1795169151-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lh_FaVh9XfQJ0p1KqZ1%2F-LiMrmYbW3n5VDqYxikj%2F-LiMsEDI1oLvGTZfTmYQ%2Faf_2.png?alt=media\&token=1cf07376-2887-4c2d-9ac9-90c413997f7d)

* **Add node.** Добавление узла-потомка. В подменю можно выбрать тип узла.
* **Rename.** Переименовать узел.
* **Duplicate.** Сделать копию узла. Новый узел будет иметь название NodeName \[Copy \[number]].
* **Remove node.** Удалить узел.
* **Show in explorer.** Открыть папку с узлом в файловом менеджере.

Интерфейс вкладки данного узла выглядит следующим образом:

![Интерфейс вкладки ApiFolder узла](https://1795169151-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lh_FaVh9XfQJ0p1KqZ1%2F-LiMrmYbW3n5VDqYxikj%2F-LiMsHryxF8VAVuXeS0_%2Faf_3.png?alt=media\&token=736707f8-b932-4edd-a1f4-51aa787cf8de)

На данном скрине отмечены следующие области

* Диалог управления [пользовательскими переменными](https://docs-ru.testmace.com/0.0.1-beta.16/variables/user-variables)
* Список дочерних узлов

### Файловое представление

**ApiFolder** узел представляет из себя папку с названием узла, внутри которой содержится файл index.yml, имеющий следующий формат:

```javascript
{
  "type": "object",
  "properties": {
    "type": {
      "description": "Type of ApiFolder node",
      "const": "ApiFolder",
      "type": "string"
    },
    "children": {
      "description": "List of children names",
      "type": "array",
      "items": {
        "type": "string"
      },
      "default": []
    },
    "variables": {
      "$ref": "#/definitions/NodeVariables",
      "description": "Node variables dictionary"
    },
    "name": {
      "description": "Node name",
      "type": "string"
    }
  },
  "required": [
    "children",
    "name",
    "type",
    "variables"
  ],
  "definitions": {
    "NodeVariables": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
```
