Формулировка проблемы: для реализации нового модуля «Документы» в мобильном клиенте требуется реализовать 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" } ]