Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ public enum RegisteredDeviceErrorCode {


DEVICE_PROVIDER_NOT_EXIST("ADM-DPM-032","Device Provider ID/Name does not exist in the list of Registered Device Providers"),
REGISTERED_DEVICE_INSERTION_EXCEPTION(" ADM-DPM-035","Error occurred while storing Registered Device Details"),
REGISTERED_DEVICE_INSERTION_EXCEPTION("ADM-DPM-035","Error occurred while storing Registered Device Details"),
SERIALNUM_NOT_EXIST("ADM-DPM-042","%s Cannot register device as it is not a white-listed device"),
STATUS_CODE_VALIDATION_EXCEPTION("ADM-DPM-028", "Error occured while validating Status Code"),
TYPE_VALIDATION_EXCEPTION("KER-DPM-sss", "Error occured while validating Type Value"),
Expand Down
Original file line number Diff line number Diff line change
@@ -1,97 +1,89 @@
package io.mosip.kernel.masterdata.controller;

import javax.validation.Valid;
import javax.validation.constraints.NotBlank;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import io.mosip.kernel.core.http.RequestWrapper;
import io.mosip.kernel.core.http.ResponseFilter;
import io.mosip.kernel.core.http.ResponseWrapper;
import io.mosip.kernel.masterdata.dto.DeviceDeRegisterResponse;
import io.mosip.kernel.masterdata.dto.DeviceRegisterResponseDto;
import io.mosip.kernel.masterdata.dto.EncodedRegisteredDeviceResponse;
import io.mosip.kernel.masterdata.dto.RegisteredDevicePostReqDto;
import io.mosip.kernel.masterdata.dto.getresponse.ResponseDto;
import io.mosip.kernel.masterdata.dto.getresponse.extn.RegisteredDeviceExtnDto;
import io.mosip.kernel.masterdata.service.RegisteredDeviceService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;

/**
* Controller for CURD operation on Registered Device Details
*
* @author Megha Tanga
* @since 1.0.0
*
*/
@RestController
@RequestMapping(value = "/registereddevices")
@Api(tags = { "Registered Device" })
public class RegisteredDeviceController {

@Autowired
RegisteredDeviceService registeredDeviceService;

/**
* Api to Register Device.
*
* @param registeredDevicePostReqDto
* the request DTO.
* @return response
*/

@ResponseFilter
@PreAuthorize("hasAnyRole('ZONAL_ADMIN')")
@PostMapping
@ApiOperation(value = "Service to save Registered Device", notes = "Saves Registered Device Detail and return Registered Device")
@ApiResponses({ @ApiResponse(code = 201, message = "When Registered Device successfully created"),
@ApiResponse(code = 400, message = "When Request body passed is null or invalid"),
@ApiResponse(code = 404, message = "When No Registered Device found"),
@ApiResponse(code = 500, message = "While creating Registered Device any error occured") })
public ResponseWrapper<RegisteredDeviceExtnDto> createRegisteredDevice(
@Valid @RequestBody RequestWrapper<RegisteredDevicePostReqDto> registeredDevicePostReqDto) {
ResponseWrapper<RegisteredDeviceExtnDto> response = new ResponseWrapper<>();
response.setResponse(registeredDeviceService.createRegisteredDevice(registeredDevicePostReqDto.getRequest()));
return response;
}

/**
* Api to de-register Device.
*
* @param request
* the request DTO.
* @return the {@link DeviceRegisterResponseDto}.
*/
@PreAuthorize("hasAnyRole('ZONAL_ADMIN')")
@ApiOperation(value = "DeRegister Device")
@DeleteMapping("/deregister/{deviceCode}")
@ResponseFilter
public ResponseWrapper<DeviceDeRegisterResponse> deRegisterDevice(@Valid @PathVariable String deviceCode) {
ResponseWrapper<DeviceDeRegisterResponse> response = new ResponseWrapper<>();
response.setResponse(registeredDeviceService.deRegisterDevice(deviceCode));
return response;
}

@PreAuthorize("hasAnyRole('ZONAL_ADMIN')")
@ApiOperation(value = "Update status of the devive")
@PutMapping("/update/status")
public ResponseEntity<ResponseDto> deRegisterDevice(@NotBlank @RequestParam(name="deviceCode",required=true) String deviceCode,
@NotBlank @RequestParam(name="statusCode",required=true) String statusCode) {
return new ResponseEntity<>(registeredDeviceService.updateStatus(deviceCode, statusCode), HttpStatus.OK);
}

}
package io.mosip.kernel.masterdata.controller;

import javax.validation.Valid;
import javax.validation.constraints.NotBlank;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import io.mosip.kernel.core.http.RequestWrapper;
import io.mosip.kernel.core.http.ResponseFilter;
import io.mosip.kernel.core.http.ResponseWrapper;
import io.mosip.kernel.masterdata.dto.DeviceDeRegisterResponse;
import io.mosip.kernel.masterdata.dto.DeviceRegisterResponseDto;
import io.mosip.kernel.masterdata.dto.getresponse.ResponseDto;
import io.mosip.kernel.masterdata.dto.registerdevice.RegisteredDevicePostDto;
import io.mosip.kernel.masterdata.service.RegisteredDeviceService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

/**
* Controller for CURD operation on Registered Device Details
*
* @author Megha Tanga
* @since 1.0.0
*
*/
@RestController
@RequestMapping(value = "/registereddevices")
@Api(tags = { "Registered Device" })
public class RegisteredDeviceController {

@Autowired
RegisteredDeviceService registeredDeviceService;


/**
* Api to Register Device.
*
* Digitally signed device
*
* @param registeredDevicePostDto
* @return ResponseWrapper<String>
*/
@ResponseFilter
@PreAuthorize("hasAnyRole('ZONAL_ADMIN')")
@PostMapping
public ResponseWrapper<String> signedRegisteredDevice(
@Valid @RequestBody RequestWrapper<RegisteredDevicePostDto> registeredDevicePostDto) {
ResponseWrapper<String> response = new ResponseWrapper<>();
response.setResponse(registeredDeviceService.signedRegisteredDevice(registeredDevicePostDto.getRequest()));
return response;
}

/**
* Api to de-register Device.
*
* @param request
* the request DTO.
* @return the {@link DeviceRegisterResponseDto}.
*/
@PreAuthorize("hasAnyRole('ZONAL_ADMIN')")
@ApiOperation(value = "DeRegister Device")
@DeleteMapping("/deregister/{deviceCode}")
@ResponseFilter
public ResponseWrapper<DeviceDeRegisterResponse> deRegisterDevice(@Valid @PathVariable String deviceCode) {
ResponseWrapper<DeviceDeRegisterResponse> response = new ResponseWrapper<>();
response.setResponse(registeredDeviceService.deRegisterDevice(deviceCode));
return response;
}

@PreAuthorize("hasAnyRole('ZONAL_ADMIN')")
@ApiOperation(value = "Update status of the devive")
@PutMapping("/update/status")
public ResponseEntity<ResponseDto> deRegisterDevice(@NotBlank @RequestParam(name="deviceCode",required=true) String deviceCode,
@NotBlank @RequestParam(name="statusCode",required=true) String statusCode) {
return new ResponseEntity<>(registeredDeviceService.updateStatus(deviceCode, statusCode), HttpStatus.OK);
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
/**
*
*/
package io.mosip.kernel.masterdata.dto.registerdevice;

import lombok.Data;

/**
* @author Ramadurai Pandian
*
*/
@Data
public class DeviceData {

private String deviceId;

private String purpose;

private DeviceInfo deviceInfo;

private String foundationalTrustProviderId;

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
/**
*
*/
package io.mosip.kernel.masterdata.dto.registerdevice;

import java.time.LocalDateTime;

import com.fasterxml.jackson.annotation.JsonFormat;

import lombok.Data;

/**
* @author Ramadurai Pandian
*
*/
@Data
public class DeviceInfo {

private String deviceSubId;

private String certification;

private String digitalId;

private String firmware;

@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
private LocalDateTime deviceExpiry;

@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
private LocalDateTime timeStamp;

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
/**
*
*/
package io.mosip.kernel.masterdata.dto.registerdevice;

import lombok.Data;

/**
* @author Ramadurai Pandian
*
*/
@Data
public class DeviceResponse {

private String response;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
/**
*
*/
package io.mosip.kernel.masterdata.dto.registerdevice;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
* @author Ramadurai Pandian
*
*/
@Data
public class DigitalId {

/** The serial no. */
@NotBlank
@Size(min = 0, max = 64)
@ApiModelProperty(value = "serialNumber", required = true, dataType = "java.lang.String")
private String serialNo;

/** The Device Provider Name. */
@NotBlank
@Size(min = 0, max = 128)
@ApiModelProperty(value = "providerName", required = true, dataType = "java.lang.String")
private String deviceProvider;

/** The Device Provider id. */
@NotBlank
@Size(min = 0, max = 36)
@ApiModelProperty(value = "providerId", required = true, dataType = "java.lang.String")
private String deviceProviderId;

/** The make. */
@NotBlank
@Size(min = 0, max = 36)
@ApiModelProperty(value = "make", required = true, dataType = "java.lang.String")
private String make;

/** The model. */
@NotBlank
@Size(min = 0, max = 36)
@ApiModelProperty(value = "model", required = true, dataType = "java.lang.String")
private String model;

/** The date time. */
private String dateTime;

/**
* Field for deviceTypeCode
*/
@NotBlank
@Size(min = 0, max = 36)
@ApiModelProperty(value = "type", required = true, dataType = "java.lang.String")
private String type;

/**
* Field for deviceSubTypeCode
*/
@NotBlank
@Size(min = 1, max = 36)
@ApiModelProperty(value = "subType", required = true, dataType = "java.lang.String")
private String subType;



}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
/**
*
*/
package io.mosip.kernel.masterdata.dto.registerdevice;

import lombok.Data;

/**
* @author Ramadurai Pandian
*
*/
@Data
public class HeaderRequest {

private String alg;

private String type;

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
/**
*
*/
package io.mosip.kernel.masterdata.dto.registerdevice;

import java.time.LocalDateTime;

import com.fasterxml.jackson.annotation.JsonFormat;

import lombok.Data;

/**
* @author Ramadurai Pandian
*
*/
@Data
public class RegisterDeviceResponse {

private String status;

private String digitalId;

private String deviceCode;

private String env;

@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
private LocalDateTime timeStamp;
}
Loading