Rest API call to get device by tenant id and name
This commit is contained in:
parent
7c6cdb148c
commit
2d27b444a5
@ -156,6 +156,19 @@ public class DeviceController extends BaseController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreAuthorize("hasAuthority('TENANT_ADMIN')")
|
||||||
|
@RequestMapping(value = "/tenant/devices", params = {"deviceName"}, method = RequestMethod.GET)
|
||||||
|
@ResponseBody
|
||||||
|
public Device getTenantDevice(
|
||||||
|
@RequestParam String deviceName) throws ThingsboardException {
|
||||||
|
try {
|
||||||
|
TenantId tenantId = getCurrentUser().getTenantId();
|
||||||
|
return checkNotNull(deviceService.findDeviceByTenantIdAndName(tenantId, deviceName));
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw handleException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@PreAuthorize("hasAnyAuthority('TENANT_ADMIN', 'CUSTOMER_USER')")
|
@PreAuthorize("hasAnyAuthority('TENANT_ADMIN', 'CUSTOMER_USER')")
|
||||||
@RequestMapping(value = "/customer/{customerId}/devices", params = {"limit"}, method = RequestMethod.GET)
|
@RequestMapping(value = "/customer/{customerId}/devices", params = {"limit"}, method = RequestMethod.GET)
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
|
|||||||
@ -18,11 +18,13 @@ package org.thingsboard.client.tools;
|
|||||||
import com.fasterxml.jackson.databind.JsonNode;
|
import com.fasterxml.jackson.databind.JsonNode;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.http.HttpRequest;
|
import org.springframework.http.HttpRequest;
|
||||||
|
import org.springframework.http.HttpStatus;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.http.client.ClientHttpRequestExecution;
|
import org.springframework.http.client.ClientHttpRequestExecution;
|
||||||
import org.springframework.http.client.ClientHttpRequestInterceptor;
|
import org.springframework.http.client.ClientHttpRequestInterceptor;
|
||||||
import org.springframework.http.client.ClientHttpResponse;
|
import org.springframework.http.client.ClientHttpResponse;
|
||||||
import org.springframework.http.client.support.HttpRequestWrapper;
|
import org.springframework.http.client.support.HttpRequestWrapper;
|
||||||
|
import org.springframework.web.client.HttpClientErrorException;
|
||||||
import org.springframework.web.client.RestTemplate;
|
import org.springframework.web.client.RestTemplate;
|
||||||
import org.thingsboard.server.common.data.Device;
|
import org.thingsboard.server.common.data.Device;
|
||||||
import org.thingsboard.server.common.data.id.DeviceId;
|
import org.thingsboard.server.common.data.id.DeviceId;
|
||||||
@ -32,6 +34,7 @@ import java.io.IOException;
|
|||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Andrew Shvayka
|
* @author Andrew Shvayka
|
||||||
@ -52,6 +55,21 @@ public class RestClient implements ClientHttpRequestInterceptor {
|
|||||||
restTemplate.setInterceptors(Collections.singletonList(this));
|
restTemplate.setInterceptors(Collections.singletonList(this));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Optional<Device> findDevice(String name) {
|
||||||
|
Map<String, String> params = new HashMap<String, String>();
|
||||||
|
params.put("deviceName", name);
|
||||||
|
try {
|
||||||
|
ResponseEntity<Device> deviceEntity = restTemplate.getForEntity(baseURL + "/api/tenant/devices?deviceName={deviceName}", Device.class, params);
|
||||||
|
return Optional.of(deviceEntity.getBody());
|
||||||
|
} catch (HttpClientErrorException exception) {
|
||||||
|
if (exception.getStatusCode() == HttpStatus.NOT_FOUND) {
|
||||||
|
return Optional.empty();
|
||||||
|
} else {
|
||||||
|
throw exception;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public Device createDevice(String name) {
|
public Device createDevice(String name) {
|
||||||
Device device = new Device();
|
Device device = new Device();
|
||||||
device.setName(name);
|
device.setName(name);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user