Commit eb2a91aa authored by 陈强's avatar 陈强

内部代码库查询接口

parent 205d0865
package controllers
import (
"devops/dto"
"devops/utils"
"github.com/astaxie/beego"
"github.com/astaxie/beego/logs"
"io/ioutil"
)
// CommonController operations for common
......@@ -14,3 +17,48 @@ var (
infoLogger = logs.GetLogger("info")
errorLogger = logs.GetLogger("error")
)
// URLMapping ...
func (c *CommonController) URLMapping() {
c.Mapping("getInternalRepository", c.GetInternalRepository)
}
// Get ...
// @Title GetInternalRepository
// @Description 获取内部代码库
// @Param lang query string true "api result language type"
// @Success 200 {object} dto.BaseResultResponseDto
// @Failure 300 {object} dto.BaseResponseDto
// @router /getInternalRepository [get]
func (c *CommonController) GetInternalRepository() {
lang := c.GetString("lang")
infoLogger.Println("语言: ", lang)
var errorResponseDto = dto.BaseResponseDto{300, utils.GetI18nLang(lang, "sysError")}
var successResponseDto = dto.BaseResultResponseDto{200, nil}
//const InternalRepositoryPath = "/opt/nbs/src"
const InternalRepositoryPath = "C:\\Users\\EDZ\\Downloads\\nbs"
const GitDomain = "http://git.dev.k2paas.com"
const GroupName = "k2admin"
//获取指定路径下的项目文件名
dir_list, err := ioutil.ReadDir(InternalRepositoryPath)
if err != nil {
errorLogger.Printf("获取指定路径%s下所有项目文件名失败: %s", InternalRepositoryPath, err.Error())
errorResponseDto.Message = utils.GetI18nLang(lang, "sysError")
c.Data["json"] = errorResponseDto
c.ServeJSON()
return
}
var arrays []dto.InternalRepositoryResponseDto
for _, v := range dir_list {
var internalRepository dto.InternalRepositoryResponseDto
internalRepository.GitDomain = GitDomain
internalRepository.GroupName = GroupName
internalRepository.ProjectName = v.Name()
arrays = append(arrays, internalRepository)
}
successResponseDto.Result = arrays
c.Data["json"] = &successResponseDto
c.ServeJSON()
}
......@@ -30,3 +30,10 @@ type BaseResultResponseDto struct {
Status int `json:"status"`
Result interface{} `json:"result"` //返回值
}
type InternalRepositoryResponseDto struct {
GitDomain string `json:"gitDomain"`
GroupName string `json:"groupName"`
ProjectName string `json:"projectName"`
ProjectDescribe string `json:"projectDescribe"`
}
......@@ -7,6 +7,14 @@ import (
func init() {
beego.GlobalControllerRouter["devops/controllers:CommonController"] = append(beego.GlobalControllerRouter["devops/controllers:CommonController"],
beego.ControllerComments{
Method: "GetInternalRepository",
Router: `/getInternalRepository`,
AllowHTTPMethods: []string{"get"},
MethodParams: param.Make(),
Params: nil})
beego.GlobalControllerRouter["devops/controllers:CredentialController"] = append(beego.GlobalControllerRouter["devops/controllers:CredentialController"],
beego.ControllerComments{
Method: "GetAllCredentials",
......
......@@ -15,6 +15,11 @@ import (
func init() {
ns := beego.NewNamespace("/devops/v1",
beego.NSNamespace("/common",
beego.NSInclude(
&controllers.CommonController{},
),
),
beego.NSNamespace("/job",
beego.NSInclude(
&controllers.JobController{},
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment