Create & Init Project...

This commit is contained in:
2019-04-22 18:49:16 +08:00
commit fc4fa37393
25440 changed files with 4054998 additions and 0 deletions

View File

@ -0,0 +1,41 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = [
"hook.go",
"http.go",
],
importpath = "go-common/app/admin/ep/tapd/http",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = [
"//app/admin/ep/tapd/conf:go_default_library",
"//app/admin/ep/tapd/model:go_default_library",
"//app/admin/ep/tapd/service:go_default_library",
"//library/ecode:go_default_library",
"//library/log:go_default_library",
"//library/net/http/blademaster:go_default_library",
"//library/net/http/blademaster/binding:go_default_library",
"//library/net/http/blademaster/middleware/permit:go_default_library",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)

View File

@ -0,0 +1,135 @@
package http
import (
"go-common/app/admin/ep/tapd/model"
"go-common/library/ecode"
"go-common/library/log"
bm "go-common/library/net/http/blademaster"
"go-common/library/net/http/blademaster/binding"
)
const (
_sessUnKey = "username"
)
func tapdCallback(c *bm.Context) {
c.JSON(nil, svc.TapdCallBack(c, c.Request.Body))
}
func updateHook(c *bm.Context) {
var (
err error
v = &model.HookURLUpdateReq{}
username string
)
if err = c.BindWith(v, binding.JSON); err != nil {
return
}
if username, err = getUsername(c); err != nil {
return
}
c.JSON(svc.UpdateHookURL(c, username, v))
}
func queryHook(c *bm.Context) {
var (
v = &model.QueryHookURLReq{}
err error
)
if err = c.BindWith(v, binding.JSON); err != nil {
return
}
if err = v.Verify(); err != nil {
c.JSON(nil, err)
return
}
c.JSON(svc.QueryHookURL(c, v))
}
func queryURLEvent(c *bm.Context) {
var (
v = new(struct {
ID int64 `form:"url_id"`
})
err error
)
if err = c.Bind(v); err != nil {
return
}
c.JSON(svc.QueryURLEvent(c, v.ID))
}
func queryEventLog(c *bm.Context) {
var (
v = &model.QueryEventLogReq{}
err error
)
if err = c.BindWith(v, binding.JSON); err != nil {
return
}
if err = v.Verify(); err != nil {
c.JSON(nil, err)
return
}
c.JSON(svc.QueryEventLog(c, v))
}
func saveHookUrlInCache(c *bm.Context) {
c.JSON(svc.SaveEnableHookURL(c))
}
func queryHookUrlInCache(c *bm.Context) {
c.JSON(svc.QueryEnableHookURLInCache(c))
}
func test(c *bm.Context) {
var (
v = new(struct {
Data interface{} `json:"data"`
Code int `json:"code"`
})
err error
)
if err = c.BindWith(v, binding.JSON); err != nil {
return
}
log.Info("WorkspaceID [%d]", v.Data)
c.JSON(v, err)
}
func testform(c *bm.Context) {
var (
v = new(struct {
ID string `form:"event"`
})
err error
)
if err = c.Bind(v); err != nil {
return
}
log.Info("fengyifeng WorkspaceID", v.ID)
c.JSON(v, err)
}
func getUsername(c *bm.Context) (username string, err error) {
user, exist := c.Get(_sessUnKey)
if !exist {
err = ecode.AccessKeyErr
c.JSON(nil, err)
return
}
username = user.(string)
return
}

View File

@ -0,0 +1,74 @@
package http
import (
"net/http"
"go-common/app/admin/ep/tapd/conf"
"go-common/app/admin/ep/tapd/service"
"go-common/library/log"
bm "go-common/library/net/http/blademaster"
"go-common/library/net/http/blademaster/middleware/permit"
)
var (
svc *service.Service
authSvc *permit.Permit
)
// Init init
func Init(c *conf.Config, s *service.Service) {
svc = s
authSvc = permit.New(c.Auth)
engine := bm.DefaultServer(c.BM)
engine.Ping(ping)
outerRouter(engine)
if err := engine.Start(); err != nil {
log.Error("engine.Start error(%v)", err)
panic(err)
}
}
// outerRouter init outer router api path.
func outerRouter(e *bm.Engine) {
inner := e.Group("/internal/ep/tapd")
{
inner.GET("/version", getVersion)
inner.POST("/test", test)
inner.POST("/testform", testform)
version1 := inner.Group("/v1", authSvc.Permit(""))
{
version1.POST("/hook/update", updateHook)
version1.POST("/hook/query", queryHook)
version1.GET("/hook/event/query", queryURLEvent)
version1.GET("/hook/cache/save", saveHookUrlInCache)
version1.GET("/hook/cache/query", queryHookUrlInCache)
version1.POST("/eventlog/query", queryEventLog)
}
}
outer := e.Group("/ep/tapd")
{
outer.POST("/callback", tapdCallback)
outer.GET("/version", getVersion)
}
}
func ping(c *bm.Context) {
if err := svc.Ping(c); err != nil {
log.Error("ping error(%v)", err)
c.AbortWithStatus(http.StatusServiceUnavailable)
}
}
func getVersion(c *bm.Context) {
v := new(struct {
Version string `json:"version"`
})
v.Version = "v.0.0.7"
c.JSON(v, nil)
}