GroupApi
API для управления группами камер.
Получение списка групп
Получить список групп камер. Укажите страницу для запроса. Для первого запроса установите page = 0.
Если запрос прошел успешно, вы получите пагинированный ответ из групп. Если произойдет какая-либо ошибка, вы получите объект VMSApiError.
getGroupsList(page: Int, completion: (PaginatedResponse<VMSCameraTree>?, VMSApiError?))
Создание группы
Создать новую группу камер с указанным именем. Изначально группа пуста.
Если запрос был успешным, ответом будет nil. Если произойдет какая-либо ошибка, вы получите объект VMSApiError.
createGroup(with name: String, completion: (VMSApiError?))
Переименование группы
Переименовать конкретную группу по ее идентификатору с новым именем.
Если запрос был успешным, ответом будет nil. Если произойдет какая-либо ошибка, вы получите объект VMSApiError.
renameGroup(with id: Int, newName: String, completion: (VMSApiError?))
Удаление группы
Удалить определенную группу по ее идентификатору.
Если запрос был успешным, ответом будет nil. Если произойдет какая-либо ошибка, вы получите объект VMSApiError.
deleteGroup(with id: Int, completion: (VMSApiError?))
Обновление группы
Обновить группу с указанной информацией.
Если запрос был успешным, ответом будет nil. Если произойдет какая-либо ошибка, вы получите объект VMSApiError.
updateGroup(info: VMSUpdateGroupRequest, completion: (VMSApiError?))
VMSUpdateGroupRequest
Объект с необходимой информацией для обновления группы.
init(groupName: String, groupId: Int, cameraIds: [Int])
groupName — новое имя группы. Если вы не хотите менять имя группы, установите в этом параметре старое имя
groupId — идентификатор группы, для указания необходимой группы
cameraIds — список идентификаторов камер, которые вы хотите добавить в эту группу
Синхронизация групп
Этот запрос синхронизирует указанную камеру со всеми группами пользователей. В запросе требуется список групп, к которым будет принадлежать данная камера. Камера будет удалена из других групп.
Если запрос был успешным, ответом будет объект VMSGroupSyncType. Если произойдет какая-либо ошибка, вы получите объект VMSApiError.
syncGroups(for cameraId: Int, groupIds: [Int], completion: (VMSGroupSyncType?, VMSApiError?))
cameraId — укажите камеру по ее идентификатору
groupIds — укажите список идентификаторов групп, в которых будет представлена камера (камера будет добавлена в группу, если ее раньше там не было)
VMSGroupSyncType
Информация о способе синхронизации на стороне сервера.
enum VMSGroupSyncType: String, Codable {
case sync
case async
}
sync — если синхронизация была выполнена
async — если у пользователя более 50 групп, серверный запрос будет выполняться асинхронно.
После завершения процесса вы получите сообщение сокета, которое сможете обработать. Дополнительную информацию см. в VMSPusherApi.