yats.git

ref: master

server/grafana.go


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/**
 * Yats - yats
 *
 * This file is licensed under the Affero General Public License version 3 or
 * later. See the COPYING file.
 *
 * @author Paolo Lulli <kevwe.com>
 * @copyright Paolo Lulli 2024
 */
package main

import (
	"github.com/gin-gonic/gin"
	"yats-server/grafana"
)

func enableGrafanaEndpoint(router *gin.Engine) {
	adHocFiltersAPI := grafana.AdHocFiltersAPI{}
	variableAPI := grafana.VariableAPI{}
	visualizationAPI := grafana.VisualizationAPI{}
	healthcheckApi := grafana.HealthCheckAPI{}

	router.GET("/", healthcheckApi.ApiEndpointsDatasourceHealth)
	//
	router.POST("/tag-keys", adHocFiltersAPI.ApiEndpointsTagKeys)
	router.POST("/tag-values", adHocFiltersAPI.ApiEndpointsTagValues)
	//
	router.POST("/variable", variableAPI.ApiEndpointsVariable)
	//
	router.POST("/metrics", visualizationAPI.ApiEndpointsListMetrics)
	router.POST("/query", visualizationAPI.ApiEndpointsQuery)
	router.POST("/metric-payload-options", visualizationAPI.ApiEndpointsListMetricPayloadOptions)
}