From 632fbd249e25df5308d8c07be3f1fed778195228 Mon Sep 17 00:00:00 2001 From: naudachu Date: Mon, 20 Nov 2023 21:33:46 +0500 Subject: [PATCH] git creation with env params; --- compose.dev.yaml => compose.yaml | 0 internal/controller/control_git.go | 29 +++++++++++------------------ internal/domain/config.go | 4 ++++ internal/services/git.go | 8 ++++++-- readme.md | 2 +- 5 files changed, 22 insertions(+), 21 deletions(-) rename compose.dev.yaml => compose.yaml (100%) diff --git a/compose.dev.yaml b/compose.yaml similarity index 100% rename from compose.dev.yaml rename to compose.yaml diff --git a/internal/controller/control_git.go b/internal/controller/control_git.go index 077a509..44a38d9 100644 --- a/internal/controller/control_git.go +++ b/internal/controller/control_git.go @@ -92,26 +92,19 @@ func (wc *WorkflowController) createGitForExistingProject(ctx context.Context, r } func (wc *WorkflowController) CreateGit(ctx context.Context, req GitRequest) *ProjectResponse { - if req.ChannelID == "" { - return &ProjectResponse{ - Project: nil, - Message: errors.New("empty channel string"), - } - } - p, err := wc.GetProjectByChannelID(ctx, req.ChannelID) - if err != nil { - return &ProjectResponse{ - Project: nil, - Message: fmt.Errorf("unable to retrieve project from db: %v", err), - } - } + var p *domain.Project = nil - // var ( - // name string - // dbticket db.Ticket - // result ProjectResponse - // ) + if req.ChannelID != "" { + projectFromDB, err := wc.GetProjectByChannelID(ctx, req.ChannelID) + if err != nil { + return &ProjectResponse{ + Project: nil, + Message: fmt.Errorf("unable to retrieve project from db: %v", err), + } + } + p = projectFromDB + } switch { case p != nil && req.IsBuildGit: diff --git a/internal/domain/config.go b/internal/domain/config.go index b2f891a..3659895 100644 --- a/internal/domain/config.go +++ b/internal/domain/config.go @@ -20,6 +20,8 @@ type GitConfig struct { BaseUrl string Token string User string + OrgName string + Team string } type CloudConfig struct { @@ -71,6 +73,8 @@ func InitConfig(envFilePath string) Config { BaseUrl: os.Getenv("GIT_BASE_URL"), Token: os.Getenv("GIT_TOKEN"), User: os.Getenv("GIT_USER"), + OrgName: os.Getenv("ORG"), + Team: os.Getenv("TEAM"), }, Cloud: CloudConfig{ BaseUrl: os.Getenv("CLOUD_BASE_URL"), diff --git a/internal/services/git.go b/internal/services/git.go index b3c86ba..1778cce 100644 --- a/internal/services/git.go +++ b/internal/services/git.go @@ -1,6 +1,7 @@ package services import ( + "fmt" "log" "ticket-pimp/internal/domain" "ticket-pimp/internal/helpers" @@ -9,6 +10,7 @@ import ( type Git struct { *CommonClient + conf *domain.GitConfig } type IGit interface { @@ -30,6 +32,7 @@ func NewGit(conf domain.GitConfig) *Git { return &Git{ CommonClient: &CommonClient{client}, + conf: &conf, } } @@ -67,7 +70,7 @@ func (gb *Git) newRepo(name string) (*domain.Git, error) { resp, _ := gb.R(). SetBody(&payload). SetSuccessResult(&git). - Post("/orgs/mobilerino/repos") + Post(fmt.Sprintf("/orgs/%s/repos", gb.conf.OrgName)) if resp.Err != nil { log.Print(resp.Status, resp.Err) @@ -87,7 +90,8 @@ func (gb *Git) defaultGroupAsCollaborator(git *domain.Git) (*domain.Git, error) Perm: "push", } - respURL := "/orgs/mobilerino/teams/devs/repos/mobilerino/" + git.Name + // respURL := "/orgs/mobilerino/teams/devs/repos/mobilerino/" + git.Name + respURL := fmt.Sprintf("/orgs/%s/teams/devs/repos/%s/%s", gb.conf.OrgName, gb.conf.OrgName, git.Name) resp, _ := gb.R(). SetBody(&payload). diff --git a/readme.md b/readme.md index 5c1ed62..3cb08b7 100644 --- a/readme.md +++ b/readme.md @@ -11,7 +11,7 @@ # Разработка: ## Запуск вспомогательного контейнера с базой: -`docker-compose -f compose.dev.yaml up -d` +`docker-compose up -d` ## Migrations / sqlc: *Deprecated*, т.к. проверяем и делаем миграции в коде.