@@ -13,7 +13,6 @@ governing permissions and limitations under the License.
1313package api
1414
1515import (
16- "fmt"
1716 "net/http"
1817 "strconv"
1918
@@ -35,21 +34,23 @@ type Handler interface {
3534
3635// handler struct
3736type handler struct {
38- db database.Db
39- met monitoring.MetricsI
37+ db database.Db
38+ appConfig * utils.AppConfig
39+ metrics monitoring.MetricsI
4040}
4141
4242// NewHandler func
43- func NewHandler (d database.Db , m monitoring.MetricsI ) Handler {
43+ func NewHandler (appConfig * utils. AppConfig , d database.Db , m monitoring.MetricsI ) Handler {
4444 h := & handler {
45- db : d ,
46- met : m ,
45+ db : d ,
46+ metrics : m ,
47+ appConfig : appConfig ,
4748 }
4849 return h
4950}
5051
5152func (h * handler ) Register (v1 * echo.Group ) {
52- a , err := authz .NewAuthenticator (h .met )
53+ a , err := authz .NewAuthenticator (h .appConfig , h . metrics )
5354 if err != nil {
5455 log .Fatalf ("Failed to initialize authenticator: %v" , err )
5556 }
@@ -88,30 +89,27 @@ func (h *handler) GetCluster(ctx echo.Context) error {
8889
8990// ListClusters godoc
9091// @Summary List all clusters
91- // @Description List all clusters. Use query parameters to filter results. Auth is required
92+ // @Description List all clusters. Use query parametricsers to filter results. Auth is required
9293// @ID get-clusters
9394// @Tags cluster
9495// @Accept json
9596// @Produce json
9697// @Param region query string false "Filter by region"
9798// @Param environment query string false "Filter by environment"
98- // @Param businessUnit query string false "Filter by businessUnit"
9999// @Param status query string false "Filter by status"
100- // @Param limit query integer false "Limit number of clusters returned (default is 10 )"
101- // @Param offset query integer false "Offset/skip number of clusters (default is 0 )"
100+ // @Param offset query integer false "Offset to start pagination search results (default is 0 )"
101+ // @Param limit query integer false "The number of results per page (default is 200 )"
102102// @Success 200 {object} clusterList
103103// @Failure 500 {object} utils.Error
104104// @Security bearerAuth
105105// @Router /v1/clusters [get]
106106func (h * handler ) ListClusters (ctx echo.Context ) error {
107- var (
108- clusters []registryv1.Cluster
109- count int
110- )
111107
112- region := ctx .QueryParam ("region" )
108+ var clusters []registryv1.Cluster
109+ var count int
110+
113111 environment := ctx .QueryParam ("environment" )
114- businessUnit := ctx .QueryParam ("businessUnit " )
112+ region := ctx .QueryParam ("region " )
115113 status := ctx .QueryParam ("status" )
116114
117115 offset , err := strconv .Atoi (ctx .QueryParam ("offset" ))
@@ -121,11 +119,9 @@ func (h *handler) ListClusters(ctx echo.Context) error {
121119
122120 limit , err := strconv .Atoi (ctx .QueryParam ("limit" ))
123121 if err != nil {
124- limit = 20
122+ limit = 200
125123 }
126124
127- fmt .Println (limit , offset )
128- clusters , count , _ = h .db .ListClusters (region , environment , businessUnit , status )
129-
130- return ctx .JSON (http .StatusOK , newClusterListResponse (clusters , count ))
125+ clusters , count , more , _ := h .db .ListClusters (offset , limit , region , environment , status )
126+ return ctx .JSON (http .StatusOK , newClusterListResponse (clusters , count , offset , limit , more ))
131127}
0 commit comments