class ShardController {

    @GET
    @Produces(MediaType.APPLICATION_JSON)
    @Operation(
        summary = "Retrieve all completed only shards",
        description = "Get all 'completed' shard entries from database",
        tags = {"shards"},
        responses = {
            @ApiResponse(responseCode = "200", description = "Successful execution",
                content = @Content(mediaType = "application/json",
                    schema = @Schema(implementation = ShardDTO.class)))
        })
    @PermitAll
    public Response getAllShards() {
        List<ShardDTO> allCompletedShards = shardService.getAllCompletedShards().stream()
            .map(shard -> shardConverter.convert(shard)).collect(Collectors.toList());
        return Response.ok(allCompletedShards).build();
    }

    @Inject public  ShardController(ShardService shardService, FirstLastIndexParser indexParser);
    public  ShardController();

}