}
@GetMapping("/policy_types")
- @ApiOperation(value = "Returns policy types")
+ @ApiOperation(value = "Query policy type names")
@ApiResponses(
value = {@ApiResponse(
code = 200,
@ApiResponse(code = 200, message = "Policy found", response = Object.class), //
@ApiResponse(code = 204, message = "Policy is not found")} //
)
-
public ResponseEntity<String> getPolicy( //
@RequestParam(name = "instance", required = true) String instance) {
try {
}
@DeleteMapping("/policy")
- @ApiOperation(value = "Deletes the policy", response = Object.class)
+ @ApiOperation(value = "Delete a policy", response = Object.class)
@ApiResponses(value = {@ApiResponse(code = 204, message = "Policy deleted", response = Object.class)})
public Mono<ResponseEntity<Void>> deletePolicy( //
@RequestParam(name = "instance", required = true) String id) {
}
@GetMapping("/policies")
- @ApiOperation(value = "Returns the policies")
+ @ApiOperation(value = "Query policies")
@ApiResponses(
value = {
@ApiResponse(code = 200, message = "Policies", response = PolicyInfo.class, responseContainer = "List")})
}
}
+ @GetMapping("/policy_status")
+ @ApiOperation(value = "Returns a policy status") //
+ @ApiResponses(
+ value = { //
+ @ApiResponse(code = 200, message = "Policy status", response = Object.class), //
+ @ApiResponse(code = 204, message = "Policy is not found", response = String.class)} //
+ )
+ public Mono<ResponseEntity<String>> getPolicyStatus( //
+ @RequestParam(name = "instance", required = true) String instance) {
+ try {
+ Policy policy = policies.getPolicy(instance);
+
+ return a1ClientFactory.createA1Client(policy.ric()) //
+ .flatMap(client -> client.getPolicyStatus(policy)) //
+ .flatMap(status -> Mono.just(new ResponseEntity<String>(status, HttpStatus.OK)));
+ } catch (ServiceException e) {
+ return Mono.just(new ResponseEntity<String>(e.getMessage(), HttpStatus.NO_CONTENT));
+ }
+ }
+
private boolean include(String filter, String value) {
return filter == null || value.equals(filter);
}