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,43 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = [
"bugly.go",
"http.go",
"tapd.go",
"user.go",
],
importpath = "go-common/app/admin/ep/marthe/server/http",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = [
"//app/admin/ep/marthe/conf:go_default_library",
"//app/admin/ep/marthe/model:go_default_library",
"//app/admin/ep/marthe/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,218 @@
package http
import (
"go-common/app/admin/ep/marthe/model"
bm "go-common/library/net/http/blademaster"
"go-common/library/net/http/blademaster/binding"
)
// bugly version
func updateVersion(c *bm.Context) {
var (
req = &model.AddVersionRequest{}
err error
username string
)
if err = c.BindWith(req, binding.JSON); err != nil {
return
}
if username, err = getUsername(c); err != nil {
return
}
c.JSON(srv.UpdateBuglyVersion(c, username, req))
}
func getVersionAndProjectList(c *bm.Context) {
c.JSON(srv.BuglyVersionAndProjectList(c))
}
func queryVersions(c *bm.Context) {
var (
req = &model.QueryBuglyVersionRequest{}
err error
)
if err = req.Verify(); err != nil {
c.JSON(nil, err)
return
}
if err = c.BindWith(req, binding.JSON); err != nil {
return
}
c.JSON(srv.QueryBuglyVersions(c, req))
}
func runVersions(c *bm.Context) {
var (
v = new(struct {
ID int64 `form:"id"`
})
err error
)
if err = c.Bind(v); err != nil {
return
}
c.JSON(srv.RunVersions(v.ID))
}
// bugly cookie
func updateCookie(c *bm.Context) {
var (
req = &model.AddCookieRequest{}
err error
username string
)
if username, err = getUsername(c); err != nil {
return
}
if err = c.BindWith(req, binding.JSON); err != nil {
return
}
c.JSON(srv.UpdateCookie(c, username, req))
}
func queryCookies(c *bm.Context) {
var (
req = &model.QueryBuglyCookiesRequest{}
err error
)
if err = req.Verify(); err != nil {
c.JSON(nil, err)
return
}
if err = c.BindWith(req, binding.JSON); err != nil {
return
}
c.JSON(srv.QueryCookies(c, req))
}
func updateCookieStatus(c *bm.Context) {
var (
v = new(struct {
ID int64 `form:"id"`
Status int `form:"status"`
})
err error
)
if err = c.Bind(v); err != nil {
return
}
c.JSON(nil, srv.UpdateCookieStatus(c, v.ID, v.Status))
}
// bugly issue
func queryBuglyIssue(c *bm.Context) {
var (
err error
v = &model.QueryBuglyIssueRequest{}
)
if err = c.BindWith(v, binding.JSON); err != nil {
return
}
c.JSON(srv.QueryBuglyIssueRecords(c, v))
}
func queryBatchRun(c *bm.Context) {
var (
err error
v = &model.QueryBuglyBatchRunsRequest{}
)
if err = c.BindWith(v, binding.JSON); err != nil {
return
}
c.JSON(srv.QueryBatchRuns(c, v))
}
// bugly project
func updateProject(c *bm.Context) {
var (
req = &model.AddProjectRequest{}
err error
username string
)
if err = c.BindWith(req, binding.JSON); err != nil {
return
}
if username, err = getUsername(c); err != nil {
return
}
c.JSON(srv.UpdateBuglyProject(c, username, req))
}
func queryProjects(c *bm.Context) {
var (
req = &model.QueryBuglyProjectRequest{}
err error
)
if err = req.Verify(); err != nil {
c.JSON(nil, err)
return
}
if err = c.BindWith(req, binding.JSON); err != nil {
return
}
c.JSON(srv.QueryBuglyProjects(c, req))
}
func queryProjectVersions(c *bm.Context) {
var (
v = new(struct {
ID int64 `form:"id"`
})
err error
)
if err = c.Bind(v); err != nil {
return
}
c.JSON(srv.QueryBuglyProjectVersions(c, v.ID))
}
func queryProject(c *bm.Context) {
var (
v = new(struct {
ID int64 `form:"id"`
})
err error
)
if err = c.Bind(v); err != nil {
return
}
c.JSON(srv.QueryBuglyProject(c, v.ID))
}
func queryAllProjects(c *bm.Context) {
c.JSON(srv.QueryAllBuglyProjects(c))
}
//test
func test(c *bm.Context) {
srv.BatchRunTask(model.TaskBatchRunUpdateBugInTapd, srv.BatchRunUpdateBugInTapd)
c.JSON(nil, nil)
}

View File

@@ -0,0 +1,122 @@
package http
import (
"net/http"
"go-common/app/admin/ep/marthe/conf"
"go-common/app/admin/ep/marthe/service"
"go-common/library/log"
bm "go-common/library/net/http/blademaster"
"go-common/library/net/http/blademaster/middleware/permit"
)
var (
srv *service.Service
authSvc *permit.Permit
)
// Init Init.
func Init(c *conf.Config, s *service.Service) {
srv = 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)
}
}
func outerRouter(e *bm.Engine) {
base := e.Group("/ep/admin/marthe/v1", authSvc.Permit(""))
{
base.GET("/version", getVersion)
bugly := base.Group("/bugly")
{
bugly.GET("/test", test)
project := bugly.Group("/project") //done test
{
project.GET("", queryProject) //done test
project.POST("/update", accessToBugly, updateProject) //done test
project.POST("/query", queryProjects) //done test
project.GET("/all", queryAllProjects) //done test
project.GET("/versions", queryProjectVersions) // done test
}
version := bugly.Group("/version") //done test
{
version.GET("/run", accessToBugly, runVersions) //done test
version.POST("/update", accessToBugly, updateVersion) //done test
version.POST("/query", queryVersions) //done test
version.GET("/list", getVersionAndProjectList) // done test
version.POST("/batch/query", queryBatchRun)
}
cookie := bugly.Group("/cookie")
{
cookie.POST("/add", updateCookie) // done test
cookie.POST("/update", updateCookie) // done test
cookie.POST("/query", queryCookies) // done test
cookie.GET("/status/update", updateCookieStatus) //done test
}
issue := bugly.Group("/issue")
{
issue.POST("/query", queryBuglyIssue) // done test
}
}
tapd := base.Group("/tapd")
{
bug := tapd.Group("/bug")
{
bug.GET("/project/insert", bugInsertTapdWithProject) // done test access
bug.GET("/version/insert", bugInsertTapdWithVersion) // done test access
bug.POST("/filtersql/check", checkFilterSql) // done test
bug.POST("/record/query", queryBugRecord) // done test
bug.POST("/template/update", updateTapdBugTpl) // done test access
bug.POST("/template/query", queryTapdBugTpl) // done test
bug.GET("/template/all", queryAllTapdBugTpl) // done test
bug.POST("/version/template/update", updateTapdBugVersionTpl) //done test access
bug.POST("/version/template/query", queryTapdBugVersionTpl) //done test
bug.POST("/conf/priority/update", updateTapdBugPriorityConf) //done test
bug.POST("/conf/priority/query", queryTapdBugPriorityConf) //done test
bug.GET("/conf/auth/check", checkAuth)
}
}
user := base.Group("/user")
{
user.GET("/query", queryUserInfo) // done test
user.GET("/wechat/contact/sync", syncWechatContact) // done test
user.GET("/visible/bugly", updateVisibleBugly) // done test
}
}
}
func ping(c *bm.Context) {
if err := srv.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.0.3"
log.Info("marthe current version [%s]", v.Version)
c.JSON(v, nil)
}

