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
.