lib/zabbixapi/classes/usergroups.rb in zabbixapi-4.1.2 vs lib/zabbixapi/classes/usergroups.rb in zabbixapi-4.2.0

- old
+ new

@@ -28,48 +28,45 @@ # @raise [HttpError] Error raised when HTTP status from Zabbix Server response is not a 200 OK. # @return [Integer] Zabbix object id (usergroup) def permissions(data) permission = data[:permission] || 2 result = @client.api_request( - method: 'usergroup.massAdd', + method: 'usergroup.update', params: { - usrgrpids: [data[:usrgrpid]], + usrgrpid: data[:usrgrpid], rights: data[:hostgroupids].map { |t| { permission: permission, id: t } } } ) result ? result['usrgrpids'][0].to_i : nil end # Add users to usergroup using Zabbix API # + # @deprecated Zabbix has removed massAdd in favor of update. # @param data [Hash] Needs to include userids and usrgrpids to mass add users to groups # @raise [ApiError] Error returned when there is a problem with the Zabbix API call. # @raise [HttpError] Error raised when HTTP status from Zabbix Server response is not a 200 OK. # @return [Integer] Zabbix object id (usergroup) def add_user(data) - result = @client.api_request( - method: 'usergroup.massAdd', - params: { - usrgrpids: data[:usrgrpids], - userids: data[:userids] - } - ) - result ? result['usrgrpids'][0].to_i : nil + update_users(data) end # Update users in usergroups using Zabbix API # # @param data [Hash] Needs to include userids and usrgrpids to mass update users in groups # @raise [ApiError] Error returned when there is a problem with the Zabbix API call. # @raise [HttpError] Error raised when HTTP status from Zabbix Server response is not a 200 OK. # @return [Integer] Zabbix object id (usergroup) def update_users(data) - result = @client.api_request( - method: 'usergroup.massUpdate', - params: { - usrgrpids: data[:usrgrpids], - userids: data[:userids] + user_groups = data[:usrgrpids].map do |t| + { + usrgrpid: t, + userids: data[:userids], } + end + result = @client.api_request( + method: 'usergroup.update', + params: user_groups, ) result ? result['usrgrpids'][0].to_i : nil end end end