Формулировка проблемы: для реализации нового модуля «Документы» в мобильном клиенте требуется реализовать API для получения списка реестров для создания документов.
Решение: необходимо реализовать два новых
метода API, позволяющих:
выполнять поиск избранных реестров;
возвращать список документов для окна «Избранное».
Метод, позволяющий выполнять поиск избранных реестров
URL метода:
rest/api/registry/search_favorite. Типа запроса:
GET.
Метод принимает следующие параметры (не обяз., строка):
start - начальная позиция поиска (не
требуется для первого поиска);
search - строка поиска.
Метод возвращает json вида
{"position" : "N"}, где
position - позиция найденного элемента.
Примечание: если ни один элемент не
соответствует поисковому запросу, параметр
position вернется со значением
-1.
Метод, позволяющий возвращать список документов для окна «Избранное»
URL метода:
rest/api/registry/favorite. Типа запроса:
GET.
Метод принимает следующие параметры (не обяз., строка):
bookmarks - признак отображения пунктов
создания документов:
true - отображать только избранные
false (по умолчанию) - отображать все;
mobile - признак наличия мобильного
представления у формы пункта создания документов:
true - отображать только те пункты, форма
которых имеет мобильное представление;
false (по умолчанию) - отображать все
формы;
locale - локаль пользователя,
ru/en/kz (по умолчанию,
ru).
В зависимости от типа элемента метод возвращает массив элементов, которые могут быть двух типов:
группа:
itemID - UUID группы;
group- признак элемента
(true для группы);
name - имя группы;
parentID - UUID
родительской группы (при наличии);
пункт:
itemID - UUID пункта;
group- признак элемента
(false для пункта);
name - имя пункта;
registryID - UUID
реестра;
registryName - наименование реестра;
formID - UUID формы;
formName - название формы;
parentID - UUID
родительской группы (при наличии);
isBookmark - является ли текущий пункт
избранным (true - да,
false - нет).
Пример возвращаемого массива
[
{
"itemID": "8049c154-7d19-4cb3-8f9e-013de869525c",
"group": "true",
"name": "Группа 1"
},
{
"itemID": "d4176542-e76d-41c9-9278-1a06d317d687",
"group": "true",
"name": "Группа 2"
},
{
"itemID": "fafe269c-0871-4697-85c5-1c473b48c0b5",
"group": "false",
"registryID": "30ab9d73-95dc-4281-9326-47ac05837838",
"registryName": "Реестр для служебных заявок",
"formID": "dec6966f-6002-49ac-8013-b55f3c21763a",
"formName": "api-test-form",
"name": "Пункт 1",
"isBookmark": "true"
}
]