View File

@@ -0,0 +1,187 @@
package http
import (
"go-common/app/admin/ep/marthe/model"
bm "go-common/library/net/http/blademaster"
"go-common/library/net/http/blademaster/binding"
)
func updateTapdBugTpl(c *bm.Context) {
var (
err error
v = &model.UpdateTapdBugTplRequest{}
username string
)
if err = c.BindWith(v, binding.JSON); err != nil {
return
}
if username, err = getUsername(c); err != nil {
return
}
c.JSON(srv.UpdateTapdBugTpl(c, username, v))
}
func queryTapdBugTpl(c *bm.Context) {
var (
err error
v = &model.QueryTapdBugTemplateRequest{}
)
if err = c.BindWith(v, binding.JSON); err != nil {
return
}
c.JSON(srv.QueryTapdBugTpl(c, v))
}
func queryAllTapdBugTpl(c *bm.Context) {
c.JSON(srv.QueryAllTapdBugTpl(c))
}
func updateTapdBugVersionTpl(c *bm.Context) {
var (
err error
v = &model.UpdateTapdBugVersionTplRequest{}
username string
)
if err = c.BindWith(v, binding.JSON); err != nil {
return
}
if username, err = getUsername(c); err != nil {
return
}
c.JSON(srv.UpdateTapdBugVersionTpl(c, username, v))
}
func queryTapdBugVersionTpl(c *bm.Context) {
var (
err error
v = &model.QueryTapdBugVersionTemplateRequest{}
)
if err = c.BindWith(v, binding.JSON); err != nil {
return
}
c.JSON(srv.QueryTapdBugVersionTpl(c, v))
}
func checkFilterSql(c *bm.Context) {
var (
err error
v = new(struct {
SQL string `json:"issue_filter_sql"`
})
)
if err = c.BindWith(v, binding.JSON); err != nil {
return
}
c.JSON(srv.CheckTapdBugTplSQL(c, v.SQL))
}
func bugInsertTapdWithProject(c *bm.Context) {
var (
v = new(struct {
ID int64 `form:"id"`
})
err error
username string
)
if err = c.Bind(v); err != nil {
return
}
if username, err = getUsername(c); err != nil {
return
}
c.JSON(srv.BugInsertTapdWithProject(c, v.ID, username))
}
func bugInsertTapdWithVersion(c *bm.Context) {
var (
v = new(struct {
ID int64 `form:"id"`
})
err error
username string
)
if err = c.Bind(v); err != nil {
return
}
if username, err = getUsername(c); err != nil {
return
}
c.JSON(srv.BugInsertTapdWithVersion(c, v.ID, username))
}
func queryBugRecord(c *bm.Context) {
var (
err error
v = &model.QueryBugRecordsRequest{}
)
if err = c.BindWith(v, binding.JSON); err != nil {
return
}
c.JSON(srv.QueryBugRecords(c, v))
}
func updateTapdBugPriorityConf(c *bm.Context) {
var (
err error
v = &model.UpdateTapdBugPriorityConfRequest{}
username string
)
if err = c.BindWith(v, binding.JSON); err != nil {
return
}
if username, err = getUsername(c); err != nil {
return
}
c.JSON(srv.UpdateTapdBugPriorityConf(c, username, v))
}
func queryTapdBugPriorityConf(c *bm.Context) {
var (
err error
v = &model.QueryTapdBugPriorityConfsRequest{}
)
if err = c.BindWith(v, binding.JSON); err != nil {
return
}
c.JSON(srv.QueryTapdBugPriorityConfsRequest(c, v))
}
func checkAuth(c *bm.Context) {
var (
v = new(struct {
Username string `form:"username"`
WorkspaceID string `form:"workspace_id"`
})
err error
)
if err = c.Bind(v); err != nil {
return
}
c.JSON(srv.HttpAccessToWorkspace(c, v.WorkspaceID, v.Username))
}

View File

@@ -0,0 +1,74 @@
package http
import (
"go-common/library/ecode"
bm "go-common/library/net/http/blademaster"
)
const (
_sessUnKey = "username"
)
func queryUserInfo(c *bm.Context) {
var (
username string
err error
)
if username, err = getUsername(c); err != nil {
return
}
c.JSON(srv.QueryUserInfo(c, username))
}
func syncWechatContact(c *bm.Context) {
c.JSON(nil, srv.HttpSyncWechatContacts(c))
}
func updateVisibleBugly(c *bm.Context) {
var (
v = new(struct {
UpdateUsername string `form:"username"`
VisibleBugly bool `form:"visible_bugly"`
})
err error
username string
)
if err = c.Bind(v); err != nil {
return
}
if username, err = getUsername(c); err != nil {
return
}
c.JSON(nil, srv.UpdateUserVisibleBugly(c, username, v.UpdateUsername, v.VisibleBugly))
}
func accessToBugly(c *bm.Context) {
var (
username string
err error
)
if username, err = getUsername(c); err != nil {
return
}
if !srv.AccessToBugly(c, username) {
c.JSON(nil, ecode.AccessDenied)
c.Abort()
return
}
}
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
}