Small refactoring of OtaPackageController
This commit is contained in:
parent
db2ca43b02
commit
5949fa1ac8
@ -24,13 +24,14 @@ import org.springframework.core.io.ByteArrayResource;
|
|||||||
import org.springframework.http.HttpHeaders;
|
import org.springframework.http.HttpHeaders;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
|
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
import org.springframework.web.bind.annotation.PathVariable;
|
import org.springframework.web.bind.annotation.PathVariable;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestMethod;
|
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
import org.springframework.web.bind.annotation.RequestPart;
|
import org.springframework.web.bind.annotation.RequestPart;
|
||||||
import org.springframework.web.bind.annotation.ResponseBody;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
import org.thingsboard.server.common.data.OtaPackage;
|
import org.thingsboard.server.common.data.OtaPackage;
|
||||||
@ -49,8 +50,6 @@ import org.thingsboard.server.service.entitiy.ota.TbOtaPackageService;
|
|||||||
import org.thingsboard.server.service.security.permission.Operation;
|
import org.thingsboard.server.service.security.permission.Operation;
|
||||||
import org.thingsboard.server.service.security.permission.Resource;
|
import org.thingsboard.server.service.security.permission.Resource;
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
|
|
||||||
import static org.springframework.http.MediaType.MULTIPART_FORM_DATA_VALUE;
|
import static org.springframework.http.MediaType.MULTIPART_FORM_DATA_VALUE;
|
||||||
import static org.thingsboard.server.controller.ControllerConstants.DEVICE_PROFILE_ID_PARAM_DESCRIPTION;
|
import static org.thingsboard.server.controller.ControllerConstants.DEVICE_PROFILE_ID_PARAM_DESCRIPTION;
|
||||||
import static org.thingsboard.server.controller.ControllerConstants.OTA_PACKAGE_DESCRIPTION;
|
import static org.thingsboard.server.controller.ControllerConstants.OTA_PACKAGE_DESCRIPTION;
|
||||||
@ -80,8 +79,7 @@ public class OtaPackageController extends BaseController {
|
|||||||
|
|
||||||
@ApiOperation(value = "Download OTA Package (downloadOtaPackage)", notes = "Download OTA Package based on the provided OTA Package Id." + TENANT_AUTHORITY_PARAGRAPH)
|
@ApiOperation(value = "Download OTA Package (downloadOtaPackage)", notes = "Download OTA Package based on the provided OTA Package Id." + TENANT_AUTHORITY_PARAGRAPH)
|
||||||
@PreAuthorize("hasAnyAuthority( 'TENANT_ADMIN')")
|
@PreAuthorize("hasAnyAuthority( 'TENANT_ADMIN')")
|
||||||
@RequestMapping(value = "/otaPackage/{otaPackageId}/download", method = RequestMethod.GET)
|
@GetMapping(value = "/otaPackage/{otaPackageId}/download")
|
||||||
@ResponseBody
|
|
||||||
public ResponseEntity<org.springframework.core.io.Resource> downloadOtaPackage(@Parameter(description = OTA_PACKAGE_ID_PARAM_DESCRIPTION)
|
public ResponseEntity<org.springframework.core.io.Resource> downloadOtaPackage(@Parameter(description = OTA_PACKAGE_ID_PARAM_DESCRIPTION)
|
||||||
@PathVariable(OTA_PACKAGE_ID) String strOtaPackageId) throws ThingsboardException {
|
@PathVariable(OTA_PACKAGE_ID) String strOtaPackageId) throws ThingsboardException {
|
||||||
checkParameter(OTA_PACKAGE_ID, strOtaPackageId);
|
checkParameter(OTA_PACKAGE_ID, strOtaPackageId);
|
||||||
@ -105,8 +103,7 @@ public class OtaPackageController extends BaseController {
|
|||||||
notes = "Fetch the OTA Package Info object based on the provided OTA Package Id. " +
|
notes = "Fetch the OTA Package Info object based on the provided OTA Package Id. " +
|
||||||
OTA_PACKAGE_INFO_DESCRIPTION + TENANT_OR_CUSTOMER_AUTHORITY_PARAGRAPH)
|
OTA_PACKAGE_INFO_DESCRIPTION + TENANT_OR_CUSTOMER_AUTHORITY_PARAGRAPH)
|
||||||
@PreAuthorize("hasAnyAuthority('TENANT_ADMIN', 'CUSTOMER_USER')")
|
@PreAuthorize("hasAnyAuthority('TENANT_ADMIN', 'CUSTOMER_USER')")
|
||||||
@RequestMapping(value = "/otaPackage/info/{otaPackageId}", method = RequestMethod.GET)
|
@GetMapping(value = "/otaPackage/info/{otaPackageId}")
|
||||||
@ResponseBody
|
|
||||||
public OtaPackageInfo getOtaPackageInfoById(@Parameter(description = OTA_PACKAGE_ID_PARAM_DESCRIPTION)
|
public OtaPackageInfo getOtaPackageInfoById(@Parameter(description = OTA_PACKAGE_ID_PARAM_DESCRIPTION)
|
||||||
@PathVariable(OTA_PACKAGE_ID) String strOtaPackageId) throws ThingsboardException {
|
@PathVariable(OTA_PACKAGE_ID) String strOtaPackageId) throws ThingsboardException {
|
||||||
checkParameter(OTA_PACKAGE_ID, strOtaPackageId);
|
checkParameter(OTA_PACKAGE_ID, strOtaPackageId);
|
||||||
@ -118,8 +115,7 @@ public class OtaPackageController extends BaseController {
|
|||||||
notes = "Fetch the OTA Package object based on the provided OTA Package Id. " +
|
notes = "Fetch the OTA Package object based on the provided OTA Package Id. " +
|
||||||
"The server checks that the OTA Package is owned by the same tenant. " + OTA_PACKAGE_DESCRIPTION + TENANT_AUTHORITY_PARAGRAPH)
|
"The server checks that the OTA Package is owned by the same tenant. " + OTA_PACKAGE_DESCRIPTION + TENANT_AUTHORITY_PARAGRAPH)
|
||||||
@PreAuthorize("hasAnyAuthority('TENANT_ADMIN')")
|
@PreAuthorize("hasAnyAuthority('TENANT_ADMIN')")
|
||||||
@RequestMapping(value = "/otaPackage/{otaPackageId}", method = RequestMethod.GET)
|
@GetMapping(value = "/otaPackage/{otaPackageId}")
|
||||||
@ResponseBody
|
|
||||||
public OtaPackage getOtaPackageById(@Parameter(description = OTA_PACKAGE_ID_PARAM_DESCRIPTION)
|
public OtaPackage getOtaPackageById(@Parameter(description = OTA_PACKAGE_ID_PARAM_DESCRIPTION)
|
||||||
@PathVariable(OTA_PACKAGE_ID) String strOtaPackageId) throws ThingsboardException {
|
@PathVariable(OTA_PACKAGE_ID) String strOtaPackageId) throws ThingsboardException {
|
||||||
checkParameter(OTA_PACKAGE_ID, strOtaPackageId);
|
checkParameter(OTA_PACKAGE_ID, strOtaPackageId);
|
||||||
@ -134,10 +130,9 @@ public class OtaPackageController extends BaseController {
|
|||||||
"Referencing non-existing OTA Package Id will cause 'Not Found' error. " +
|
"Referencing non-existing OTA Package Id will cause 'Not Found' error. " +
|
||||||
"\n\nOTA Package combination of the title with the version is unique in the scope of tenant. " + TENANT_AUTHORITY_PARAGRAPH)
|
"\n\nOTA Package combination of the title with the version is unique in the scope of tenant. " + TENANT_AUTHORITY_PARAGRAPH)
|
||||||
@PreAuthorize("hasAnyAuthority('TENANT_ADMIN')")
|
@PreAuthorize("hasAnyAuthority('TENANT_ADMIN')")
|
||||||
@RequestMapping(value = "/otaPackage", method = RequestMethod.POST)
|
@PostMapping(value = "/otaPackage")
|
||||||
@ResponseBody
|
|
||||||
public OtaPackageInfo saveOtaPackageInfo(@Parameter(description = "A JSON value representing the OTA Package.")
|
public OtaPackageInfo saveOtaPackageInfo(@Parameter(description = "A JSON value representing the OTA Package.")
|
||||||
@RequestBody SaveOtaPackageInfoRequest otaPackageInfo) throws ThingsboardException {
|
@RequestBody SaveOtaPackageInfoRequest otaPackageInfo) throws Exception {
|
||||||
otaPackageInfo.setTenantId(getTenantId());
|
otaPackageInfo.setTenantId(getTenantId());
|
||||||
checkEntity(otaPackageInfo.getId(), otaPackageInfo, Resource.OTA_PACKAGE);
|
checkEntity(otaPackageInfo.getId(), otaPackageInfo, Resource.OTA_PACKAGE);
|
||||||
|
|
||||||
@ -148,8 +143,7 @@ public class OtaPackageController extends BaseController {
|
|||||||
notes = "Update the OTA Package. Adds the date to the existing OTA Package Info" + TENANT_AUTHORITY_PARAGRAPH,
|
notes = "Update the OTA Package. Adds the date to the existing OTA Package Info" + TENANT_AUTHORITY_PARAGRAPH,
|
||||||
requestBody = @io.swagger.v3.oas.annotations.parameters.RequestBody(content = @Content(mediaType = MULTIPART_FORM_DATA_VALUE)))
|
requestBody = @io.swagger.v3.oas.annotations.parameters.RequestBody(content = @Content(mediaType = MULTIPART_FORM_DATA_VALUE)))
|
||||||
@PreAuthorize("hasAnyAuthority('TENANT_ADMIN')")
|
@PreAuthorize("hasAnyAuthority('TENANT_ADMIN')")
|
||||||
@RequestMapping(value = "/otaPackage/{otaPackageId}", method = RequestMethod.POST, consumes = MULTIPART_FORM_DATA_VALUE)
|
@PostMapping(value = "/otaPackage/{otaPackageId}", consumes = MULTIPART_FORM_DATA_VALUE)
|
||||||
@ResponseBody
|
|
||||||
public OtaPackageInfo saveOtaPackageData(@Parameter(description = OTA_PACKAGE_ID_PARAM_DESCRIPTION)
|
public OtaPackageInfo saveOtaPackageData(@Parameter(description = OTA_PACKAGE_ID_PARAM_DESCRIPTION)
|
||||||
@PathVariable(OTA_PACKAGE_ID) String strOtaPackageId,
|
@PathVariable(OTA_PACKAGE_ID) String strOtaPackageId,
|
||||||
@Parameter(description = "OTA Package checksum. For example, '0xd87f7e0c'")
|
@Parameter(description = "OTA Package checksum. For example, '0xd87f7e0c'")
|
||||||
@ -157,7 +151,7 @@ public class OtaPackageController extends BaseController {
|
|||||||
@Parameter(description = "OTA Package checksum algorithm.", schema = @Schema(allowableValues = {"MD5", "SHA256", "SHA384", "SHA512", "CRC32", "MURMUR3_32", "MURMUR3_128"}))
|
@Parameter(description = "OTA Package checksum algorithm.", schema = @Schema(allowableValues = {"MD5", "SHA256", "SHA384", "SHA512", "CRC32", "MURMUR3_32", "MURMUR3_128"}))
|
||||||
@RequestParam(CHECKSUM_ALGORITHM) String checksumAlgorithmStr,
|
@RequestParam(CHECKSUM_ALGORITHM) String checksumAlgorithmStr,
|
||||||
@Parameter(description = "OTA Package data.")
|
@Parameter(description = "OTA Package data.")
|
||||||
@RequestPart MultipartFile file) throws ThingsboardException, IOException {
|
@RequestPart MultipartFile file) throws Exception {
|
||||||
checkParameter(OTA_PACKAGE_ID, strOtaPackageId);
|
checkParameter(OTA_PACKAGE_ID, strOtaPackageId);
|
||||||
checkParameter(CHECKSUM_ALGORITHM, checksumAlgorithmStr);
|
checkParameter(CHECKSUM_ALGORITHM, checksumAlgorithmStr);
|
||||||
OtaPackageId otaPackageId = new OtaPackageId(toUUID(strOtaPackageId));
|
OtaPackageId otaPackageId = new OtaPackageId(toUUID(strOtaPackageId));
|
||||||
@ -172,8 +166,7 @@ public class OtaPackageController extends BaseController {
|
|||||||
notes = "Returns a page of OTA Package Info objects owned by tenant. " +
|
notes = "Returns a page of OTA Package Info objects owned by tenant. " +
|
||||||
PAGE_DATA_PARAMETERS + OTA_PACKAGE_INFO_DESCRIPTION + TENANT_OR_CUSTOMER_AUTHORITY_PARAGRAPH)
|
PAGE_DATA_PARAMETERS + OTA_PACKAGE_INFO_DESCRIPTION + TENANT_OR_CUSTOMER_AUTHORITY_PARAGRAPH)
|
||||||
@PreAuthorize("hasAnyAuthority('TENANT_ADMIN', 'CUSTOMER_USER')")
|
@PreAuthorize("hasAnyAuthority('TENANT_ADMIN', 'CUSTOMER_USER')")
|
||||||
@RequestMapping(value = "/otaPackages", method = RequestMethod.GET)
|
@GetMapping(value = "/otaPackages")
|
||||||
@ResponseBody
|
|
||||||
public PageData<OtaPackageInfo> getOtaPackages(@Parameter(description = PAGE_SIZE_DESCRIPTION, required = true)
|
public PageData<OtaPackageInfo> getOtaPackages(@Parameter(description = PAGE_SIZE_DESCRIPTION, required = true)
|
||||||
@RequestParam int pageSize,
|
@RequestParam int pageSize,
|
||||||
@Parameter(description = PAGE_NUMBER_DESCRIPTION, required = true)
|
@Parameter(description = PAGE_NUMBER_DESCRIPTION, required = true)
|
||||||
@ -192,8 +185,7 @@ public class OtaPackageController extends BaseController {
|
|||||||
notes = "Returns a page of OTA Package Info objects owned by tenant. " +
|
notes = "Returns a page of OTA Package Info objects owned by tenant. " +
|
||||||
PAGE_DATA_PARAMETERS + OTA_PACKAGE_INFO_DESCRIPTION + TENANT_OR_CUSTOMER_AUTHORITY_PARAGRAPH)
|
PAGE_DATA_PARAMETERS + OTA_PACKAGE_INFO_DESCRIPTION + TENANT_OR_CUSTOMER_AUTHORITY_PARAGRAPH)
|
||||||
@PreAuthorize("hasAnyAuthority('TENANT_ADMIN', 'CUSTOMER_USER')")
|
@PreAuthorize("hasAnyAuthority('TENANT_ADMIN', 'CUSTOMER_USER')")
|
||||||
@RequestMapping(value = "/otaPackages/{deviceProfileId}/{type}", method = RequestMethod.GET)
|
@GetMapping(value = "/otaPackages/{deviceProfileId}/{type}")
|
||||||
@ResponseBody
|
|
||||||
public PageData<OtaPackageInfo> getOtaPackages(@Parameter(description = DEVICE_PROFILE_ID_PARAM_DESCRIPTION)
|
public PageData<OtaPackageInfo> getOtaPackages(@Parameter(description = DEVICE_PROFILE_ID_PARAM_DESCRIPTION)
|
||||||
@PathVariable("deviceProfileId") String strDeviceProfileId,
|
@PathVariable("deviceProfileId") String strDeviceProfileId,
|
||||||
@Parameter(description = "OTA Package type.", schema = @Schema(allowableValues = {"FIRMWARE", "SOFTWARE"}))
|
@Parameter(description = "OTA Package type.", schema = @Schema(allowableValues = {"FIRMWARE", "SOFTWARE"}))
|
||||||
@ -219,8 +211,7 @@ public class OtaPackageController extends BaseController {
|
|||||||
notes = "Deletes the OTA Package. Referencing non-existing OTA Package Id will cause an error. " +
|
notes = "Deletes the OTA Package. Referencing non-existing OTA Package Id will cause an error. " +
|
||||||
"Can't delete the OTA Package if it is referenced by existing devices or device profile." + TENANT_AUTHORITY_PARAGRAPH)
|
"Can't delete the OTA Package if it is referenced by existing devices or device profile." + TENANT_AUTHORITY_PARAGRAPH)
|
||||||
@PreAuthorize("hasAnyAuthority('TENANT_ADMIN')")
|
@PreAuthorize("hasAnyAuthority('TENANT_ADMIN')")
|
||||||
@RequestMapping(value = "/otaPackage/{otaPackageId}", method = RequestMethod.DELETE)
|
@DeleteMapping(value = "/otaPackage/{otaPackageId}")
|
||||||
@ResponseBody
|
|
||||||
public void deleteOtaPackage(@Parameter(description = OTA_PACKAGE_ID_PARAM_DESCRIPTION)
|
public void deleteOtaPackage(@Parameter(description = OTA_PACKAGE_ID_PARAM_DESCRIPTION)
|
||||||
@PathVariable("otaPackageId") String strOtaPackageId) throws ThingsboardException {
|
@PathVariable("otaPackageId") String strOtaPackageId) throws ThingsboardException {
|
||||||
checkParameter(OTA_PACKAGE_ID, strOtaPackageId);
|
checkParameter(OTA_PACKAGE_ID, strOtaPackageId);
|
||||||
|
|||||||
@ -110,4 +110,5 @@ public class DefaultTbOtaPackageService extends AbstractTbEntityService implemen
|
|||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user