|
1 | 1 | package controllers |
2 | 2 |
|
| 3 | +import javax.inject.Inject |
| 4 | + |
| 5 | +import controllers.auth.AuthenticationModule |
| 6 | +import elastic.ElasticClient |
| 7 | +import models.{CerebroResponse, ElasticServer} |
3 | 8 | import models.analysis.{IndexAnalyzers, IndexFields, OpenIndices, Tokens} |
4 | | -import models.ElasticServer |
5 | 9 |
|
6 | 10 | import scala.concurrent.ExecutionContext.Implicits.global |
7 | 11 |
|
8 | | -class AnalysisController extends BaseController { |
| 12 | +class AnalysisController @Inject()(val authentication: AuthenticationModule, |
| 13 | + client: ElasticClient) extends BaseController { |
9 | 14 |
|
10 | | - def getIndices = process { (request, client) => |
11 | | - client.getIndices(ElasticServer(request.host, request.authentication)).map { response => |
12 | | - Status(response.status)(OpenIndices(response.body)) |
| 15 | + def getIndices = process { request => |
| 16 | + client.getIndices(request.target).map { response => |
| 17 | + CerebroResponse(response.status, OpenIndices(response.body)) |
13 | 18 | } |
14 | 19 | } |
15 | 20 |
|
16 | | - def getIndexAnalyzers = process { (request, client) => |
| 21 | + def getIndexAnalyzers = process { request => |
17 | 22 | val index = request.get("index") |
18 | | - client.getIndexSettings(index, ElasticServer(request.host, request.authentication)).map { response => |
19 | | - Status(response.status)(IndexAnalyzers(index, response.body)) |
| 23 | + client.getIndexSettings(index, request.target).map { response => |
| 24 | + CerebroResponse(response.status, IndexAnalyzers(index, response.body)) |
20 | 25 | } |
21 | 26 | } |
22 | 27 |
|
23 | | - def getIndexFields = process { (request, client) => |
| 28 | + def getIndexFields = process { request => |
24 | 29 | val index = request.get("index") |
25 | | - client.getIndexMapping(index, ElasticServer(request.host, request.authentication)).map { response => |
26 | | - Status(response.status)(IndexFields(index, response.body)) |
| 30 | + client.getIndexMapping(index, request.target).map { response => |
| 31 | + CerebroResponse(response.status, IndexFields(index, response.body)) |
27 | 32 | } |
28 | 33 | } |
29 | 34 |
|
30 | | - def analyzeByField = process { (request, client) => |
| 35 | + def analyzeByField = process { request => |
31 | 36 | val index = request.get("index") |
32 | 37 | val field = request.get("field") |
33 | 38 | val text = request.get("text") |
34 | | - client.analyzeTextByField(index, field, text, ElasticServer(request.host, request.authentication)).map { response => |
35 | | - Status(response.status)(Tokens(response.body)) |
| 39 | + client.analyzeTextByField(index, field, text, request.target).map { response => |
| 40 | + CerebroResponse(response.status, Tokens(response.body)) |
36 | 41 | } |
37 | 42 | } |
38 | 43 |
|
39 | | - def analyzeByAnalyzer = process { (request, client) => |
| 44 | + def analyzeByAnalyzer = process { request => |
40 | 45 | val index = request.get("index") |
41 | 46 | val analyzer = request.get("analyzer") |
42 | 47 | val text = request.get("text") |
43 | | - client.analyzeTextByAnalyzer(index, analyzer, text, ElasticServer(request.host, request.authentication)).map { response => |
44 | | - Status(response.status)(Tokens(response.body)) |
| 48 | + client.analyzeTextByAnalyzer(index, analyzer, text, request.target).map { response => |
| 49 | + CerebroResponse(response.status, Tokens(response.body)) |
45 | 50 | } |
46 | 51 | } |
47 | 52 |
|
|
0 commit comments