mirror of
https://gitee.com/rainbond/Rainbond.git
synced 2024-12-02 03:37:46 +08:00
[ADD] api to list labels
This commit is contained in:
parent
71af2cfe2f
commit
4ab66499b2
@ -142,7 +142,12 @@ type Gatewayer interface {
|
||||
RuleConfig(w http.ResponseWriter, r *http.Request)
|
||||
}
|
||||
|
||||
// ThirdPartyServicer is a interface for defining methods for third-party service.
|
||||
// ThirdPartyServicer is an interface for defining methods for third-party service.
|
||||
type ThirdPartyServicer interface {
|
||||
Endpoints(w http.ResponseWriter, r *http.Request)
|
||||
}
|
||||
|
||||
// Labeler is an interface for defining methods to get information of labels.
|
||||
type Labeler interface {
|
||||
Labels(w http.ResponseWriter, r *http.Request)
|
||||
}
|
||||
|
@ -226,6 +226,7 @@ func (v2 *V2) clusterRouter() chi.Router {
|
||||
|
||||
func (v2 *V2) resourcesRouter() chi.Router {
|
||||
r := chi.NewRouter()
|
||||
r.Get("/labels", controller.GetManager().Labels)
|
||||
r.Post("/tenants", controller.GetManager().TenantResources)
|
||||
r.Post("/services", controller.GetManager().ServiceResources)
|
||||
r.Get("/tenants/sum", controller.GetManager().SumTenants)
|
||||
|
42
api/controller/labels.go
Normal file
42
api/controller/labels.go
Normal file
@ -0,0 +1,42 @@
|
||||
// RAINBOND, Application Management Platform
|
||||
// Copyright (C) 2014-2017 Goodrain Co., Ltd.
|
||||
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version. For any non-GPL usage of Rainbond,
|
||||
// one or multiple Commercial Licenses authorized by Goodrain Co., Ltd.
|
||||
// must be obtained first.
|
||||
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
package controller
|
||||
|
||||
import (
|
||||
"github.com/goodrain/rainbond/cmd/api/option"
|
||||
httputil "github.com/goodrain/rainbond/util/http"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
// LabelController implements Labeler.
|
||||
type LabelController struct {
|
||||
optconfig *option.Config
|
||||
}
|
||||
|
||||
// Labels - get -> list labels
|
||||
func (l *LabelController) Labels(w http.ResponseWriter, r *http.Request) {
|
||||
switch r.Method {
|
||||
case "GET":
|
||||
l.listLabels(w, r)
|
||||
}
|
||||
}
|
||||
|
||||
func (l *LabelController) listLabels(w http.ResponseWriter, r *http.Request) {
|
||||
httputil.ReturnSuccess(r, w, l.optconfig.EnableFeature)
|
||||
}
|
@ -48,6 +48,7 @@ type V2Manager interface {
|
||||
api.AppInterface
|
||||
api.Gatewayer
|
||||
api.ThirdPartyServicer
|
||||
api.Labeler
|
||||
}
|
||||
|
||||
var defaultV2Manager V2Manager
|
||||
@ -79,5 +80,7 @@ func NewManager(conf option.Config, statusCli *client.AppRuntimeSyncClient) (*V2
|
||||
|
||||
v2r.GatewayStruct.MQClient = mqClient
|
||||
v2r.GatewayStruct.cfg = &conf
|
||||
|
||||
v2r.LabelController.optconfig = &conf
|
||||
return &v2r, nil
|
||||
}
|
||||
|
@ -52,6 +52,7 @@ type V2Routes struct {
|
||||
AppStruct
|
||||
GatewayStruct
|
||||
ThirdPartyServiceController
|
||||
LabelController
|
||||
}
|
||||
|
||||
//Show test
|
||||
|
Loading…
Reference in New Issue
Block a user