Виды (Views)

Last updated last month

Ресурс View — вид (сохраненный фильтр) каталога.

Вид

URL: /{api url}/catalogs/{catalogId}/views/{viewId}

Параметры:

  • catalogId: (number) — идентификатор каталога

  • viewId: (number) — идентификатор вида

Получить вид [GET]

Ответ: 200 OK (application/json)

{
"id": "4",
"name": "View public name",
"originName": "View name for admins",
"forRights": true, // true — правовой вид, false — личный вид
"privilegeCode": "access" // право на вид
"filters": [
{
"id": "101", // идентификатор условия
"attr": "12", // идентификатор поля каталога для фильтрации
"value": ["1", "2", "5"] // условия фильтрации
},
{
"id": "102",
"attr": "13",
"value": {
"at": "2015-10-27T00:00:00+03:00",
"to" : "2015-11-19T23:59:59+03:00"
}
}
]
}

Filters — массив фильтров. Каждый фильтр это объект, состоящий из параметра attr (указывает на ID поля для фильтрации данных) и объекта value (параметры поискового запроса). Value для разных типов полей имеет разную структуру.

Формат параметра value для разных типов полей:

  • Для текстовых полей — поиск по вхождению: value = ""

  • Для дат, чисел, прогресса — поиск по диапазону: value = { at : '...', to : '...' }

  • Для категории, набора галочек, вопроса, звёзд — поиск по вхождению: value = [1,2,3,5]

  • Для связанных объектов: value = [ { catalogId:18, recordId:9 }, { catalogId:18, recordId:10 } ]

  • Для сотрудников: value = [21, 22, 'CURRENT_USER']

Изменить вид [PATCH]

Запрос: (application/json)

{
"name": "View public name",
"originName": "View name for admins",
"forRights": true
}

Ответ: 200 OK

Удалить вид [DELETE]

Ответ: 200 OK

Коллекция видов

URL: /{api url}/catalogs/{catalogId}/views

Параметры:

  • catalogId: (number) — идентификатор каталога

Получить виды [GET]

Ответ:200 OK (application/json)

[
{
"id": "5",
"name": "View with Rights",
"originName": "View for juniors",
"forRights": true
},
{
"id": "6",
"name": "My own view",
"forRights": false
}
]

Создать вид [POST]

Запрос: (application/json)

{
"name": "View public name",
"originName": "View name for admins",
"forRights": true, // true — правовой вид, false — личный вид
"filters": [
{
"id": "101",
"attr": "12",
"value": ["1", "2", "5"]
},
{
"id": "102",
"attr": "13",
"value": {
"at": "2015-10-27T00:00:00+03:00",
"to" : "2015-11-19T23:59:59+03:00"
}
}
]
}

Ответ: 200 OK (application/json)

{
"id": "7" // идентификатор созданного вида
}