From 93bb34ad760056fcd8eed23e5e547bc3ee084078 Mon Sep 17 00:00:00 2001 From: Aleksander Cynarski Date: Wed, 4 Dec 2019 18:04:06 +0100 Subject: [PATCH] add get labels endpoint --- giteaClient/createIssueProxy.go | 16 ++++++++++++++++ giteaClient/giteaClient.go | 11 ++++++++++- main.go | 25 +++++++++++++++++++------ 3 files changed, 45 insertions(+), 7 deletions(-) create mode 100644 giteaClient/createIssueProxy.go diff --git a/giteaClient/createIssueProxy.go b/giteaClient/createIssueProxy.go new file mode 100644 index 0000000..bea0cec --- /dev/null +++ b/giteaClient/createIssueProxy.go @@ -0,0 +1,16 @@ +package giteaClient + +type GetCreateIssueProxy struct { + Title string `json:"title"` + Body string `json:"body"` + Assignee string `json:"assignee"` + Labels []int64 `json:"labels"` + Closed bool `json:"closed"` +} + +type PostCreateIssueProxy struct { + Title string `json:"title"` + Body string `json:"body"` + Labels []int64 `json:"labels"` +} + diff --git a/giteaClient/giteaClient.go b/giteaClient/giteaClient.go index ffcec86..4905831 100644 --- a/giteaClient/giteaClient.go +++ b/giteaClient/giteaClient.go @@ -58,12 +58,21 @@ func GetIssue(issueID int64) (*gitea.Issue, error) { func GetIssueComments(issueID int64) ([]*gitea.Comment, error) { giteaIssueComments, err := giteaClient.ListIssueComments(giteaOwner, giteaRepo, issueID) if( err != nil){ - fmt.Println(fmt.Sprintf("Gitea error: %+v", err.Error())) + fmt.Println(fmt.Sprintf("Gitea get isse comments error: %+v", err.Error())) return nil, err } return giteaIssueComments, nil } +func GetLabels() ([]*gitea.Label, error) { + giteaLabels, err := giteaClient.ListRepoLabels(giteaOwner, giteaRepo) + if( err != nil){ + fmt.Println(fmt.Sprintf("Gitea get labels error: %+v", err.Error())) + return nil, err + } + return giteaLabels, nil +} + func CreateIssue(issue gitea.Issue){ } \ No newline at end of file diff --git a/main.go b/main.go index 78178eb..b2048f3 100644 --- a/main.go +++ b/main.go @@ -30,10 +30,10 @@ func init() { panic("failed to connect database") } if err := env.Parse(&giteaConfig); err != nil { - panic("ENV error") + panic(fmt.Sprintf("ENV error: %+v", err.Error())) } if err := env.Parse(&proxyConfig); err != nil { - panic("ENV error") + panic(fmt.Sprintf("ENV error: %+v", err.Error())) } giteaClient.SetUp(giteaConfig) @@ -49,10 +49,14 @@ func main() { v1 := router.Group("/api/v1/issues") { - v1.GET("/", getIssues) - v1.GET("/:id", getIssue) //Migrate the schema + v1.GET("", getIssues) + v1.GET("/:id", getIssue) + v1.GET("/:id/comments", getIssueComments) + } - v1.GET("/:id/comments", getIssue) + labels := router.Group("/api/v1/labels") + { + labels.GET("", getLabels) } _ = router.Run() @@ -100,4 +104,13 @@ func getIssueComments(c *gin.Context) { c.AbortWithStatus(http.StatusNotFound) } c.AsciiJSON(http.StatusOK, issueComments) -} \ No newline at end of file +} + +func getLabels(c *gin.Context) { + labels, err := giteaClient.GetLabels() + if err != nil { + c.AbortWithStatus(http.StatusNotFound) + } + c.AsciiJSON(http.StatusOK, labels) +} +