From b8e3dd53921b67dddf5373ef1fa3cc3d3e2b1b38 Mon Sep 17 00:00:00 2001 From: naudachu Date: Fri, 2 Jun 2023 15:12:35 +0500 Subject: [PATCH] added permissions control; bug found; --- cmd/main.go | 3 +-- domain/cloud.go | 4 +++- domain/git.go | 17 +++++++++++++++++ todo.md | 6 ++++-- 4 files changed, 25 insertions(+), 5 deletions(-) diff --git a/cmd/main.go b/cmd/main.go index d6a17f9..b3af948 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -72,8 +72,7 @@ func workflow(name string) string { git := createRepo(issue.Key, 0) gitBuild := createRepo(issue.Key+"-build", 1) folder := createFolder(issue.Key + " - " + issue.Summary) - updated := yt.UpdateIssue(issue, folder, git, gitBuild) - log.Print(updated) + yt.UpdateIssue(issue, folder, git, gitBuild) } return issue.Key } diff --git a/domain/cloud.go b/domain/cloud.go index d3ef3e0..3531050 100644 --- a/domain/cloud.go +++ b/domain/cloud.go @@ -40,8 +40,10 @@ func (c *cloud) CreateFolder(name string) (*Cloud, error) { FolderPath: "", } + pathName := HOMEPATH + name + resp, err := c.client.R(). - Send("MKCOL", HOMEPATH+name) + Send("MKCOL", pathName) // Check if request failed or response status is not Ok; if !resp.IsSuccessState() || err != nil { diff --git a/domain/git.go b/domain/git.go index 85e71a7..0fa75e0 100644 --- a/domain/git.go +++ b/domain/git.go @@ -63,5 +63,22 @@ func (gb *gitbucket) NewRepo(name string) (*Repo, error) { log.Print(resp.Dump()) } + type permissionRequest struct { + perm string `json:"permission"` + } + + payloadPermission := permissionRequest{ + perm: "admin", + } + + resp, err = gb.client.R(). + SetBody(&payloadPermission). + Post("/repos/naudachu/" + name + "/collaborators/apps") + + if !resp.IsSuccessState() || err != nil { + log.Print("bad status:", resp.Status) + log.Print(resp.Dump()) + } + return &git, err } diff --git a/todo.md b/todo.md index ac26d70..884a4ed 100644 --- a/todo.md +++ b/todo.md @@ -1,8 +1,10 @@ # Основное: -- [ ] Сохранять правильную ссылку на Git; -- [ ] Сохранять правильную ссылку на GitBuild; - [ ] Делать запросы в Git, ownCloud параллельно; +- [ ] Команда для проверки работоспособности бота в проде; + - [x] Сделать бота в Telegram; +- [x] Сохранять правильную ссылку на GitBuild; +- [x] Сохранять правильную ссылку на Git; # Под звёздочкой: