Merge pull request #76 from sgotti/configstore_internal_types
configstore: move configstore types inside configstore package
This commit is contained in:
commit
a52b52865c
|
@ -17,8 +17,8 @@ package cmd
|
|||
import (
|
||||
"context"
|
||||
|
||||
cstypes "agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/services/gateway/api"
|
||||
"agola.io/agola/internal/services/types"
|
||||
|
||||
"github.com/spf13/cobra"
|
||||
errors "golang.org/x/xerrors"
|
||||
|
@ -58,13 +58,13 @@ func orgCreate(cmd *cobra.Command, args []string) error {
|
|||
gwclient := api.NewClient(gatewayURL, token)
|
||||
|
||||
// TODO(sgotti) make this a custom pflag Value?
|
||||
if !types.IsValidVisibility(types.Visibility(orgCreateOpts.visibility)) {
|
||||
if !cstypes.IsValidVisibility(cstypes.Visibility(orgCreateOpts.visibility)) {
|
||||
return errors.Errorf("invalid visibility %q", orgCreateOpts.visibility)
|
||||
}
|
||||
|
||||
req := &api.CreateOrgRequest{
|
||||
Name: orgCreateOpts.name,
|
||||
Visibility: types.Visibility(orgCreateOpts.visibility),
|
||||
Visibility: cstypes.Visibility(orgCreateOpts.visibility),
|
||||
}
|
||||
|
||||
log.Infof("creating org")
|
||||
|
|
|
@ -17,8 +17,8 @@ package cmd
|
|||
import (
|
||||
"context"
|
||||
|
||||
cstypes "agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/services/gateway/api"
|
||||
"agola.io/agola/internal/services/types"
|
||||
|
||||
"github.com/spf13/cobra"
|
||||
errors "golang.org/x/xerrors"
|
||||
|
@ -63,7 +63,7 @@ func orgMemberAdd(cmd *cobra.Command, args []string) error {
|
|||
gwclient := api.NewClient(gatewayURL, token)
|
||||
|
||||
log.Infof("adding/updating member %q to organization %q with role %q", orgMemberAddOpts.username, orgMemberAddOpts.orgname, orgMemberAddOpts.role)
|
||||
_, _, err := gwclient.AddOrgMember(context.TODO(), orgMemberAddOpts.orgname, orgMemberAddOpts.username, types.MemberRole(orgMemberAddOpts.role))
|
||||
_, _, err := gwclient.AddOrgMember(context.TODO(), orgMemberAddOpts.orgname, orgMemberAddOpts.username, cstypes.MemberRole(orgMemberAddOpts.role))
|
||||
if err != nil {
|
||||
return errors.Errorf("failed to add/update organization member: %w", err)
|
||||
}
|
||||
|
|
|
@ -17,8 +17,8 @@ package cmd
|
|||
import (
|
||||
"context"
|
||||
|
||||
cstypes "agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/services/gateway/api"
|
||||
"agola.io/agola/internal/services/types"
|
||||
|
||||
"github.com/spf13/cobra"
|
||||
errors "golang.org/x/xerrors"
|
||||
|
@ -75,14 +75,14 @@ func projectCreate(cmd *cobra.Command, args []string) error {
|
|||
gwclient := api.NewClient(gatewayURL, token)
|
||||
|
||||
// TODO(sgotti) make this a custom pflag Value?
|
||||
if !types.IsValidVisibility(types.Visibility(projectCreateOpts.visibility)) {
|
||||
if !cstypes.IsValidVisibility(cstypes.Visibility(projectCreateOpts.visibility)) {
|
||||
return errors.Errorf("invalid visibility %q", projectCreateOpts.visibility)
|
||||
}
|
||||
|
||||
req := &api.CreateProjectRequest{
|
||||
Name: projectCreateOpts.name,
|
||||
ParentRef: projectCreateOpts.parentPath,
|
||||
Visibility: types.Visibility(projectCreateOpts.visibility),
|
||||
Visibility: cstypes.Visibility(projectCreateOpts.visibility),
|
||||
RepoPath: projectCreateOpts.repoPath,
|
||||
RemoteSourceName: projectCreateOpts.remoteSourceName,
|
||||
SkipSSHHostKeyCheck: projectCreateOpts.skipSSHHostKeyCheck,
|
||||
|
|
|
@ -17,8 +17,8 @@ package cmd
|
|||
import (
|
||||
"context"
|
||||
|
||||
cstypes "agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/services/gateway/api"
|
||||
"agola.io/agola/internal/services/types"
|
||||
|
||||
"github.com/spf13/cobra"
|
||||
errors "golang.org/x/xerrors"
|
||||
|
@ -63,14 +63,14 @@ func projectGroupCreate(cmd *cobra.Command, args []string) error {
|
|||
gwclient := api.NewClient(gatewayURL, token)
|
||||
|
||||
// TODO(sgotti) make this a custom pflag Value?
|
||||
if !types.IsValidVisibility(types.Visibility(projectCreateOpts.visibility)) {
|
||||
if !cstypes.IsValidVisibility(cstypes.Visibility(projectCreateOpts.visibility)) {
|
||||
return errors.Errorf("invalid visibility %q", projectCreateOpts.visibility)
|
||||
}
|
||||
|
||||
req := &api.CreateProjectGroupRequest{
|
||||
Name: projectGroupCreateOpts.name,
|
||||
ParentRef: projectGroupCreateOpts.parentPath,
|
||||
Visibility: types.Visibility(projectCreateOpts.visibility),
|
||||
Visibility: cstypes.Visibility(projectCreateOpts.visibility),
|
||||
}
|
||||
|
||||
log.Infof("creating project group")
|
||||
|
|
|
@ -19,8 +19,8 @@ import (
|
|||
"io/ioutil"
|
||||
"os"
|
||||
|
||||
cstypes "agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/services/gateway/api"
|
||||
"agola.io/agola/internal/services/types"
|
||||
|
||||
"github.com/ghodss/yaml"
|
||||
"github.com/spf13/cobra"
|
||||
|
@ -96,7 +96,7 @@ func secretCreate(cmd *cobra.Command, ownertype string, args []string) error {
|
|||
}
|
||||
req := &api.CreateSecretRequest{
|
||||
Name: secretCreateOpts.name,
|
||||
Type: types.SecretTypeInternal,
|
||||
Type: cstypes.SecretTypeInternal,
|
||||
Data: secretData,
|
||||
}
|
||||
|
||||
|
|
|
@ -19,8 +19,8 @@ import (
|
|||
"io/ioutil"
|
||||
"os"
|
||||
|
||||
cstypes "agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/services/gateway/api"
|
||||
"agola.io/agola/internal/services/types"
|
||||
|
||||
"github.com/ghodss/yaml"
|
||||
"github.com/spf13/cobra"
|
||||
|
@ -98,7 +98,7 @@ func secretUpdate(cmd *cobra.Command, ownertype string, args []string) error {
|
|||
}
|
||||
req := &api.UpdateSecretRequest{
|
||||
Name: secretUpdateOpts.name,
|
||||
Type: types.SecretTypeInternal,
|
||||
Type: cstypes.SecretTypeInternal,
|
||||
Data: secretData,
|
||||
}
|
||||
|
||||
|
|
|
@ -20,8 +20,8 @@ import (
|
|||
"os"
|
||||
|
||||
"agola.io/agola/internal/config"
|
||||
cstypes "agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/services/gateway/api"
|
||||
"agola.io/agola/internal/services/types"
|
||||
|
||||
"github.com/ghodss/yaml"
|
||||
"github.com/spf13/cobra"
|
||||
|
@ -117,12 +117,12 @@ func variableCreate(cmd *cobra.Command, ownertype string, args []string) error {
|
|||
if err := yaml.Unmarshal(data, &values); err != nil {
|
||||
log.Fatalf("failed to unmarshal values: %v", err)
|
||||
}
|
||||
rvalues := []types.VariableValue{}
|
||||
rvalues := []cstypes.VariableValue{}
|
||||
for _, value := range values {
|
||||
rvalues = append(rvalues, types.VariableValue{
|
||||
rvalues = append(rvalues, cstypes.VariableValue{
|
||||
SecretName: value.SecretName,
|
||||
SecretVar: value.SecretVar,
|
||||
When: (*types.When)(value.When),
|
||||
When: (*cstypes.When)(value.When),
|
||||
})
|
||||
}
|
||||
req := &api.CreateVariableRequest{
|
||||
|
|
|
@ -19,8 +19,8 @@ import (
|
|||
"io/ioutil"
|
||||
"os"
|
||||
|
||||
cstypes "agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/services/gateway/api"
|
||||
"agola.io/agola/internal/services/types"
|
||||
|
||||
"github.com/ghodss/yaml"
|
||||
"github.com/spf13/cobra"
|
||||
|
@ -89,12 +89,12 @@ func variableUpdate(cmd *cobra.Command, ownertype string, args []string) error {
|
|||
if err := yaml.Unmarshal(data, &values); err != nil {
|
||||
log.Fatalf("failed to unmarshall values: %v", err)
|
||||
}
|
||||
rvalues := []types.VariableValue{}
|
||||
rvalues := []cstypes.VariableValue{}
|
||||
for _, value := range values {
|
||||
rvalues = append(rvalues, types.VariableValue{
|
||||
rvalues = append(rvalues, cstypes.VariableValue{
|
||||
SecretName: value.SecretName,
|
||||
SecretVar: value.SecretVar,
|
||||
When: (*types.When)(value.When),
|
||||
When: (*cstypes.When)(value.When),
|
||||
})
|
||||
}
|
||||
req := &api.UpdateVariableRequest{
|
||||
|
|
|
@ -18,8 +18,8 @@ import (
|
|||
"context"
|
||||
|
||||
"agola.io/agola/internal/gitsources/github"
|
||||
cstypes "agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/services/gateway/api"
|
||||
"agola.io/agola/internal/services/types"
|
||||
"agola.io/agola/internal/util"
|
||||
|
||||
"github.com/spf13/cobra"
|
||||
|
@ -84,7 +84,7 @@ func remoteSourceCreate(cmd *cobra.Command, args []string) error {
|
|||
gwclient := api.NewClient(gatewayURL, token)
|
||||
|
||||
// for github remote source type, set defaults for github.com
|
||||
if remoteSourceCreateOpts.rsType == string(types.RemoteSourceTypeGithub) {
|
||||
if remoteSourceCreateOpts.rsType == string(cstypes.RemoteSourceTypeGithub) {
|
||||
remoteSourceCreateOpts.apiURL = github.GitHubAPIURL
|
||||
remoteSourceCreateOpts.sshHostKey = github.GitHubSSHHostKey
|
||||
}
|
||||
|
|
|
@ -21,7 +21,7 @@ import (
|
|||
"strings"
|
||||
|
||||
"agola.io/agola/internal/common"
|
||||
"agola.io/agola/internal/services/types"
|
||||
cstypes "agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/util"
|
||||
|
||||
"github.com/ghodss/yaml"
|
||||
|
@ -445,7 +445,7 @@ func (val *Value) UnmarshalJSON(b []byte) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
type When types.When
|
||||
type When cstypes.When
|
||||
|
||||
type when struct {
|
||||
Branch interface{} `json:"branch"`
|
||||
|
@ -485,8 +485,8 @@ func (w *When) UnmarshalJSON(b []byte) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func parseWhenConditions(wi interface{}) (*types.WhenConditions, error) {
|
||||
w := &types.WhenConditions{}
|
||||
func parseWhenConditions(wi interface{}) (*cstypes.WhenConditions, error) {
|
||||
w := &cstypes.WhenConditions{}
|
||||
|
||||
var err error
|
||||
include := []string{}
|
||||
|
@ -534,12 +534,12 @@ func parseWhenConditions(wi interface{}) (*types.WhenConditions, error) {
|
|||
return w, nil
|
||||
}
|
||||
|
||||
func parseWhenConditionSlice(conds []string) ([]types.WhenCondition, error) {
|
||||
func parseWhenConditionSlice(conds []string) ([]cstypes.WhenCondition, error) {
|
||||
if len(conds) == 0 {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
wcs := []types.WhenCondition{}
|
||||
wcs := []cstypes.WhenCondition{}
|
||||
for _, cond := range conds {
|
||||
wc, err := parseWhenCondition(cond)
|
||||
if err != nil {
|
||||
|
@ -551,7 +551,7 @@ func parseWhenConditionSlice(conds []string) ([]types.WhenCondition, error) {
|
|||
return wcs, nil
|
||||
}
|
||||
|
||||
func parseWhenCondition(s string) (*types.WhenCondition, error) {
|
||||
func parseWhenCondition(s string) (*cstypes.WhenCondition, error) {
|
||||
isRegExp := false
|
||||
if len(s) > 2 {
|
||||
for _, d := range regExpDelimiters {
|
||||
|
@ -563,15 +563,15 @@ func parseWhenCondition(s string) (*types.WhenCondition, error) {
|
|||
}
|
||||
}
|
||||
|
||||
wc := &types.WhenCondition{Match: s}
|
||||
wc := &cstypes.WhenCondition{Match: s}
|
||||
|
||||
if isRegExp {
|
||||
if _, err := regexp.Compile(s); err != nil {
|
||||
return nil, errors.Errorf("wrong regular expression: %w", err)
|
||||
}
|
||||
wc.Type = types.WhenConditionTypeRegExp
|
||||
wc.Type = cstypes.WhenConditionTypeRegExp
|
||||
} else {
|
||||
wc.Type = types.WhenConditionTypeSimple
|
||||
wc.Type = cstypes.WhenConditionTypeSimple
|
||||
}
|
||||
return wc, nil
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@ import (
|
|||
"fmt"
|
||||
"testing"
|
||||
|
||||
"agola.io/agola/internal/services/types"
|
||||
"agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/util"
|
||||
|
||||
"github.com/google/go-cmp/cmp"
|
||||
|
|
|
@ -19,8 +19,8 @@ import (
|
|||
"strings"
|
||||
|
||||
"agola.io/agola/internal/config"
|
||||
cstypes "agola.io/agola/internal/services/configstore/types"
|
||||
rstypes "agola.io/agola/internal/services/runservice/types"
|
||||
"agola.io/agola/internal/services/types"
|
||||
"agola.io/agola/internal/util"
|
||||
|
||||
errors "golang.org/x/xerrors"
|
||||
|
@ -48,11 +48,11 @@ func genRuntime(c *config.Config, ce *config.Runtime, variables map[string]strin
|
|||
}
|
||||
}
|
||||
|
||||
func whenFromConfigWhen(cw *config.When) *types.When {
|
||||
func whenFromConfigWhen(cw *config.When) *cstypes.When {
|
||||
if cw == nil {
|
||||
return nil
|
||||
}
|
||||
return &types.When{
|
||||
return &cstypes.When{
|
||||
Branch: cw.Branch,
|
||||
Tag: cw.Tag,
|
||||
Ref: cw.Ref,
|
||||
|
@ -194,7 +194,7 @@ func GenRunConfigTasks(uuid util.UUIDGenerator, c *config.Config, runName string
|
|||
rcts := map[string]*rstypes.RunConfigTask{}
|
||||
|
||||
for _, ct := range cr.Tasks {
|
||||
include := types.MatchWhen(whenFromConfigWhen(ct.When), branch, tag, ref)
|
||||
include := cstypes.MatchWhen(whenFromConfigWhen(ct.When), branch, tag, ref)
|
||||
|
||||
steps := make(rstypes.Steps, len(ct.Steps))
|
||||
for i, cpts := range ct.Steps {
|
||||
|
|
|
@ -20,8 +20,8 @@ import (
|
|||
"testing"
|
||||
|
||||
"agola.io/agola/internal/config"
|
||||
cstypes "agola.io/agola/internal/services/configstore/types"
|
||||
rstypes "agola.io/agola/internal/services/runservice/types"
|
||||
"agola.io/agola/internal/services/types"
|
||||
"agola.io/agola/internal/util"
|
||||
|
||||
"github.com/google/go-cmp/cmp"
|
||||
|
@ -706,11 +706,11 @@ func TestGenRunConfig(t *testing.T) {
|
|||
IgnoreFailure: false,
|
||||
Approval: false,
|
||||
When: &config.When{
|
||||
Branch: &types.WhenConditions{Include: []types.WhenCondition{{Match: "master"}}},
|
||||
Tag: &types.WhenConditions{Include: []types.WhenCondition{{Match: "v1.x"}, {Match: "v2.x"}}},
|
||||
Ref: &types.WhenConditions{
|
||||
Include: []types.WhenCondition{{Match: "master"}},
|
||||
Exclude: []types.WhenCondition{{Match: "branch01", Type: types.WhenConditionTypeRegExp}, {Match: "branch02"}},
|
||||
Branch: &cstypes.WhenConditions{Include: []cstypes.WhenCondition{{Match: "master"}}},
|
||||
Tag: &cstypes.WhenConditions{Include: []cstypes.WhenCondition{{Match: "v1.x"}, {Match: "v2.x"}}},
|
||||
Ref: &cstypes.WhenConditions{
|
||||
Include: []cstypes.WhenCondition{{Match: "master"}},
|
||||
Exclude: []cstypes.WhenCondition{{Match: "branch01", Type: cstypes.WhenConditionTypeRegExp}, {Match: "branch02"}},
|
||||
},
|
||||
},
|
||||
},
|
||||
|
|
|
@ -19,12 +19,12 @@ import (
|
|||
"agola.io/agola/internal/gitsources/gitea"
|
||||
"agola.io/agola/internal/gitsources/github"
|
||||
"agola.io/agola/internal/gitsources/gitlab"
|
||||
"agola.io/agola/internal/services/types"
|
||||
cstypes "agola.io/agola/internal/services/configstore/types"
|
||||
|
||||
errors "golang.org/x/xerrors"
|
||||
)
|
||||
|
||||
func newGitea(rs *types.RemoteSource, accessToken string) (*gitea.Client, error) {
|
||||
func newGitea(rs *cstypes.RemoteSource, accessToken string) (*gitea.Client, error) {
|
||||
return gitea.New(gitea.Opts{
|
||||
APIURL: rs.APIURL,
|
||||
SkipVerify: rs.SkipVerify,
|
||||
|
@ -34,7 +34,7 @@ func newGitea(rs *types.RemoteSource, accessToken string) (*gitea.Client, error)
|
|||
})
|
||||
}
|
||||
|
||||
func newGitlab(rs *types.RemoteSource, accessToken string) (*gitlab.Client, error) {
|
||||
func newGitlab(rs *cstypes.RemoteSource, accessToken string) (*gitlab.Client, error) {
|
||||
return gitlab.New(gitlab.Opts{
|
||||
APIURL: rs.APIURL,
|
||||
SkipVerify: rs.SkipVerify,
|
||||
|
@ -44,7 +44,7 @@ func newGitlab(rs *types.RemoteSource, accessToken string) (*gitlab.Client, erro
|
|||
})
|
||||
}
|
||||
|
||||
func newGithub(rs *types.RemoteSource, accessToken string) (*github.Client, error) {
|
||||
func newGithub(rs *cstypes.RemoteSource, accessToken string) (*github.Client, error) {
|
||||
return github.New(github.Opts{
|
||||
APIURL: rs.APIURL,
|
||||
SkipVerify: rs.SkipVerify,
|
||||
|
@ -54,18 +54,18 @@ func newGithub(rs *types.RemoteSource, accessToken string) (*github.Client, erro
|
|||
})
|
||||
}
|
||||
|
||||
func GetAccessToken(rs *types.RemoteSource, userAccessToken, oauth2AccessToken string) (string, error) {
|
||||
func GetAccessToken(rs *cstypes.RemoteSource, userAccessToken, oauth2AccessToken string) (string, error) {
|
||||
switch rs.AuthType {
|
||||
case types.RemoteSourceAuthTypePassword:
|
||||
case cstypes.RemoteSourceAuthTypePassword:
|
||||
return userAccessToken, nil
|
||||
case types.RemoteSourceAuthTypeOauth2:
|
||||
case cstypes.RemoteSourceAuthTypeOauth2:
|
||||
return oauth2AccessToken, nil
|
||||
default:
|
||||
return "", errors.Errorf("invalid remote source auth type %q", rs.AuthType)
|
||||
}
|
||||
}
|
||||
|
||||
func GetGitSource(rs *types.RemoteSource, la *types.LinkedAccount) (gitsource.GitSource, error) {
|
||||
func GetGitSource(rs *cstypes.RemoteSource, la *cstypes.LinkedAccount) (gitsource.GitSource, error) {
|
||||
var accessToken string
|
||||
if la != nil {
|
||||
var err error
|
||||
|
@ -78,11 +78,11 @@ func GetGitSource(rs *types.RemoteSource, la *types.LinkedAccount) (gitsource.Gi
|
|||
var gitSource gitsource.GitSource
|
||||
var err error
|
||||
switch rs.Type {
|
||||
case types.RemoteSourceTypeGitea:
|
||||
case cstypes.RemoteSourceTypeGitea:
|
||||
gitSource, err = newGitea(rs, accessToken)
|
||||
case types.RemoteSourceTypeGitlab:
|
||||
case cstypes.RemoteSourceTypeGitlab:
|
||||
gitSource, err = newGitlab(rs, accessToken)
|
||||
case types.RemoteSourceTypeGithub:
|
||||
case cstypes.RemoteSourceTypeGithub:
|
||||
gitSource, err = newGithub(rs, accessToken)
|
||||
default:
|
||||
return nil, errors.Errorf("remote source %s isn't a valid git source", rs.Name)
|
||||
|
@ -91,13 +91,13 @@ func GetGitSource(rs *types.RemoteSource, la *types.LinkedAccount) (gitsource.Gi
|
|||
return gitSource, err
|
||||
}
|
||||
|
||||
func GetUserSource(rs *types.RemoteSource, accessToken string) (gitsource.UserSource, error) {
|
||||
func GetUserSource(rs *cstypes.RemoteSource, accessToken string) (gitsource.UserSource, error) {
|
||||
var userSource gitsource.UserSource
|
||||
var err error
|
||||
switch rs.AuthType {
|
||||
case types.RemoteSourceAuthTypeOauth2:
|
||||
case cstypes.RemoteSourceAuthTypeOauth2:
|
||||
userSource, err = GetOauth2Source(rs, accessToken)
|
||||
case types.RemoteSourceAuthTypePassword:
|
||||
case cstypes.RemoteSourceAuthTypePassword:
|
||||
userSource, err = GetPasswordSource(rs, accessToken)
|
||||
default:
|
||||
return nil, errors.Errorf("unknown remote source auth type")
|
||||
|
@ -106,15 +106,15 @@ func GetUserSource(rs *types.RemoteSource, accessToken string) (gitsource.UserSo
|
|||
return userSource, err
|
||||
}
|
||||
|
||||
func GetOauth2Source(rs *types.RemoteSource, accessToken string) (gitsource.Oauth2Source, error) {
|
||||
func GetOauth2Source(rs *cstypes.RemoteSource, accessToken string) (gitsource.Oauth2Source, error) {
|
||||
var oauth2Source gitsource.Oauth2Source
|
||||
var err error
|
||||
switch rs.Type {
|
||||
case types.RemoteSourceTypeGitea:
|
||||
case cstypes.RemoteSourceTypeGitea:
|
||||
oauth2Source, err = newGitea(rs, accessToken)
|
||||
case types.RemoteSourceTypeGitlab:
|
||||
case cstypes.RemoteSourceTypeGitlab:
|
||||
oauth2Source, err = newGitlab(rs, accessToken)
|
||||
case types.RemoteSourceTypeGithub:
|
||||
case cstypes.RemoteSourceTypeGithub:
|
||||
oauth2Source, err = newGithub(rs, accessToken)
|
||||
default:
|
||||
return nil, errors.Errorf("remote source %s isn't a valid oauth2 source", rs.Name)
|
||||
|
@ -123,11 +123,11 @@ func GetOauth2Source(rs *types.RemoteSource, accessToken string) (gitsource.Oaut
|
|||
return oauth2Source, err
|
||||
}
|
||||
|
||||
func GetPasswordSource(rs *types.RemoteSource, accessToken string) (gitsource.PasswordSource, error) {
|
||||
func GetPasswordSource(rs *cstypes.RemoteSource, accessToken string) (gitsource.PasswordSource, error) {
|
||||
var passwordSource gitsource.PasswordSource
|
||||
var err error
|
||||
switch rs.Type {
|
||||
case types.RemoteSourceTypeGitea:
|
||||
case cstypes.RemoteSourceTypeGitea:
|
||||
passwordSource, err = newGitea(rs, accessToken)
|
||||
default:
|
||||
return nil, errors.Errorf("remote source %s isn't a valid oauth2 source", rs.Name)
|
||||
|
|
|
@ -16,7 +16,7 @@ package common
|
|||
|
||||
import (
|
||||
csapi "agola.io/agola/internal/services/configstore/api"
|
||||
"agola.io/agola/internal/services/types"
|
||||
cstypes "agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/util"
|
||||
)
|
||||
|
||||
|
@ -43,7 +43,7 @@ func FilterOverriddenVariables(variables []*csapi.Variable) []*csapi.Variable {
|
|||
return filteredVariables
|
||||
}
|
||||
|
||||
func GetVarValueMatchingSecret(varval types.VariableValue, varParentPath string, secrets []*csapi.Secret) *csapi.Secret {
|
||||
func GetVarValueMatchingSecret(varval cstypes.VariableValue, varParentPath string, secrets []*csapi.Secret) *csapi.Secret {
|
||||
// get the secret value referenced by the variable, it must be a secret at the same level or a lower level
|
||||
var secret *csapi.Secret
|
||||
for _, s := range secrets {
|
||||
|
|
|
@ -18,7 +18,7 @@ import (
|
|||
"testing"
|
||||
|
||||
csapi "agola.io/agola/internal/services/configstore/api"
|
||||
"agola.io/agola/internal/services/types"
|
||||
cstypes "agola.io/agola/internal/services/configstore/types"
|
||||
"github.com/google/go-cmp/cmp"
|
||||
)
|
||||
|
||||
|
@ -39,37 +39,37 @@ func TestFilterOverriddenVariables(t *testing.T) {
|
|||
// variables must be in depth (from leaves to root) order as returned by the
|
||||
// configstore apis
|
||||
&csapi.Variable{
|
||||
Variable: &types.Variable{
|
||||
Variable: &cstypes.Variable{
|
||||
Name: "var04",
|
||||
},
|
||||
ParentPath: "org/org01/projectgroup02/projectgroup03/project02",
|
||||
},
|
||||
&csapi.Variable{
|
||||
Variable: &types.Variable{
|
||||
Variable: &cstypes.Variable{
|
||||
Name: "var03",
|
||||
},
|
||||
ParentPath: "org/org01/projectgroup01/project01",
|
||||
},
|
||||
&csapi.Variable{
|
||||
Variable: &types.Variable{
|
||||
Variable: &cstypes.Variable{
|
||||
Name: "var02",
|
||||
},
|
||||
ParentPath: "org/org01/projectgroup01/project01",
|
||||
},
|
||||
&csapi.Variable{
|
||||
Variable: &types.Variable{
|
||||
Variable: &cstypes.Variable{
|
||||
Name: "var02",
|
||||
},
|
||||
ParentPath: "org/org01/projectgroup01",
|
||||
},
|
||||
&csapi.Variable{
|
||||
Variable: &types.Variable{
|
||||
Variable: &cstypes.Variable{
|
||||
Name: "var01",
|
||||
},
|
||||
ParentPath: "org/org01/projectgroup01",
|
||||
},
|
||||
&csapi.Variable{
|
||||
Variable: &types.Variable{
|
||||
Variable: &cstypes.Variable{
|
||||
Name: "var01",
|
||||
},
|
||||
ParentPath: "org/org01",
|
||||
|
@ -77,25 +77,25 @@ func TestFilterOverriddenVariables(t *testing.T) {
|
|||
},
|
||||
out: []*csapi.Variable{
|
||||
&csapi.Variable{
|
||||
Variable: &types.Variable{
|
||||
Variable: &cstypes.Variable{
|
||||
Name: "var04",
|
||||
},
|
||||
ParentPath: "org/org01/projectgroup02/projectgroup03/project02",
|
||||
},
|
||||
&csapi.Variable{
|
||||
Variable: &types.Variable{
|
||||
Variable: &cstypes.Variable{
|
||||
Name: "var03",
|
||||
},
|
||||
ParentPath: "org/org01/projectgroup01/project01",
|
||||
},
|
||||
&csapi.Variable{
|
||||
Variable: &types.Variable{
|
||||
Variable: &cstypes.Variable{
|
||||
Name: "var02",
|
||||
},
|
||||
ParentPath: "org/org01/projectgroup01/project01",
|
||||
},
|
||||
&csapi.Variable{
|
||||
Variable: &types.Variable{
|
||||
Variable: &cstypes.Variable{
|
||||
Name: "var01",
|
||||
},
|
||||
ParentPath: "org/org01/projectgroup01",
|
||||
|
@ -118,14 +118,14 @@ func TestFilterOverriddenVariables(t *testing.T) {
|
|||
func TestGetVarValueMatchingSecret(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
varValue types.VariableValue
|
||||
varValue cstypes.VariableValue
|
||||
varParentPath string
|
||||
secrets []*csapi.Secret
|
||||
out *csapi.Secret
|
||||
}{
|
||||
{
|
||||
name: "test empty secrets",
|
||||
varValue: types.VariableValue{
|
||||
varValue: cstypes.VariableValue{
|
||||
SecretName: "secret01",
|
||||
SecretVar: "secretvar01",
|
||||
},
|
||||
|
@ -135,14 +135,14 @@ func TestGetVarValueMatchingSecret(t *testing.T) {
|
|||
},
|
||||
{
|
||||
name: "test secret with different name",
|
||||
varValue: types.VariableValue{
|
||||
varValue: cstypes.VariableValue{
|
||||
SecretName: "secret01",
|
||||
SecretVar: "secretvar01",
|
||||
},
|
||||
varParentPath: "org/org01/projectgroup01/projectgroup02",
|
||||
secrets: []*csapi.Secret{
|
||||
&csapi.Secret{
|
||||
Secret: &types.Secret{
|
||||
Secret: &cstypes.Secret{
|
||||
Name: "secret02",
|
||||
},
|
||||
ParentPath: "org/org01/projectgroup01/projectgroup02",
|
||||
|
@ -152,14 +152,14 @@ func TestGetVarValueMatchingSecret(t *testing.T) {
|
|||
},
|
||||
{
|
||||
name: "test secret with tree",
|
||||
varValue: types.VariableValue{
|
||||
varValue: cstypes.VariableValue{
|
||||
SecretName: "secret01",
|
||||
SecretVar: "secretvar01",
|
||||
},
|
||||
varParentPath: "org/org01/projectgroup01/projectgroup02",
|
||||
secrets: []*csapi.Secret{
|
||||
&csapi.Secret{
|
||||
Secret: &types.Secret{
|
||||
Secret: &cstypes.Secret{
|
||||
Name: "secret02",
|
||||
},
|
||||
ParentPath: "org/org01/projectgroup01/projectgroup03",
|
||||
|
@ -169,14 +169,14 @@ func TestGetVarValueMatchingSecret(t *testing.T) {
|
|||
},
|
||||
{
|
||||
name: "test secret in child of variable parent",
|
||||
varValue: types.VariableValue{
|
||||
varValue: cstypes.VariableValue{
|
||||
SecretName: "secret01",
|
||||
SecretVar: "secretvar01",
|
||||
},
|
||||
varParentPath: "org/org01/projectgroup01/projectgroup02",
|
||||
secrets: []*csapi.Secret{
|
||||
&csapi.Secret{
|
||||
Secret: &types.Secret{
|
||||
Secret: &cstypes.Secret{
|
||||
Name: "secret01",
|
||||
},
|
||||
ParentPath: "org/org01/projectgroup01/projectgroup02/project01",
|
||||
|
@ -186,27 +186,27 @@ func TestGetVarValueMatchingSecret(t *testing.T) {
|
|||
},
|
||||
{
|
||||
name: "test secret in same parent and also child of variable parent",
|
||||
varValue: types.VariableValue{
|
||||
varValue: cstypes.VariableValue{
|
||||
SecretName: "secret01",
|
||||
SecretVar: "secretvar01",
|
||||
},
|
||||
varParentPath: "org/org01/projectgroup01/projectgroup02",
|
||||
secrets: []*csapi.Secret{
|
||||
&csapi.Secret{
|
||||
Secret: &types.Secret{
|
||||
Secret: &cstypes.Secret{
|
||||
Name: "secret01",
|
||||
},
|
||||
ParentPath: "org/org01/projectgroup01/projectgroup02/project01",
|
||||
},
|
||||
&csapi.Secret{
|
||||
Secret: &types.Secret{
|
||||
Secret: &cstypes.Secret{
|
||||
Name: "secret01",
|
||||
},
|
||||
ParentPath: "org/org01/projectgroup01/projectgroup02",
|
||||
},
|
||||
},
|
||||
out: &csapi.Secret{
|
||||
Secret: &types.Secret{
|
||||
Secret: &cstypes.Secret{
|
||||
Name: "secret01",
|
||||
},
|
||||
ParentPath: "org/org01/projectgroup01/projectgroup02",
|
||||
|
@ -214,21 +214,21 @@ func TestGetVarValueMatchingSecret(t *testing.T) {
|
|||
},
|
||||
{
|
||||
name: "test secret in parent",
|
||||
varValue: types.VariableValue{
|
||||
varValue: cstypes.VariableValue{
|
||||
SecretName: "secret01",
|
||||
SecretVar: "secretvar01",
|
||||
},
|
||||
varParentPath: "org/org01/projectgroup01/projectgroup02",
|
||||
secrets: []*csapi.Secret{
|
||||
&csapi.Secret{
|
||||
Secret: &types.Secret{
|
||||
Secret: &cstypes.Secret{
|
||||
Name: "secret01",
|
||||
},
|
||||
ParentPath: "org/org01/projectgroup01",
|
||||
},
|
||||
},
|
||||
out: &csapi.Secret{
|
||||
Secret: &types.Secret{
|
||||
Secret: &cstypes.Secret{
|
||||
Name: "secret01",
|
||||
},
|
||||
ParentPath: "org/org01/projectgroup01",
|
||||
|
@ -236,7 +236,7 @@ func TestGetVarValueMatchingSecret(t *testing.T) {
|
|||
},
|
||||
{
|
||||
name: "test multiple secrets in same branch and also child of variable parent",
|
||||
varValue: types.VariableValue{
|
||||
varValue: cstypes.VariableValue{
|
||||
SecretName: "secret01",
|
||||
SecretVar: "secretvar01",
|
||||
},
|
||||
|
@ -245,26 +245,26 @@ func TestGetVarValueMatchingSecret(t *testing.T) {
|
|||
// secrets must be in depth (from leaves to root) order as returned by the
|
||||
// configstore apis
|
||||
&csapi.Secret{
|
||||
Secret: &types.Secret{
|
||||
Secret: &cstypes.Secret{
|
||||
Name: "secret01",
|
||||
},
|
||||
ParentPath: "org/org01/projectgroup01/projectgroup02/project01",
|
||||
},
|
||||
&csapi.Secret{
|
||||
Secret: &types.Secret{
|
||||
Secret: &cstypes.Secret{
|
||||
Name: "secret01",
|
||||
},
|
||||
ParentPath: "org/org01/projectgroup01/projectgroup02",
|
||||
},
|
||||
&csapi.Secret{
|
||||
Secret: &types.Secret{
|
||||
Secret: &cstypes.Secret{
|
||||
Name: "secret01",
|
||||
},
|
||||
ParentPath: "org/org01/projectgroup01",
|
||||
},
|
||||
},
|
||||
out: &csapi.Secret{
|
||||
Secret: &types.Secret{
|
||||
Secret: &cstypes.Secret{
|
||||
Name: "secret01",
|
||||
},
|
||||
ParentPath: "org/org01/projectgroup01/projectgroup02",
|
||||
|
|
|
@ -23,7 +23,7 @@ import (
|
|||
"agola.io/agola/internal/datamanager"
|
||||
"agola.io/agola/internal/db"
|
||||
"agola.io/agola/internal/services/configstore/readdb"
|
||||
"agola.io/agola/internal/services/types"
|
||||
"agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/util"
|
||||
|
||||
uuid "github.com/satori/go.uuid"
|
||||
|
|
|
@ -21,7 +21,7 @@ import (
|
|||
|
||||
"agola.io/agola/internal/datamanager"
|
||||
"agola.io/agola/internal/db"
|
||||
"agola.io/agola/internal/services/types"
|
||||
"agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/util"
|
||||
|
||||
uuid "github.com/satori/go.uuid"
|
||||
|
|
|
@ -21,7 +21,7 @@ import (
|
|||
|
||||
"agola.io/agola/internal/datamanager"
|
||||
"agola.io/agola/internal/db"
|
||||
"agola.io/agola/internal/services/types"
|
||||
"agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/util"
|
||||
|
||||
uuid "github.com/satori/go.uuid"
|
||||
|
|
|
@ -20,7 +20,7 @@ import (
|
|||
|
||||
"agola.io/agola/internal/datamanager"
|
||||
"agola.io/agola/internal/db"
|
||||
"agola.io/agola/internal/services/types"
|
||||
"agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/util"
|
||||
|
||||
uuid "github.com/satori/go.uuid"
|
||||
|
|
|
@ -20,7 +20,7 @@ import (
|
|||
|
||||
"agola.io/agola/internal/datamanager"
|
||||
"agola.io/agola/internal/db"
|
||||
"agola.io/agola/internal/services/types"
|
||||
"agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/util"
|
||||
|
||||
uuid "github.com/satori/go.uuid"
|
||||
|
|
|
@ -22,7 +22,7 @@ import (
|
|||
"agola.io/agola/internal/datamanager"
|
||||
"agola.io/agola/internal/db"
|
||||
"agola.io/agola/internal/services/configstore/readdb"
|
||||
"agola.io/agola/internal/services/types"
|
||||
"agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/util"
|
||||
|
||||
uuid "github.com/satori/go.uuid"
|
||||
|
|
|
@ -20,7 +20,7 @@ import (
|
|||
|
||||
"agola.io/agola/internal/datamanager"
|
||||
"agola.io/agola/internal/db"
|
||||
"agola.io/agola/internal/services/types"
|
||||
"agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/util"
|
||||
|
||||
uuid "github.com/satori/go.uuid"
|
||||
|
|
|
@ -19,7 +19,7 @@ import (
|
|||
"net/http"
|
||||
"net/url"
|
||||
|
||||
"agola.io/agola/internal/services/types"
|
||||
"agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/util"
|
||||
"github.com/gorilla/mux"
|
||||
errors "golang.org/x/xerrors"
|
||||
|
|
|
@ -26,7 +26,7 @@ import (
|
|||
"strconv"
|
||||
"strings"
|
||||
|
||||
"agola.io/agola/internal/services/types"
|
||||
"agola.io/agola/internal/services/configstore/types"
|
||||
|
||||
errors "golang.org/x/xerrors"
|
||||
)
|
||||
|
|
|
@ -22,7 +22,7 @@ import (
|
|||
"agola.io/agola/internal/db"
|
||||
"agola.io/agola/internal/services/configstore/action"
|
||||
"agola.io/agola/internal/services/configstore/readdb"
|
||||
"agola.io/agola/internal/services/types"
|
||||
"agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/util"
|
||||
errors "golang.org/x/xerrors"
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ import (
|
|||
"agola.io/agola/internal/db"
|
||||
"agola.io/agola/internal/services/configstore/action"
|
||||
"agola.io/agola/internal/services/configstore/readdb"
|
||||
"agola.io/agola/internal/services/types"
|
||||
"agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/util"
|
||||
errors "golang.org/x/xerrors"
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ import (
|
|||
"agola.io/agola/internal/db"
|
||||
"agola.io/agola/internal/services/configstore/action"
|
||||
"agola.io/agola/internal/services/configstore/readdb"
|
||||
"agola.io/agola/internal/services/types"
|
||||
"agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/util"
|
||||
errors "golang.org/x/xerrors"
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ import (
|
|||
"agola.io/agola/internal/db"
|
||||
"agola.io/agola/internal/services/configstore/action"
|
||||
"agola.io/agola/internal/services/configstore/readdb"
|
||||
"agola.io/agola/internal/services/types"
|
||||
"agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/util"
|
||||
errors "golang.org/x/xerrors"
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ import (
|
|||
"agola.io/agola/internal/db"
|
||||
"agola.io/agola/internal/services/configstore/action"
|
||||
"agola.io/agola/internal/services/configstore/readdb"
|
||||
"agola.io/agola/internal/services/types"
|
||||
"agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/util"
|
||||
|
||||
"github.com/gorilla/mux"
|
||||
|
|
|
@ -23,7 +23,7 @@ import (
|
|||
"agola.io/agola/internal/db"
|
||||
action "agola.io/agola/internal/services/configstore/action"
|
||||
"agola.io/agola/internal/services/configstore/readdb"
|
||||
"agola.io/agola/internal/services/types"
|
||||
"agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/util"
|
||||
errors "golang.org/x/xerrors"
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ import (
|
|||
"agola.io/agola/internal/db"
|
||||
"agola.io/agola/internal/services/configstore/action"
|
||||
"agola.io/agola/internal/services/configstore/readdb"
|
||||
"agola.io/agola/internal/services/types"
|
||||
"agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/util"
|
||||
|
||||
"github.com/gorilla/mux"
|
||||
|
|
|
@ -32,7 +32,7 @@ import (
|
|||
"agola.io/agola/internal/services/configstore/api"
|
||||
"agola.io/agola/internal/services/configstore/common"
|
||||
"agola.io/agola/internal/services/configstore/readdb"
|
||||
"agola.io/agola/internal/services/types"
|
||||
"agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/util"
|
||||
|
||||
"github.com/gorilla/mux"
|
||||
|
|
|
@ -30,7 +30,7 @@ import (
|
|||
"agola.io/agola/internal/db"
|
||||
"agola.io/agola/internal/services/config"
|
||||
action "agola.io/agola/internal/services/configstore/action"
|
||||
"agola.io/agola/internal/services/types"
|
||||
"agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/testutil"
|
||||
"agola.io/agola/internal/util"
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ import (
|
|||
|
||||
"agola.io/agola/internal/db"
|
||||
"agola.io/agola/internal/services/configstore/common"
|
||||
"agola.io/agola/internal/services/types"
|
||||
"agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/util"
|
||||
|
||||
sq "github.com/Masterminds/squirrel"
|
||||
|
|
|
@ -22,7 +22,7 @@ import (
|
|||
|
||||
"agola.io/agola/internal/db"
|
||||
"agola.io/agola/internal/services/configstore/common"
|
||||
"agola.io/agola/internal/services/types"
|
||||
"agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/util"
|
||||
|
||||
sq "github.com/Masterminds/squirrel"
|
||||
|
|
|
@ -22,7 +22,7 @@ import (
|
|||
|
||||
"agola.io/agola/internal/db"
|
||||
"agola.io/agola/internal/services/configstore/common"
|
||||
"agola.io/agola/internal/services/types"
|
||||
"agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/util"
|
||||
|
||||
sq "github.com/Masterminds/squirrel"
|
||||
|
|
|
@ -30,7 +30,7 @@ import (
|
|||
"agola.io/agola/internal/objectstorage"
|
||||
ostypes "agola.io/agola/internal/objectstorage/types"
|
||||
"agola.io/agola/internal/sequence"
|
||||
"agola.io/agola/internal/services/types"
|
||||
"agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/util"
|
||||
|
||||
sq "github.com/Masterminds/squirrel"
|
||||
|
|
|
@ -21,7 +21,7 @@ import (
|
|||
|
||||
"agola.io/agola/internal/db"
|
||||
"agola.io/agola/internal/services/configstore/common"
|
||||
"agola.io/agola/internal/services/types"
|
||||
"agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/util"
|
||||
|
||||
sq "github.com/Masterminds/squirrel"
|
||||
|
|
|
@ -18,7 +18,7 @@ import (
|
|||
"path"
|
||||
|
||||
"agola.io/agola/internal/db"
|
||||
"agola.io/agola/internal/services/types"
|
||||
"agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/util"
|
||||
errors "golang.org/x/xerrors"
|
||||
)
|
||||
|
|
|
@ -19,7 +19,7 @@ import (
|
|||
"encoding/json"
|
||||
|
||||
"agola.io/agola/internal/db"
|
||||
"agola.io/agola/internal/services/types"
|
||||
"agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/util"
|
||||
|
||||
sq "github.com/Masterminds/squirrel"
|
||||
|
|
|
@ -20,7 +20,7 @@ import (
|
|||
|
||||
"agola.io/agola/internal/db"
|
||||
"agola.io/agola/internal/services/configstore/common"
|
||||
"agola.io/agola/internal/services/types"
|
||||
"agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/util"
|
||||
|
||||
sq "github.com/Masterminds/squirrel"
|
||||
|
|
|
@ -19,7 +19,7 @@ import (
|
|||
"encoding/json"
|
||||
|
||||
"agola.io/agola/internal/db"
|
||||
"agola.io/agola/internal/services/types"
|
||||
"agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/util"
|
||||
|
||||
sq "github.com/Masterminds/squirrel"
|
||||
|
|
|
@ -18,7 +18,7 @@ import (
|
|||
"context"
|
||||
|
||||
"agola.io/agola/internal/services/common"
|
||||
"agola.io/agola/internal/services/types"
|
||||
cstypes "agola.io/agola/internal/services/configstore/types"
|
||||
|
||||
errors "golang.org/x/xerrors"
|
||||
)
|
||||
|
@ -68,7 +68,7 @@ func (h *ActionHandler) IsOrgOwner(ctx context.Context, orgID string) (bool, err
|
|||
if userOrg.Organization.ID != orgID {
|
||||
continue
|
||||
}
|
||||
if userOrg.Role == types.MemberRoleOwner {
|
||||
if userOrg.Role == cstypes.MemberRoleOwner {
|
||||
return true, nil
|
||||
}
|
||||
}
|
||||
|
@ -76,7 +76,7 @@ func (h *ActionHandler) IsOrgOwner(ctx context.Context, orgID string) (bool, err
|
|||
return false, nil
|
||||
}
|
||||
|
||||
func (h *ActionHandler) IsProjectOwner(ctx context.Context, ownerType types.ConfigType, ownerID string) (bool, error) {
|
||||
func (h *ActionHandler) IsProjectOwner(ctx context.Context, ownerType cstypes.ConfigType, ownerID string) (bool, error) {
|
||||
isAdmin := h.IsUserAdmin(ctx)
|
||||
if isAdmin {
|
||||
return true, nil
|
||||
|
@ -87,13 +87,13 @@ func (h *ActionHandler) IsProjectOwner(ctx context.Context, ownerType types.Conf
|
|||
return false, nil
|
||||
}
|
||||
|
||||
if ownerType == types.ConfigTypeUser {
|
||||
if ownerType == cstypes.ConfigTypeUser {
|
||||
if userID == ownerID {
|
||||
return true, nil
|
||||
}
|
||||
}
|
||||
|
||||
if ownerType == types.ConfigTypeOrg {
|
||||
if ownerType == cstypes.ConfigTypeOrg {
|
||||
userOrgs, resp, err := h.configstoreClient.GetUserOrgs(ctx, userID)
|
||||
if err != nil {
|
||||
return false, errors.Errorf("failed to get user orgs: %w", ErrFromRemote(resp, err))
|
||||
|
@ -103,7 +103,7 @@ func (h *ActionHandler) IsProjectOwner(ctx context.Context, ownerType types.Conf
|
|||
if userOrg.Organization.ID != ownerID {
|
||||
continue
|
||||
}
|
||||
if userOrg.Role == types.MemberRoleOwner {
|
||||
if userOrg.Role == cstypes.MemberRoleOwner {
|
||||
return true, nil
|
||||
}
|
||||
}
|
||||
|
@ -112,7 +112,7 @@ func (h *ActionHandler) IsProjectOwner(ctx context.Context, ownerType types.Conf
|
|||
return false, nil
|
||||
}
|
||||
|
||||
func (h *ActionHandler) IsProjectMember(ctx context.Context, ownerType types.ConfigType, ownerID string) (bool, error) {
|
||||
func (h *ActionHandler) IsProjectMember(ctx context.Context, ownerType cstypes.ConfigType, ownerID string) (bool, error) {
|
||||
isAdmin := h.IsUserAdmin(ctx)
|
||||
if isAdmin {
|
||||
return true, nil
|
||||
|
@ -123,13 +123,13 @@ func (h *ActionHandler) IsProjectMember(ctx context.Context, ownerType types.Con
|
|||
return false, nil
|
||||
}
|
||||
|
||||
if ownerType == types.ConfigTypeUser {
|
||||
if ownerType == cstypes.ConfigTypeUser {
|
||||
if userID == ownerID {
|
||||
return true, nil
|
||||
}
|
||||
}
|
||||
|
||||
if ownerType == types.ConfigTypeOrg {
|
||||
if ownerType == cstypes.ConfigTypeOrg {
|
||||
userOrgs, resp, err := h.configstoreClient.GetUserOrgs(ctx, userID)
|
||||
if err != nil {
|
||||
return false, errors.Errorf("failed to get user orgs: %w", ErrFromRemote(resp, err))
|
||||
|
@ -146,18 +146,18 @@ func (h *ActionHandler) IsProjectMember(ctx context.Context, ownerType types.Con
|
|||
return false, nil
|
||||
}
|
||||
|
||||
func (h *ActionHandler) IsVariableOwner(ctx context.Context, parentType types.ConfigType, parentRef string) (bool, error) {
|
||||
var ownerType types.ConfigType
|
||||
func (h *ActionHandler) IsVariableOwner(ctx context.Context, parentType cstypes.ConfigType, parentRef string) (bool, error) {
|
||||
var ownerType cstypes.ConfigType
|
||||
var ownerID string
|
||||
switch parentType {
|
||||
case types.ConfigTypeProjectGroup:
|
||||
case cstypes.ConfigTypeProjectGroup:
|
||||
pg, resp, err := h.configstoreClient.GetProjectGroup(ctx, parentRef)
|
||||
if err != nil {
|
||||
return false, errors.Errorf("failed to get project group %q: %w", parentRef, ErrFromRemote(resp, err))
|
||||
}
|
||||
ownerType = pg.OwnerType
|
||||
ownerID = pg.OwnerID
|
||||
case types.ConfigTypeProject:
|
||||
case cstypes.ConfigTypeProject:
|
||||
p, resp, err := h.configstoreClient.GetProject(ctx, parentRef)
|
||||
if err != nil {
|
||||
return false, errors.Errorf("failed to get project %q: %w", parentRef, ErrFromRemote(resp, err))
|
||||
|
@ -175,8 +175,8 @@ func (h *ActionHandler) CanGetRun(ctx context.Context, runGroup string) (bool, e
|
|||
return false, err
|
||||
}
|
||||
|
||||
var visibility types.Visibility
|
||||
var ownerType types.ConfigType
|
||||
var visibility cstypes.Visibility
|
||||
var ownerType cstypes.ConfigType
|
||||
var ownerID string
|
||||
switch groupType {
|
||||
case common.GroupTypeProject:
|
||||
|
@ -189,12 +189,12 @@ func (h *ActionHandler) CanGetRun(ctx context.Context, runGroup string) (bool, e
|
|||
visibility = p.GlobalVisibility
|
||||
case common.GroupTypeUser:
|
||||
// user direct runs
|
||||
ownerType = types.ConfigTypeUser
|
||||
ownerType = cstypes.ConfigTypeUser
|
||||
ownerID = groupID
|
||||
visibility = types.VisibilityPrivate
|
||||
visibility = cstypes.VisibilityPrivate
|
||||
}
|
||||
|
||||
if visibility == types.VisibilityPublic {
|
||||
if visibility == cstypes.VisibilityPublic {
|
||||
return true, nil
|
||||
}
|
||||
isProjectMember, err := h.IsProjectMember(ctx, ownerType, ownerID)
|
||||
|
@ -213,7 +213,7 @@ func (h *ActionHandler) CanDoRunActions(ctx context.Context, runGroup string) (b
|
|||
return false, err
|
||||
}
|
||||
|
||||
var ownerType types.ConfigType
|
||||
var ownerType cstypes.ConfigType
|
||||
var ownerID string
|
||||
switch groupType {
|
||||
case common.GroupTypeProject:
|
||||
|
@ -225,7 +225,7 @@ func (h *ActionHandler) CanDoRunActions(ctx context.Context, runGroup string) (b
|
|||
ownerID = p.OwnerID
|
||||
case common.GroupTypeUser:
|
||||
// user direct runs
|
||||
ownerType = types.ConfigTypeUser
|
||||
ownerType = cstypes.ConfigTypeUser
|
||||
ownerID = groupID
|
||||
}
|
||||
|
||||
|
|
|
@ -17,13 +17,13 @@ package action
|
|||
import (
|
||||
"context"
|
||||
|
||||
"agola.io/agola/internal/services/types"
|
||||
cstypes "agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/util"
|
||||
|
||||
errors "golang.org/x/xerrors"
|
||||
)
|
||||
|
||||
func (h *ActionHandler) GetOrg(ctx context.Context, orgRef string) (*types.Organization, error) {
|
||||
func (h *ActionHandler) GetOrg(ctx context.Context, orgRef string) (*cstypes.Organization, error) {
|
||||
org, resp, err := h.configstoreClient.GetOrg(ctx, orgRef)
|
||||
if err != nil {
|
||||
return nil, ErrFromRemote(resp, err)
|
||||
|
@ -37,7 +37,7 @@ type GetOrgsRequest struct {
|
|||
Asc bool
|
||||
}
|
||||
|
||||
func (h *ActionHandler) GetOrgs(ctx context.Context, req *GetOrgsRequest) ([]*types.Organization, error) {
|
||||
func (h *ActionHandler) GetOrgs(ctx context.Context, req *GetOrgsRequest) ([]*cstypes.Organization, error) {
|
||||
orgs, resp, err := h.configstoreClient.GetOrgs(ctx, req.Start, req.Limit, req.Asc)
|
||||
if err != nil {
|
||||
return nil, ErrFromRemote(resp, err)
|
||||
|
@ -46,13 +46,13 @@ func (h *ActionHandler) GetOrgs(ctx context.Context, req *GetOrgsRequest) ([]*ty
|
|||
}
|
||||
|
||||
type OrgMembersResponse struct {
|
||||
Organization *types.Organization
|
||||
Organization *cstypes.Organization
|
||||
Members []*OrgMemberResponse
|
||||
}
|
||||
|
||||
type OrgMemberResponse struct {
|
||||
User *types.User
|
||||
Role types.MemberRole
|
||||
User *cstypes.User
|
||||
Role cstypes.MemberRole
|
||||
}
|
||||
|
||||
func (h *ActionHandler) GetOrgMembers(ctx context.Context, orgRef string) (*OrgMembersResponse, error) {
|
||||
|
@ -81,12 +81,12 @@ func (h *ActionHandler) GetOrgMembers(ctx context.Context, orgRef string) (*OrgM
|
|||
|
||||
type CreateOrgRequest struct {
|
||||
Name string
|
||||
Visibility types.Visibility
|
||||
Visibility cstypes.Visibility
|
||||
|
||||
CreatorUserID string
|
||||
}
|
||||
|
||||
func (h *ActionHandler) CreateOrg(ctx context.Context, req *CreateOrgRequest) (*types.Organization, error) {
|
||||
func (h *ActionHandler) CreateOrg(ctx context.Context, req *CreateOrgRequest) (*cstypes.Organization, error) {
|
||||
if !h.IsUserLoggedOrAdmin(ctx) {
|
||||
return nil, errors.Errorf("user not logged in")
|
||||
}
|
||||
|
@ -98,7 +98,7 @@ func (h *ActionHandler) CreateOrg(ctx context.Context, req *CreateOrgRequest) (*
|
|||
return nil, util.NewErrBadRequest(errors.Errorf("invalid organization name %q", req.Name))
|
||||
}
|
||||
|
||||
org := &types.Organization{
|
||||
org := &cstypes.Organization{
|
||||
Name: req.Name,
|
||||
Visibility: req.Visibility,
|
||||
}
|
||||
|
@ -138,12 +138,12 @@ func (h *ActionHandler) DeleteOrg(ctx context.Context, orgRef string) error {
|
|||
}
|
||||
|
||||
type AddOrgMemberResponse struct {
|
||||
OrganizationMember *types.OrganizationMember
|
||||
Org *types.Organization
|
||||
User *types.User
|
||||
OrganizationMember *cstypes.OrganizationMember
|
||||
Org *cstypes.Organization
|
||||
User *cstypes.User
|
||||
}
|
||||
|
||||
func (h *ActionHandler) AddOrgMember(ctx context.Context, orgRef, userRef string, role types.MemberRole) (*AddOrgMemberResponse, error) {
|
||||
func (h *ActionHandler) AddOrgMember(ctx context.Context, orgRef, userRef string, role cstypes.MemberRole) (*AddOrgMemberResponse, error) {
|
||||
org, resp, err := h.configstoreClient.GetOrg(ctx, orgRef)
|
||||
if err != nil {
|
||||
return nil, ErrFromRemote(resp, err)
|
||||
|
|
|
@ -23,6 +23,7 @@ import (
|
|||
|
||||
gitsource "agola.io/agola/internal/gitsources"
|
||||
csapi "agola.io/agola/internal/services/configstore/api"
|
||||
cstypes "agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/services/types"
|
||||
"agola.io/agola/internal/util"
|
||||
|
||||
|
@ -39,7 +40,7 @@ func (h *ActionHandler) GetProject(ctx context.Context, projectRef string) (*csa
|
|||
if err != nil {
|
||||
return nil, errors.Errorf("failed to determine ownership: %w", err)
|
||||
}
|
||||
if project.GlobalVisibility == types.VisibilityPublic {
|
||||
if project.GlobalVisibility == cstypes.VisibilityPublic {
|
||||
return project, nil
|
||||
}
|
||||
if !isProjectMember {
|
||||
|
@ -52,7 +53,7 @@ func (h *ActionHandler) GetProject(ctx context.Context, projectRef string) (*csa
|
|||
type CreateProjectRequest struct {
|
||||
Name string
|
||||
ParentRef string
|
||||
Visibility types.Visibility
|
||||
Visibility cstypes.Visibility
|
||||
RemoteSourceName string
|
||||
RepoPath string
|
||||
SkipSSHHostKeyCheck bool
|
||||
|
@ -108,7 +109,7 @@ func (h *ActionHandler) CreateProject(ctx context.Context, req *CreateProjectReq
|
|||
if err != nil {
|
||||
return nil, errors.Errorf("failed to get remote source %q: %w", req.RemoteSourceName, ErrFromRemote(resp, err))
|
||||
}
|
||||
var la *types.LinkedAccount
|
||||
var la *cstypes.LinkedAccount
|
||||
for _, v := range user.LinkedAccounts {
|
||||
if v.RemoteSourceID == rs.ID {
|
||||
la = v
|
||||
|
@ -135,14 +136,14 @@ func (h *ActionHandler) CreateProject(ctx context.Context, req *CreateProjectReq
|
|||
return nil, errors.Errorf("failed to generate ssh key pair: %w", err)
|
||||
}
|
||||
|
||||
p := &types.Project{
|
||||
p := &cstypes.Project{
|
||||
Name: req.Name,
|
||||
Parent: types.Parent{
|
||||
Type: types.ConfigTypeProjectGroup,
|
||||
Parent: cstypes.Parent{
|
||||
Type: cstypes.ConfigTypeProjectGroup,
|
||||
ID: parentRef,
|
||||
},
|
||||
Visibility: req.Visibility,
|
||||
RemoteRepositoryConfigType: types.RemoteRepositoryConfigTypeRemoteSource,
|
||||
RemoteRepositoryConfigType: cstypes.RemoteRepositoryConfigTypeRemoteSource,
|
||||
RemoteSourceID: rs.ID,
|
||||
LinkedAccountID: la.ID,
|
||||
RepositoryID: repo.ID,
|
||||
|
@ -180,7 +181,7 @@ func (h *ActionHandler) CreateProject(ctx context.Context, req *CreateProjectReq
|
|||
|
||||
type UpdateProjectRequest struct {
|
||||
Name string
|
||||
Visibility types.Visibility
|
||||
Visibility cstypes.Visibility
|
||||
}
|
||||
|
||||
func (h *ActionHandler) UpdateProject(ctx context.Context, projectRef string, req *UpdateProjectRequest) (*csapi.Project, error) {
|
||||
|
@ -235,7 +236,7 @@ func (h *ActionHandler) ProjectUpdateRepoLinkedAccount(ctx context.Context, proj
|
|||
if err != nil {
|
||||
return nil, errors.Errorf("failed to get remote source %q: %w", p.RemoteSourceID, ErrFromRemote(resp, err))
|
||||
}
|
||||
var la *types.LinkedAccount
|
||||
var la *cstypes.LinkedAccount
|
||||
for _, v := range user.LinkedAccounts {
|
||||
if v.RemoteSourceID == rs.ID {
|
||||
la = v
|
||||
|
@ -269,7 +270,7 @@ func (h *ActionHandler) ProjectUpdateRepoLinkedAccount(ctx context.Context, proj
|
|||
return rp, nil
|
||||
}
|
||||
|
||||
func (h *ActionHandler) setupGitSourceRepo(ctx context.Context, rs *types.RemoteSource, user *types.User, la *types.LinkedAccount, project *csapi.Project) error {
|
||||
func (h *ActionHandler) setupGitSourceRepo(ctx context.Context, rs *cstypes.RemoteSource, user *cstypes.User, la *cstypes.LinkedAccount, project *csapi.Project) error {
|
||||
gitsource, err := h.GetGitSource(ctx, rs, user.Name, la)
|
||||
if err != nil {
|
||||
return errors.Errorf("failed to create gitsource client: %w", err)
|
||||
|
@ -305,7 +306,7 @@ func (h *ActionHandler) setupGitSourceRepo(ctx context.Context, rs *types.Remote
|
|||
return nil
|
||||
}
|
||||
|
||||
func (h *ActionHandler) cleanupGitSourceRepo(ctx context.Context, rs *types.RemoteSource, user *types.User, la *types.LinkedAccount, project *csapi.Project) error {
|
||||
func (h *ActionHandler) cleanupGitSourceRepo(ctx context.Context, rs *cstypes.RemoteSource, user *cstypes.User, la *cstypes.LinkedAccount, project *csapi.Project) error {
|
||||
gitsource, err := h.GetGitSource(ctx, rs, user.Name, la)
|
||||
if err != nil {
|
||||
return errors.Errorf("failed to create gitsource client: %w", err)
|
||||
|
@ -436,7 +437,7 @@ func (h *ActionHandler) ProjectCreateRun(ctx context.Context, projectRef, branch
|
|||
if err != nil {
|
||||
return errors.Errorf("failed to get remote source %q: %w", p.RemoteSourceID, ErrFromRemote(resp, err))
|
||||
}
|
||||
var la *types.LinkedAccount
|
||||
var la *cstypes.LinkedAccount
|
||||
for _, v := range user.LinkedAccounts {
|
||||
if v.RemoteSourceID == rs.ID {
|
||||
la = v
|
||||
|
@ -571,7 +572,7 @@ func (h *ActionHandler) ProjectCreateRun(ctx context.Context, projectRef, branch
|
|||
return h.CreateRuns(ctx, req)
|
||||
}
|
||||
|
||||
func (h *ActionHandler) getRemoteRepoAccessData(ctx context.Context, linkedAccountID string) (*types.User, *types.RemoteSource, *types.LinkedAccount, error) {
|
||||
func (h *ActionHandler) getRemoteRepoAccessData(ctx context.Context, linkedAccountID string) (*cstypes.User, *cstypes.RemoteSource, *cstypes.LinkedAccount, error) {
|
||||
user, resp, err := h.configstoreClient.GetUserByLinkedAccount(ctx, linkedAccountID)
|
||||
if err != nil {
|
||||
return nil, nil, nil, errors.Errorf("failed to get user with linked account id %q: %w", linkedAccountID, ErrFromRemote(resp, err))
|
||||
|
|
|
@ -19,7 +19,7 @@ import (
|
|||
"path"
|
||||
|
||||
csapi "agola.io/agola/internal/services/configstore/api"
|
||||
"agola.io/agola/internal/services/types"
|
||||
cstypes "agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/util"
|
||||
|
||||
errors "golang.org/x/xerrors"
|
||||
|
@ -53,7 +53,7 @@ type CreateProjectGroupRequest struct {
|
|||
CurrentUserID string
|
||||
Name string
|
||||
ParentRef string
|
||||
Visibility types.Visibility
|
||||
Visibility cstypes.Visibility
|
||||
}
|
||||
|
||||
func (h *ActionHandler) CreateProjectGroup(ctx context.Context, req *CreateProjectGroupRequest) (*csapi.ProjectGroup, error) {
|
||||
|
@ -85,10 +85,10 @@ func (h *ActionHandler) CreateProjectGroup(ctx context.Context, req *CreateProje
|
|||
parentRef = path.Join("user", user.Name)
|
||||
}
|
||||
|
||||
p := &types.ProjectGroup{
|
||||
p := &cstypes.ProjectGroup{
|
||||
Name: req.Name,
|
||||
Parent: types.Parent{
|
||||
Type: types.ConfigTypeProjectGroup,
|
||||
Parent: cstypes.Parent{
|
||||
Type: cstypes.ConfigTypeProjectGroup,
|
||||
ID: parentRef,
|
||||
},
|
||||
Visibility: req.Visibility,
|
||||
|
@ -106,7 +106,7 @@ func (h *ActionHandler) CreateProjectGroup(ctx context.Context, req *CreateProje
|
|||
|
||||
type UpdateProjectGroupRequest struct {
|
||||
Name string
|
||||
Visibility types.Visibility
|
||||
Visibility cstypes.Visibility
|
||||
}
|
||||
|
||||
func (h *ActionHandler) UpdateProjectGroup(ctx context.Context, projectGroupRef string, req *UpdateProjectGroupRequest) (*csapi.ProjectGroup, error) {
|
||||
|
|
|
@ -17,13 +17,13 @@ package action
|
|||
import (
|
||||
"context"
|
||||
|
||||
"agola.io/agola/internal/services/types"
|
||||
cstypes "agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/util"
|
||||
|
||||
errors "golang.org/x/xerrors"
|
||||
)
|
||||
|
||||
func (h *ActionHandler) GetRemoteSource(ctx context.Context, rsRef string) (*types.RemoteSource, error) {
|
||||
func (h *ActionHandler) GetRemoteSource(ctx context.Context, rsRef string) (*cstypes.RemoteSource, error) {
|
||||
rs, resp, err := h.configstoreClient.GetRemoteSource(ctx, rsRef)
|
||||
if err != nil {
|
||||
return nil, ErrFromRemote(resp, err)
|
||||
|
@ -37,7 +37,7 @@ type GetRemoteSourcesRequest struct {
|
|||
Asc bool
|
||||
}
|
||||
|
||||
func (h *ActionHandler) GetRemoteSources(ctx context.Context, req *GetRemoteSourcesRequest) ([]*types.RemoteSource, error) {
|
||||
func (h *ActionHandler) GetRemoteSources(ctx context.Context, req *GetRemoteSourcesRequest) ([]*cstypes.RemoteSource, error) {
|
||||
remoteSources, resp, err := h.configstoreClient.GetRemoteSources(ctx, req.Start, req.Limit, req.Asc)
|
||||
if err != nil {
|
||||
return nil, ErrFromRemote(resp, err)
|
||||
|
@ -59,7 +59,7 @@ type CreateRemoteSourceRequest struct {
|
|||
LoginEnabled *bool
|
||||
}
|
||||
|
||||
func (h *ActionHandler) CreateRemoteSource(ctx context.Context, req *CreateRemoteSourceRequest) (*types.RemoteSource, error) {
|
||||
func (h *ActionHandler) CreateRemoteSource(ctx context.Context, req *CreateRemoteSourceRequest) (*cstypes.RemoteSource, error) {
|
||||
if !h.IsUserAdmin(ctx) {
|
||||
return nil, errors.Errorf("user not admin")
|
||||
}
|
||||
|
@ -82,11 +82,11 @@ func (h *ActionHandler) CreateRemoteSource(ctx context.Context, req *CreateRemot
|
|||
}
|
||||
|
||||
// validate if the remote source type supports the required auth type
|
||||
if !types.SourceSupportsAuthType(types.RemoteSourceType(req.Type), types.RemoteSourceAuthType(req.AuthType)) {
|
||||
if !cstypes.SourceSupportsAuthType(cstypes.RemoteSourceType(req.Type), cstypes.RemoteSourceAuthType(req.AuthType)) {
|
||||
return nil, util.NewErrBadRequest(errors.Errorf("remotesource type %q doesn't support auth type %q", req.Type, req.AuthType))
|
||||
}
|
||||
|
||||
if req.AuthType == string(types.RemoteSourceAuthTypeOauth2) {
|
||||
if req.AuthType == string(cstypes.RemoteSourceAuthTypeOauth2) {
|
||||
if req.Oauth2ClientID == "" {
|
||||
return nil, util.NewErrBadRequest(errors.Errorf("remotesource oauth2 clientid required"))
|
||||
}
|
||||
|
@ -95,10 +95,10 @@ func (h *ActionHandler) CreateRemoteSource(ctx context.Context, req *CreateRemot
|
|||
}
|
||||
}
|
||||
|
||||
rs := &types.RemoteSource{
|
||||
rs := &cstypes.RemoteSource{
|
||||
Name: req.Name,
|
||||
Type: types.RemoteSourceType(req.Type),
|
||||
AuthType: types.RemoteSourceAuthType(req.AuthType),
|
||||
Type: cstypes.RemoteSourceType(req.Type),
|
||||
AuthType: cstypes.RemoteSourceAuthType(req.AuthType),
|
||||
APIURL: req.APIURL,
|
||||
SkipVerify: req.SkipVerify,
|
||||
Oauth2ClientID: req.Oauth2ClientID,
|
||||
|
@ -133,7 +133,7 @@ type UpdateRemoteSourceRequest struct {
|
|||
LoginEnabled *bool
|
||||
}
|
||||
|
||||
func (h *ActionHandler) UpdateRemoteSource(ctx context.Context, req *UpdateRemoteSourceRequest) (*types.RemoteSource, error) {
|
||||
func (h *ActionHandler) UpdateRemoteSource(ctx context.Context, req *UpdateRemoteSourceRequest) (*cstypes.RemoteSource, error) {
|
||||
if !h.IsUserAdmin(ctx) {
|
||||
return nil, errors.Errorf("user not admin")
|
||||
}
|
||||
|
|
|
@ -24,6 +24,7 @@ import (
|
|||
gitsource "agola.io/agola/internal/gitsources"
|
||||
"agola.io/agola/internal/runconfig"
|
||||
"agola.io/agola/internal/services/common"
|
||||
cstypes "agola.io/agola/internal/services/configstore/types"
|
||||
rsapi "agola.io/agola/internal/services/runservice/api"
|
||||
rstypes "agola.io/agola/internal/services/runservice/types"
|
||||
"agola.io/agola/internal/services/types"
|
||||
|
@ -293,8 +294,8 @@ type CreateRunRequest struct {
|
|||
RefType types.RunRefType
|
||||
RunCreationTrigger types.RunCreationTriggerType
|
||||
|
||||
Project *types.Project
|
||||
User *types.User
|
||||
Project *cstypes.Project
|
||||
User *cstypes.User
|
||||
RepoPath string
|
||||
GitSource gitsource.GitSource
|
||||
CommitSHA string
|
||||
|
@ -537,9 +538,9 @@ func (h *ActionHandler) genRunVariables(ctx context.Context, req *CreateRunReque
|
|||
}
|
||||
for _, pvar := range pvars {
|
||||
// find the value match
|
||||
var varval types.VariableValue
|
||||
var varval cstypes.VariableValue
|
||||
for _, varval = range pvar.Values {
|
||||
match := types.MatchWhen(varval.When, req.Branch, req.Tag, req.Ref)
|
||||
match := cstypes.MatchWhen(varval.When, req.Branch, req.Tag, req.Ref)
|
||||
if !match {
|
||||
continue
|
||||
}
|
||||
|
|
|
@ -19,14 +19,14 @@ import (
|
|||
"net/http"
|
||||
|
||||
csapi "agola.io/agola/internal/services/configstore/api"
|
||||
"agola.io/agola/internal/services/types"
|
||||
cstypes "agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/util"
|
||||
|
||||
errors "golang.org/x/xerrors"
|
||||
)
|
||||
|
||||
type GetSecretsRequest struct {
|
||||
ParentType types.ConfigType
|
||||
ParentType cstypes.ConfigType
|
||||
ParentRef string
|
||||
|
||||
Tree bool
|
||||
|
@ -37,9 +37,9 @@ func (h *ActionHandler) GetSecrets(ctx context.Context, req *GetSecretsRequest)
|
|||
var resp *http.Response
|
||||
var err error
|
||||
switch req.ParentType {
|
||||
case types.ConfigTypeProjectGroup:
|
||||
case cstypes.ConfigTypeProjectGroup:
|
||||
cssecrets, resp, err = h.configstoreClient.GetProjectGroupSecrets(ctx, req.ParentRef, req.Tree)
|
||||
case types.ConfigTypeProject:
|
||||
case cstypes.ConfigTypeProject:
|
||||
cssecrets, resp, err = h.configstoreClient.GetProjectSecrets(ctx, req.ParentRef, req.Tree)
|
||||
}
|
||||
if err != nil {
|
||||
|
@ -52,10 +52,10 @@ func (h *ActionHandler) GetSecrets(ctx context.Context, req *GetSecretsRequest)
|
|||
type CreateSecretRequest struct {
|
||||
Name string
|
||||
|
||||
ParentType types.ConfigType
|
||||
ParentType cstypes.ConfigType
|
||||
ParentRef string
|
||||
|
||||
Type types.SecretType
|
||||
Type cstypes.SecretType
|
||||
|
||||
// internal secret
|
||||
Data map[string]string
|
||||
|
@ -78,7 +78,7 @@ func (h *ActionHandler) CreateSecret(ctx context.Context, req *CreateSecretReque
|
|||
return nil, util.NewErrBadRequest(errors.Errorf("invalid secret name %q", req.Name))
|
||||
}
|
||||
|
||||
s := &types.Secret{
|
||||
s := &cstypes.Secret{
|
||||
Name: req.Name,
|
||||
Type: req.Type,
|
||||
Data: req.Data,
|
||||
|
@ -87,10 +87,10 @@ func (h *ActionHandler) CreateSecret(ctx context.Context, req *CreateSecretReque
|
|||
var resp *http.Response
|
||||
var rs *csapi.Secret
|
||||
switch req.ParentType {
|
||||
case types.ConfigTypeProjectGroup:
|
||||
case cstypes.ConfigTypeProjectGroup:
|
||||
h.log.Infof("creating project group secret")
|
||||
rs, resp, err = h.configstoreClient.CreateProjectGroupSecret(ctx, req.ParentRef, s)
|
||||
case types.ConfigTypeProject:
|
||||
case cstypes.ConfigTypeProject:
|
||||
h.log.Infof("creating project secret")
|
||||
rs, resp, err = h.configstoreClient.CreateProjectSecret(ctx, req.ParentRef, s)
|
||||
}
|
||||
|
@ -107,10 +107,10 @@ type UpdateSecretRequest struct {
|
|||
|
||||
Name string
|
||||
|
||||
ParentType types.ConfigType
|
||||
ParentType cstypes.ConfigType
|
||||
ParentRef string
|
||||
|
||||
Type types.SecretType
|
||||
Type cstypes.SecretType
|
||||
|
||||
// internal secret
|
||||
Data map[string]string
|
||||
|
@ -133,7 +133,7 @@ func (h *ActionHandler) UpdateSecret(ctx context.Context, req *UpdateSecretReque
|
|||
return nil, util.NewErrBadRequest(errors.Errorf("invalid secret name %q", req.Name))
|
||||
}
|
||||
|
||||
s := &types.Secret{
|
||||
s := &cstypes.Secret{
|
||||
Name: req.Name,
|
||||
Type: req.Type,
|
||||
Data: req.Data,
|
||||
|
@ -142,10 +142,10 @@ func (h *ActionHandler) UpdateSecret(ctx context.Context, req *UpdateSecretReque
|
|||
var resp *http.Response
|
||||
var rs *csapi.Secret
|
||||
switch req.ParentType {
|
||||
case types.ConfigTypeProjectGroup:
|
||||
case cstypes.ConfigTypeProjectGroup:
|
||||
h.log.Infof("updating project group secret")
|
||||
rs, resp, err = h.configstoreClient.UpdateProjectGroupSecret(ctx, req.ParentRef, req.SecretName, s)
|
||||
case types.ConfigTypeProject:
|
||||
case cstypes.ConfigTypeProject:
|
||||
h.log.Infof("updating project secret")
|
||||
rs, resp, err = h.configstoreClient.UpdateProjectSecret(ctx, req.ParentRef, req.SecretName, s)
|
||||
}
|
||||
|
@ -157,7 +157,7 @@ func (h *ActionHandler) UpdateSecret(ctx context.Context, req *UpdateSecretReque
|
|||
return rs, nil
|
||||
}
|
||||
|
||||
func (h *ActionHandler) DeleteSecret(ctx context.Context, parentType types.ConfigType, parentRef, name string) error {
|
||||
func (h *ActionHandler) DeleteSecret(ctx context.Context, parentType cstypes.ConfigType, parentRef, name string) error {
|
||||
isVariableOwner, err := h.IsVariableOwner(ctx, parentType, parentRef)
|
||||
if err != nil {
|
||||
return errors.Errorf("failed to determine ownership: %w", err)
|
||||
|
@ -168,10 +168,10 @@ func (h *ActionHandler) DeleteSecret(ctx context.Context, parentType types.Confi
|
|||
|
||||
var resp *http.Response
|
||||
switch parentType {
|
||||
case types.ConfigTypeProjectGroup:
|
||||
case cstypes.ConfigTypeProjectGroup:
|
||||
h.log.Infof("deleting project group secret")
|
||||
resp, err = h.configstoreClient.DeleteProjectGroupSecret(ctx, parentRef, name)
|
||||
case types.ConfigTypeProject:
|
||||
case cstypes.ConfigTypeProject:
|
||||
h.log.Infof("deleting project secret")
|
||||
resp, err = h.configstoreClient.DeleteProjectSecret(ctx, parentRef, name)
|
||||
}
|
||||
|
|
|
@ -25,6 +25,7 @@ import (
|
|||
"agola.io/agola/internal/gitsources/agolagit"
|
||||
"agola.io/agola/internal/services/common"
|
||||
csapi "agola.io/agola/internal/services/configstore/api"
|
||||
cstypes "agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/services/types"
|
||||
"agola.io/agola/internal/util"
|
||||
|
||||
|
@ -43,7 +44,7 @@ func isAccessTokenExpired(expiresAt time.Time) bool {
|
|||
return expiresAt.Add(-expireTimeRange).Before(time.Now())
|
||||
}
|
||||
|
||||
func (h *ActionHandler) GetUser(ctx context.Context, userRef string) (*types.User, error) {
|
||||
func (h *ActionHandler) GetUser(ctx context.Context, userRef string) (*cstypes.User, error) {
|
||||
if !h.IsUserLoggedOrAdmin(ctx) {
|
||||
return nil, errors.Errorf("user not logged in")
|
||||
}
|
||||
|
@ -61,7 +62,7 @@ type GetUsersRequest struct {
|
|||
Asc bool
|
||||
}
|
||||
|
||||
func (h *ActionHandler) GetUsers(ctx context.Context, req *GetUsersRequest) ([]*types.User, error) {
|
||||
func (h *ActionHandler) GetUsers(ctx context.Context, req *GetUsersRequest) ([]*cstypes.User, error) {
|
||||
if !h.IsUserAdmin(ctx) {
|
||||
return nil, errors.Errorf("user not logged in")
|
||||
}
|
||||
|
@ -77,7 +78,7 @@ type CreateUserRequest struct {
|
|||
UserName string
|
||||
}
|
||||
|
||||
func (h *ActionHandler) CreateUser(ctx context.Context, req *CreateUserRequest) (*types.User, error) {
|
||||
func (h *ActionHandler) CreateUser(ctx context.Context, req *CreateUserRequest) (*cstypes.User, error) {
|
||||
if !h.IsUserAdmin(ctx) {
|
||||
return nil, errors.Errorf("user not admin")
|
||||
}
|
||||
|
@ -158,7 +159,7 @@ type CreateUserLARequest struct {
|
|||
Oauth2AccessTokenExpiresAt time.Time
|
||||
}
|
||||
|
||||
func (h *ActionHandler) CreateUserLA(ctx context.Context, req *CreateUserLARequest) (*types.LinkedAccount, error) {
|
||||
func (h *ActionHandler) CreateUserLA(ctx context.Context, req *CreateUserLARequest) (*cstypes.LinkedAccount, error) {
|
||||
userRef := req.UserRef
|
||||
user, resp, err := h.configstoreClient.GetUser(ctx, userRef)
|
||||
if err != nil {
|
||||
|
@ -168,7 +169,7 @@ func (h *ActionHandler) CreateUserLA(ctx context.Context, req *CreateUserLAReque
|
|||
if err != nil {
|
||||
return nil, errors.Errorf("failed to get remote source %q: %w", req.RemoteSourceName, ErrFromRemote(resp, err))
|
||||
}
|
||||
var la *types.LinkedAccount
|
||||
var la *cstypes.LinkedAccount
|
||||
for _, v := range user.LinkedAccounts {
|
||||
if v.RemoteSourceID == rs.ID {
|
||||
la = v
|
||||
|
@ -216,7 +217,7 @@ func (h *ActionHandler) CreateUserLA(ctx context.Context, req *CreateUserLAReque
|
|||
return la, nil
|
||||
}
|
||||
|
||||
func (h *ActionHandler) UpdateUserLA(ctx context.Context, userRef string, la *types.LinkedAccount) error {
|
||||
func (h *ActionHandler) UpdateUserLA(ctx context.Context, userRef string, la *cstypes.LinkedAccount) error {
|
||||
user, resp, err := h.configstoreClient.GetUser(ctx, userRef)
|
||||
if err != nil {
|
||||
return errors.Errorf("failed to get user %q: %w", userRef, ErrFromRemote(resp, err))
|
||||
|
@ -252,9 +253,9 @@ func (h *ActionHandler) UpdateUserLA(ctx context.Context, userRef string, la *ty
|
|||
}
|
||||
|
||||
// RefreshLinkedAccount refreshed the linked account oauth2 access token and update linked account in the configstore
|
||||
func (h *ActionHandler) RefreshLinkedAccount(ctx context.Context, rs *types.RemoteSource, userName string, la *types.LinkedAccount) (*types.LinkedAccount, error) {
|
||||
func (h *ActionHandler) RefreshLinkedAccount(ctx context.Context, rs *cstypes.RemoteSource, userName string, la *cstypes.LinkedAccount) (*cstypes.LinkedAccount, error) {
|
||||
switch rs.AuthType {
|
||||
case types.RemoteSourceAuthTypeOauth2:
|
||||
case cstypes.RemoteSourceAuthTypeOauth2:
|
||||
// refresh access token if expired
|
||||
if isAccessTokenExpired(la.Oauth2AccessTokenExpiresAt) {
|
||||
userSource, err := common.GetOauth2Source(rs, "")
|
||||
|
@ -282,7 +283,7 @@ func (h *ActionHandler) RefreshLinkedAccount(ctx context.Context, rs *types.Remo
|
|||
|
||||
// GetGitSource is a wrapper around common.GetGitSource that will also refresh
|
||||
// the oauth2 access token and update the linked account when needed
|
||||
func (h *ActionHandler) GetGitSource(ctx context.Context, rs *types.RemoteSource, userName string, la *types.LinkedAccount) (gitsource.GitSource, error) {
|
||||
func (h *ActionHandler) GetGitSource(ctx context.Context, rs *cstypes.RemoteSource, userName string, la *cstypes.LinkedAccount) (gitsource.GitSource, error) {
|
||||
la, err := h.RefreshLinkedAccount(ctx, rs, userName, la)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
@ -299,7 +300,7 @@ type RegisterUserRequest struct {
|
|||
Oauth2AccessTokenExpiresAt time.Time
|
||||
}
|
||||
|
||||
func (h *ActionHandler) RegisterUser(ctx context.Context, req *RegisterUserRequest) (*types.User, error) {
|
||||
func (h *ActionHandler) RegisterUser(ctx context.Context, req *RegisterUserRequest) (*cstypes.User, error) {
|
||||
if req.UserName == "" {
|
||||
return nil, util.NewErrBadRequest(errors.Errorf("user name required"))
|
||||
}
|
||||
|
@ -365,7 +366,7 @@ type LoginUserRequest struct {
|
|||
|
||||
type LoginUserResponse struct {
|
||||
Token string
|
||||
User *types.User
|
||||
User *cstypes.User
|
||||
}
|
||||
|
||||
func (h *ActionHandler) LoginUser(ctx context.Context, req *LoginUserRequest) (*LoginUserResponse, error) {
|
||||
|
@ -399,7 +400,7 @@ func (h *ActionHandler) LoginUser(ctx context.Context, req *LoginUserRequest) (*
|
|||
return nil, errors.Errorf("failed to get user for remote user id %q and remote source %q: %w", remoteUserInfo.ID, rs.ID, ErrFromRemote(resp, err))
|
||||
}
|
||||
|
||||
var la *types.LinkedAccount
|
||||
var la *cstypes.LinkedAccount
|
||||
for _, v := range user.LinkedAccounts {
|
||||
if v.RemoteSourceID == rs.ID {
|
||||
la = v
|
||||
|
@ -517,7 +518,7 @@ func (h *ActionHandler) HandleRemoteSourceAuth(ctx context.Context, remoteSource
|
|||
return nil, util.NewErrBadRequest(errors.Errorf("logged in user cannot create linked account for another user"))
|
||||
}
|
||||
|
||||
var la *types.LinkedAccount
|
||||
var la *cstypes.LinkedAccount
|
||||
for _, v := range user.LinkedAccounts {
|
||||
if v.RemoteSourceID == rs.ID {
|
||||
la = v
|
||||
|
@ -539,7 +540,7 @@ func (h *ActionHandler) HandleRemoteSourceAuth(ctx context.Context, remoteSource
|
|||
}
|
||||
|
||||
switch rs.AuthType {
|
||||
case types.RemoteSourceAuthTypeOauth2:
|
||||
case cstypes.RemoteSourceAuthTypeOauth2:
|
||||
oauth2Source, err := common.GetOauth2Source(rs, "")
|
||||
if err != nil {
|
||||
return nil, errors.Errorf("failed to create git source: %w", err)
|
||||
|
@ -557,7 +558,7 @@ func (h *ActionHandler) HandleRemoteSourceAuth(ctx context.Context, remoteSource
|
|||
Oauth2Redirect: redirect,
|
||||
}, nil
|
||||
|
||||
case types.RemoteSourceAuthTypePassword:
|
||||
case cstypes.RemoteSourceAuthTypePassword:
|
||||
passwordSource, err := common.GetPasswordSource(rs, "")
|
||||
if err != nil {
|
||||
return nil, errors.Errorf("failed to create git source: %w", err)
|
||||
|
@ -602,7 +603,7 @@ type RemoteSourceAuthResult struct {
|
|||
}
|
||||
|
||||
type CreateUserLAResponse struct {
|
||||
LinkedAccount *types.LinkedAccount
|
||||
LinkedAccount *cstypes.LinkedAccount
|
||||
}
|
||||
|
||||
func (h *ActionHandler) HandleRemoteSourceAuthRequest(ctx context.Context, requestType RemoteSourceRequestType, requestString string, userAccessToken, oauth2AccessToken, oauth2RefreshToken string, oauth2AccessTokenExpiresAt time.Time) (*RemoteSourceAuthResult, error) {
|
||||
|
|
|
@ -20,13 +20,13 @@ import (
|
|||
|
||||
"agola.io/agola/internal/services/common"
|
||||
csapi "agola.io/agola/internal/services/configstore/api"
|
||||
"agola.io/agola/internal/services/types"
|
||||
cstypes "agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/util"
|
||||
errors "golang.org/x/xerrors"
|
||||
)
|
||||
|
||||
type GetVariablesRequest struct {
|
||||
ParentType types.ConfigType
|
||||
ParentType cstypes.ConfigType
|
||||
ParentRef string
|
||||
|
||||
Tree bool
|
||||
|
@ -38,7 +38,7 @@ func (h *ActionHandler) GetVariables(ctx context.Context, req *GetVariablesReque
|
|||
var cssecrets []*csapi.Secret
|
||||
|
||||
switch req.ParentType {
|
||||
case types.ConfigTypeProjectGroup:
|
||||
case cstypes.ConfigTypeProjectGroup:
|
||||
var err error
|
||||
var resp *http.Response
|
||||
csvars, resp, err = h.configstoreClient.GetProjectGroupVariables(ctx, req.ParentRef, req.Tree)
|
||||
|
@ -49,7 +49,7 @@ func (h *ActionHandler) GetVariables(ctx context.Context, req *GetVariablesReque
|
|||
if err != nil {
|
||||
return nil, nil, ErrFromRemote(resp, err)
|
||||
}
|
||||
case types.ConfigTypeProject:
|
||||
case cstypes.ConfigTypeProject:
|
||||
var err error
|
||||
var resp *http.Response
|
||||
csvars, resp, err = h.configstoreClient.GetProjectVariables(ctx, req.ParentRef, req.Tree)
|
||||
|
@ -73,10 +73,10 @@ func (h *ActionHandler) GetVariables(ctx context.Context, req *GetVariablesReque
|
|||
type CreateVariableRequest struct {
|
||||
Name string
|
||||
|
||||
ParentType types.ConfigType
|
||||
ParentType cstypes.ConfigType
|
||||
ParentRef string
|
||||
|
||||
Values []types.VariableValue
|
||||
Values []cstypes.VariableValue
|
||||
}
|
||||
|
||||
func (h *ActionHandler) CreateVariable(ctx context.Context, req *CreateVariableRequest) (*csapi.Variable, []*csapi.Secret, error) {
|
||||
|
@ -96,9 +96,9 @@ func (h *ActionHandler) CreateVariable(ctx context.Context, req *CreateVariableR
|
|||
return nil, nil, util.NewErrBadRequest(errors.Errorf("empty variable values"))
|
||||
}
|
||||
|
||||
v := &types.Variable{
|
||||
v := &cstypes.Variable{
|
||||
Name: req.Name,
|
||||
Parent: types.Parent{
|
||||
Parent: cstypes.Parent{
|
||||
Type: req.ParentType,
|
||||
ID: req.ParentRef,
|
||||
},
|
||||
|
@ -109,7 +109,7 @@ func (h *ActionHandler) CreateVariable(ctx context.Context, req *CreateVariableR
|
|||
var rv *csapi.Variable
|
||||
|
||||
switch req.ParentType {
|
||||
case types.ConfigTypeProjectGroup:
|
||||
case cstypes.ConfigTypeProjectGroup:
|
||||
var err error
|
||||
var resp *http.Response
|
||||
cssecrets, resp, err = h.configstoreClient.GetProjectGroupSecrets(ctx, req.ParentRef, true)
|
||||
|
@ -122,7 +122,7 @@ func (h *ActionHandler) CreateVariable(ctx context.Context, req *CreateVariableR
|
|||
if err != nil {
|
||||
return nil, nil, errors.Errorf("failed to create variable: %w", ErrFromRemote(resp, err))
|
||||
}
|
||||
case types.ConfigTypeProject:
|
||||
case cstypes.ConfigTypeProject:
|
||||
var err error
|
||||
var resp *http.Response
|
||||
cssecrets, resp, err = h.configstoreClient.GetProjectSecrets(ctx, req.ParentRef, true)
|
||||
|
@ -146,10 +146,10 @@ type UpdateVariableRequest struct {
|
|||
|
||||
Name string
|
||||
|
||||
ParentType types.ConfigType
|
||||
ParentType cstypes.ConfigType
|
||||
ParentRef string
|
||||
|
||||
Values []types.VariableValue
|
||||
Values []cstypes.VariableValue
|
||||
}
|
||||
|
||||
func (h *ActionHandler) UpdateVariable(ctx context.Context, req *UpdateVariableRequest) (*csapi.Variable, []*csapi.Secret, error) {
|
||||
|
@ -169,9 +169,9 @@ func (h *ActionHandler) UpdateVariable(ctx context.Context, req *UpdateVariableR
|
|||
return nil, nil, util.NewErrBadRequest(errors.Errorf("empty variable values"))
|
||||
}
|
||||
|
||||
v := &types.Variable{
|
||||
v := &cstypes.Variable{
|
||||
Name: req.Name,
|
||||
Parent: types.Parent{
|
||||
Parent: cstypes.Parent{
|
||||
Type: req.ParentType,
|
||||
ID: req.ParentRef,
|
||||
},
|
||||
|
@ -182,7 +182,7 @@ func (h *ActionHandler) UpdateVariable(ctx context.Context, req *UpdateVariableR
|
|||
var rv *csapi.Variable
|
||||
|
||||
switch req.ParentType {
|
||||
case types.ConfigTypeProjectGroup:
|
||||
case cstypes.ConfigTypeProjectGroup:
|
||||
var err error
|
||||
var resp *http.Response
|
||||
cssecrets, resp, err = h.configstoreClient.GetProjectGroupSecrets(ctx, req.ParentRef, true)
|
||||
|
@ -195,7 +195,7 @@ func (h *ActionHandler) UpdateVariable(ctx context.Context, req *UpdateVariableR
|
|||
if err != nil {
|
||||
return nil, nil, errors.Errorf("failed to create variable: %w", ErrFromRemote(resp, err))
|
||||
}
|
||||
case types.ConfigTypeProject:
|
||||
case cstypes.ConfigTypeProject:
|
||||
var err error
|
||||
var resp *http.Response
|
||||
cssecrets, resp, err = h.configstoreClient.GetProjectSecrets(ctx, req.ParentRef, true)
|
||||
|
@ -214,7 +214,7 @@ func (h *ActionHandler) UpdateVariable(ctx context.Context, req *UpdateVariableR
|
|||
return rv, cssecrets, nil
|
||||
}
|
||||
|
||||
func (h *ActionHandler) DeleteVariable(ctx context.Context, parentType types.ConfigType, parentRef, name string) error {
|
||||
func (h *ActionHandler) DeleteVariable(ctx context.Context, parentType cstypes.ConfigType, parentRef, name string) error {
|
||||
isVariableOwner, err := h.IsVariableOwner(ctx, parentType, parentRef)
|
||||
if err != nil {
|
||||
return errors.Errorf("failed to determine ownership: %w", err)
|
||||
|
@ -225,10 +225,10 @@ func (h *ActionHandler) DeleteVariable(ctx context.Context, parentType types.Con
|
|||
|
||||
var resp *http.Response
|
||||
switch parentType {
|
||||
case types.ConfigTypeProjectGroup:
|
||||
case cstypes.ConfigTypeProjectGroup:
|
||||
h.log.Infof("deleting project group variable")
|
||||
resp, err = h.configstoreClient.DeleteProjectGroupVariable(ctx, parentRef, name)
|
||||
case types.ConfigTypeProject:
|
||||
case cstypes.ConfigTypeProject:
|
||||
h.log.Infof("deleting project variable")
|
||||
resp, err = h.configstoreClient.DeleteProjectVariable(ctx, parentRef, name)
|
||||
}
|
||||
|
|
|
@ -19,7 +19,7 @@ import (
|
|||
"net/http"
|
||||
"net/url"
|
||||
|
||||
"agola.io/agola/internal/services/types"
|
||||
cstypes "agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/util"
|
||||
|
||||
"github.com/gorilla/mux"
|
||||
|
@ -139,14 +139,14 @@ func httpErrorFromRemote(w http.ResponseWriter, resp *http.Response, err error)
|
|||
return false
|
||||
}
|
||||
|
||||
func GetConfigTypeRef(r *http.Request) (types.ConfigType, string, error) {
|
||||
func GetConfigTypeRef(r *http.Request) (cstypes.ConfigType, string, error) {
|
||||
vars := mux.Vars(r)
|
||||
projectRef, err := url.PathUnescape(vars["projectref"])
|
||||
if err != nil {
|
||||
return "", "", util.NewErrBadRequest(errors.Errorf("wrong projectref %q: %w", vars["projectref"], err))
|
||||
}
|
||||
if projectRef != "" {
|
||||
return types.ConfigTypeProject, projectRef, nil
|
||||
return cstypes.ConfigTypeProject, projectRef, nil
|
||||
}
|
||||
|
||||
projectGroupRef, err := url.PathUnescape(vars["projectgroupref"])
|
||||
|
@ -154,7 +154,7 @@ func GetConfigTypeRef(r *http.Request) (types.ConfigType, string, error) {
|
|||
return "", "", util.NewErrBadRequest(errors.Errorf("wrong projectgroupref %q: %w", vars["projectgroupref"], err))
|
||||
}
|
||||
if projectGroupRef != "" {
|
||||
return types.ConfigTypeProjectGroup, projectGroupRef, nil
|
||||
return cstypes.ConfigTypeProjectGroup, projectGroupRef, nil
|
||||
}
|
||||
|
||||
return "", "", util.NewErrBadRequest(errors.Errorf("cannot get project or projectgroup ref"))
|
||||
|
|
|
@ -27,7 +27,7 @@ import (
|
|||
"strconv"
|
||||
"strings"
|
||||
|
||||
"agola.io/agola/internal/services/types"
|
||||
cstypes "agola.io/agola/internal/services/configstore/types"
|
||||
|
||||
errors "golang.org/x/xerrors"
|
||||
)
|
||||
|
@ -475,7 +475,7 @@ func (c *Client) DeleteOrg(ctx context.Context, orgRef string) (*http.Response,
|
|||
return c.getResponse(ctx, "DELETE", fmt.Sprintf("/orgs/%s", orgRef), nil, jsonContent, nil)
|
||||
}
|
||||
|
||||
func (c *Client) AddOrgMember(ctx context.Context, orgRef, userRef string, role types.MemberRole) (*AddOrgMemberResponse, *http.Response, error) {
|
||||
func (c *Client) AddOrgMember(ctx context.Context, orgRef, userRef string, role cstypes.MemberRole) (*AddOrgMemberResponse, *http.Response, error) {
|
||||
req := &AddOrgMemberRequest{
|
||||
Role: role,
|
||||
}
|
||||
|
|
|
@ -19,8 +19,8 @@ import (
|
|||
"net/http"
|
||||
"strconv"
|
||||
|
||||
cstypes "agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/services/gateway/action"
|
||||
"agola.io/agola/internal/services/types"
|
||||
"agola.io/agola/internal/util"
|
||||
"go.uber.org/zap"
|
||||
errors "golang.org/x/xerrors"
|
||||
|
@ -29,8 +29,8 @@ import (
|
|||
)
|
||||
|
||||
type CreateOrgRequest struct {
|
||||
Name string `json:"name"`
|
||||
Visibility types.Visibility `json:"visibility"`
|
||||
Name string `json:"name"`
|
||||
Visibility cstypes.Visibility `json:"visibility"`
|
||||
}
|
||||
|
||||
type CreateOrgHandler struct {
|
||||
|
@ -128,12 +128,12 @@ func (h *OrgHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
|||
}
|
||||
|
||||
type OrgResponse struct {
|
||||
ID string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Visibility types.Visibility `json:"visibility,omitempty"`
|
||||
ID string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Visibility cstypes.Visibility `json:"visibility,omitempty"`
|
||||
}
|
||||
|
||||
func createOrgResponse(o *types.Organization) *OrgResponse {
|
||||
func createOrgResponse(o *cstypes.Organization) *OrgResponse {
|
||||
org := &OrgResponse{
|
||||
ID: o.ID,
|
||||
Name: o.Name,
|
||||
|
@ -205,11 +205,11 @@ type OrgMembersResponse struct {
|
|||
}
|
||||
|
||||
type OrgMemberResponse struct {
|
||||
User *UserResponse `json:"user"`
|
||||
Role types.MemberRole `json:"role"`
|
||||
User *UserResponse `json:"user"`
|
||||
Role cstypes.MemberRole `json:"role"`
|
||||
}
|
||||
|
||||
func createOrgMemberResponse(user *types.User, role types.MemberRole) *OrgMemberResponse {
|
||||
func createOrgMemberResponse(user *cstypes.User, role cstypes.MemberRole) *OrgMemberResponse {
|
||||
return &OrgMemberResponse{
|
||||
User: createUserResponse(user),
|
||||
Role: role,
|
||||
|
@ -254,7 +254,7 @@ type AddOrgMemberResponse struct {
|
|||
OrgMemberResponse
|
||||
}
|
||||
|
||||
func createAddOrgMemberResponse(org *types.Organization, user *types.User, role types.MemberRole) *AddOrgMemberResponse {
|
||||
func createAddOrgMemberResponse(org *cstypes.Organization, user *cstypes.User, role cstypes.MemberRole) *AddOrgMemberResponse {
|
||||
return &AddOrgMemberResponse{
|
||||
Organization: createOrgResponse(org),
|
||||
OrgMemberResponse: OrgMemberResponse{
|
||||
|
@ -265,7 +265,7 @@ func createAddOrgMemberResponse(org *types.Organization, user *types.User, role
|
|||
}
|
||||
|
||||
type AddOrgMemberRequest struct {
|
||||
Role types.MemberRole `json:"role"`
|
||||
Role cstypes.MemberRole `json:"role"`
|
||||
}
|
||||
|
||||
type AddOrgMemberHandler struct {
|
||||
|
|
|
@ -20,8 +20,8 @@ import (
|
|||
"net/url"
|
||||
|
||||
csapi "agola.io/agola/internal/services/configstore/api"
|
||||
cstypes "agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/services/gateway/action"
|
||||
"agola.io/agola/internal/services/types"
|
||||
"agola.io/agola/internal/util"
|
||||
|
||||
"github.com/gorilla/mux"
|
||||
|
@ -29,12 +29,12 @@ import (
|
|||
)
|
||||
|
||||
type CreateProjectRequest struct {
|
||||
Name string `json:"name,omitempty"`
|
||||
ParentRef string `json:"parent_ref,omitempty"`
|
||||
Visibility types.Visibility `json:"visibility,omitempty"`
|
||||
RepoPath string `json:"repo_path,omitempty"`
|
||||
RemoteSourceName string `json:"remote_source_name,omitempty"`
|
||||
SkipSSHHostKeyCheck bool `json:"skip_ssh_host_key_check,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
ParentRef string `json:"parent_ref,omitempty"`
|
||||
Visibility cstypes.Visibility `json:"visibility,omitempty"`
|
||||
RepoPath string `json:"repo_path,omitempty"`
|
||||
RemoteSourceName string `json:"remote_source_name,omitempty"`
|
||||
SkipSSHHostKeyCheck bool `json:"skip_ssh_host_key_check,omitempty"`
|
||||
}
|
||||
|
||||
type CreateProjectHandler struct {
|
||||
|
@ -78,8 +78,8 @@ func (h *CreateProjectHandler) ServeHTTP(w http.ResponseWriter, r *http.Request)
|
|||
}
|
||||
|
||||
type UpdateProjectRequest struct {
|
||||
Name string `json:"name,omitempty"`
|
||||
Visibility types.Visibility `json:"visibility,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Visibility cstypes.Visibility `json:"visibility,omitempty"`
|
||||
}
|
||||
|
||||
type UpdateProjectHandler struct {
|
||||
|
@ -240,12 +240,12 @@ func (h *ProjectHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
|||
}
|
||||
|
||||
type ProjectResponse struct {
|
||||
ID string `json:"id,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Path string `json:"path,omitempty"`
|
||||
ParentPath string `json:"parent_path,omitempty"`
|
||||
Visibility types.Visibility `json:"visibility,omitempty"`
|
||||
GlobalVisibility string `json:"global_visibility,omitempty"`
|
||||
ID string `json:"id,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Path string `json:"path,omitempty"`
|
||||
ParentPath string `json:"parent_path,omitempty"`
|
||||
Visibility cstypes.Visibility `json:"visibility,omitempty"`
|
||||
GlobalVisibility string `json:"global_visibility,omitempty"`
|
||||
}
|
||||
|
||||
func createProjectResponse(r *csapi.Project) *ProjectResponse {
|
||||
|
|
|
@ -20,8 +20,8 @@ import (
|
|||
"net/url"
|
||||
|
||||
csapi "agola.io/agola/internal/services/configstore/api"
|
||||
cstypes "agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/services/gateway/action"
|
||||
"agola.io/agola/internal/services/types"
|
||||
"agola.io/agola/internal/util"
|
||||
errors "golang.org/x/xerrors"
|
||||
|
||||
|
@ -30,9 +30,9 @@ import (
|
|||
)
|
||||
|
||||
type CreateProjectGroupRequest struct {
|
||||
Name string `json:"name"`
|
||||
ParentRef string `json:"parent_ref"`
|
||||
Visibility types.Visibility `json:"visibility"`
|
||||
Name string `json:"name"`
|
||||
ParentRef string `json:"parent_ref"`
|
||||
Visibility cstypes.Visibility `json:"visibility"`
|
||||
}
|
||||
|
||||
type CreateProjectGroupHandler struct {
|
||||
|
@ -81,8 +81,8 @@ func (h *CreateProjectGroupHandler) ServeHTTP(w http.ResponseWriter, r *http.Req
|
|||
}
|
||||
|
||||
type UpdateProjectGroupRequest struct {
|
||||
Name string `json:"name,omitempty"`
|
||||
Visibility types.Visibility `json:"visibility,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Visibility cstypes.Visibility `json:"visibility,omitempty"`
|
||||
}
|
||||
|
||||
type UpdateProjectGroupHandler struct {
|
||||
|
@ -254,12 +254,12 @@ func (h *ProjectGroupSubgroupsHandler) ServeHTTP(w http.ResponseWriter, r *http.
|
|||
}
|
||||
|
||||
type ProjectGroupResponse struct {
|
||||
ID string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Path string `json:"path"`
|
||||
ParentPath string `json:"parent_path"`
|
||||
Visibility types.Visibility `json:"visibility"`
|
||||
GlobalVisibility string `json:"global_visibility"`
|
||||
ID string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Path string `json:"path"`
|
||||
ParentPath string `json:"parent_path"`
|
||||
Visibility cstypes.Visibility `json:"visibility"`
|
||||
GlobalVisibility string `json:"global_visibility"`
|
||||
}
|
||||
|
||||
func createProjectGroupResponse(r *csapi.ProjectGroup) *ProjectGroupResponse {
|
||||
|
|
|
@ -19,8 +19,8 @@ import (
|
|||
|
||||
gitsource "agola.io/agola/internal/gitsources"
|
||||
csapi "agola.io/agola/internal/services/configstore/api"
|
||||
cstypes "agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/services/gateway/action"
|
||||
"agola.io/agola/internal/services/types"
|
||||
"agola.io/agola/internal/util"
|
||||
|
||||
"github.com/gorilla/mux"
|
||||
|
@ -76,7 +76,7 @@ func (h *UserRemoteReposHandler) ServeHTTP(w http.ResponseWriter, r *http.Reques
|
|||
return
|
||||
}
|
||||
|
||||
var la *types.LinkedAccount
|
||||
var la *cstypes.LinkedAccount
|
||||
for _, v := range user.LinkedAccounts {
|
||||
if v.RemoteSourceID == rs.ID {
|
||||
la = v
|
||||
|
|
|
@ -19,13 +19,13 @@ import (
|
|||
"net/http"
|
||||
"strconv"
|
||||
|
||||
cstypes "agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/services/gateway/action"
|
||||
"agola.io/agola/internal/services/types"
|
||||
"agola.io/agola/internal/util"
|
||||
"go.uber.org/zap"
|
||||
errors "golang.org/x/xerrors"
|
||||
|
||||
"github.com/gorilla/mux"
|
||||
errors "golang.org/x/xerrors"
|
||||
)
|
||||
|
||||
type CreateRemoteSourceRequest struct {
|
||||
|
@ -152,7 +152,7 @@ type RemoteSourceResponse struct {
|
|||
LoginEnabled bool `json:"login_enabled"`
|
||||
}
|
||||
|
||||
func createRemoteSourceResponse(r *types.RemoteSource) *RemoteSourceResponse {
|
||||
func createRemoteSourceResponse(r *cstypes.RemoteSource) *RemoteSourceResponse {
|
||||
rs := &RemoteSourceResponse{
|
||||
ID: r.ID,
|
||||
Name: r.Name,
|
||||
|
|
|
@ -19,12 +19,12 @@ import (
|
|||
"net/http"
|
||||
|
||||
csapi "agola.io/agola/internal/services/configstore/api"
|
||||
cstypes "agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/services/gateway/action"
|
||||
"agola.io/agola/internal/services/types"
|
||||
"agola.io/agola/internal/util"
|
||||
"go.uber.org/zap"
|
||||
|
||||
"github.com/gorilla/mux"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
type SecretResponse struct {
|
||||
|
@ -85,7 +85,7 @@ func (h *SecretHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
|||
type CreateSecretRequest struct {
|
||||
Name string `json:"name,omitempty"`
|
||||
|
||||
Type types.SecretType `json:"type,omitempty"`
|
||||
Type cstypes.SecretType `json:"type,omitempty"`
|
||||
|
||||
// internal secret
|
||||
Data map[string]string `json:"data,omitempty"`
|
||||
|
@ -142,7 +142,7 @@ func (h *CreateSecretHandler) ServeHTTP(w http.ResponseWriter, r *http.Request)
|
|||
type UpdateSecretRequest struct {
|
||||
Name string `json:"name,omitempty"`
|
||||
|
||||
Type types.SecretType `json:"type,omitempty"`
|
||||
Type cstypes.SecretType `json:"type,omitempty"`
|
||||
|
||||
// internal secret
|
||||
Data map[string]string `json:"data,omitempty"`
|
||||
|
|
|
@ -22,8 +22,8 @@ import (
|
|||
"strconv"
|
||||
|
||||
gitsource "agola.io/agola/internal/gitsources"
|
||||
cstypes "agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/services/gateway/action"
|
||||
"agola.io/agola/internal/services/types"
|
||||
"agola.io/agola/internal/util"
|
||||
|
||||
"github.com/gorilla/mux"
|
||||
|
@ -166,7 +166,7 @@ type LinkedAccountResponse struct {
|
|||
RemoteUserAvatarURL string `json:"remote_user_avatar_url"`
|
||||
}
|
||||
|
||||
func createUserResponse(u *types.User) *UserResponse {
|
||||
func createUserResponse(u *cstypes.User) *UserResponse {
|
||||
user := &UserResponse{
|
||||
ID: u.ID,
|
||||
UserName: u.Name,
|
||||
|
@ -256,8 +256,8 @@ type CreateUserLARequest struct {
|
|||
}
|
||||
|
||||
type CreateUserLAResponse struct {
|
||||
LinkedAccount *types.LinkedAccount `json:"linked_account"`
|
||||
Oauth2Redirect string `json:"oauth2_redirect"`
|
||||
LinkedAccount *cstypes.LinkedAccount `json:"linked_account"`
|
||||
Oauth2Redirect string `json:"oauth2_redirect"`
|
||||
}
|
||||
|
||||
type CreateUserLAHandler struct {
|
||||
|
|
|
@ -20,8 +20,8 @@ import (
|
|||
|
||||
"agola.io/agola/internal/services/common"
|
||||
csapi "agola.io/agola/internal/services/configstore/api"
|
||||
cstypes "agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/services/gateway/action"
|
||||
"agola.io/agola/internal/services/types"
|
||||
"agola.io/agola/internal/util"
|
||||
"go.uber.org/zap"
|
||||
|
||||
|
@ -33,7 +33,7 @@ type VariableValue struct {
|
|||
SecretVar string `json:"secret_var"`
|
||||
MatchingSecretParentPath string `json:"matching_secret_parent_path"`
|
||||
|
||||
When *types.When `json:"when"`
|
||||
When *cstypes.When `json:"when"`
|
||||
}
|
||||
|
||||
type VariableResponse struct {
|
||||
|
@ -113,7 +113,7 @@ func (h *VariableHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
|||
type CreateVariableRequest struct {
|
||||
Name string `json:"name,omitempty"`
|
||||
|
||||
Values []types.VariableValue `json:"values,omitempty"`
|
||||
Values []cstypes.VariableValue `json:"values,omitempty"`
|
||||
}
|
||||
|
||||
type CreateVariableHandler struct {
|
||||
|
@ -160,7 +160,7 @@ func (h *CreateVariableHandler) ServeHTTP(w http.ResponseWriter, r *http.Request
|
|||
type UpdateVariableRequest struct {
|
||||
Name string `json:"name,omitempty"`
|
||||
|
||||
Values []types.VariableValue `json:"values,omitempty"`
|
||||
Values []cstypes.VariableValue `json:"values,omitempty"`
|
||||
}
|
||||
|
||||
type UpdateVariableHandler struct {
|
||||
|
|
|
@ -88,7 +88,7 @@ type Backoff struct {
|
|||
//
|
||||
// If the condition never returns true, ErrWaitTimeout is returned. All other
|
||||
// errors terminate immediately.
|
||||
func ExponentialBackoff(ctx context.Context,backoff Backoff, condition ConditionFunc) error {
|
||||
func ExponentialBackoff(ctx context.Context, backoff Backoff, condition ConditionFunc) error {
|
||||
duration := backoff.Duration
|
||||
for i := 0; i < backoff.Steps; i++ {
|
||||
if i != 0 {
|
||||
|
|
|
@ -28,6 +28,7 @@ import (
|
|||
slog "agola.io/agola/internal/log"
|
||||
"agola.io/agola/internal/services/config"
|
||||
"agola.io/agola/internal/services/configstore"
|
||||
cstypes "agola.io/agola/internal/services/configstore/types"
|
||||
"agola.io/agola/internal/services/executor"
|
||||
"agola.io/agola/internal/services/gateway"
|
||||
gwapi "agola.io/agola/internal/services/gateway/api"
|
||||
|
@ -36,7 +37,6 @@ import (
|
|||
rsscheduler "agola.io/agola/internal/services/runservice"
|
||||
rstypes "agola.io/agola/internal/services/runservice/types"
|
||||
"agola.io/agola/internal/services/scheduler"
|
||||
"agola.io/agola/internal/services/types"
|
||||
"agola.io/agola/internal/testutil"
|
||||
"agola.io/agola/internal/util"
|
||||
|
||||
|
@ -427,7 +427,7 @@ func createProject(ctx context.Context, t *testing.T, giteaClient *gitea.Client,
|
|||
ParentRef: path.Join("user", agolaUser01),
|
||||
RemoteSourceName: "gitea",
|
||||
RepoPath: path.Join(giteaUser01, "repo01"),
|
||||
Visibility: types.VisibilityPublic,
|
||||
Visibility: cstypes.VisibilityPublic,
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatalf("unexpected err: %v", err)
|
||||
|
|
Loading…
Reference in New Issue