From 6e9d327a278e989d84d594bb2056b8a617d85076 Mon Sep 17 00:00:00 2001 From: Michael Yocca Date: Tue, 9 Aug 2022 18:45:29 -0700 Subject: [PATCH] add TagsRegex defined helper --- workspace.go | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/workspace.go b/workspace.go index dd163454d..d5fe03611 100644 --- a/workspace.go +++ b/workspace.go @@ -1072,15 +1072,15 @@ func (o WorkspaceCreateOptions) valid() error { o.TriggerPatterns != nil && len(o.TriggerPatterns) > 0 { return ErrUnsupportedBothTriggerPatternsAndPrefixes } - if o.VCSRepo != nil && o.VCSRepo.TagsRegex != nil && + if tagRegexDefined(o.VCSRepo) && o.TriggerPatterns != nil && len(o.TriggerPatterns) > 0 { return ErrUnsupportedBothTagsRegexAndTriggerPatterns } - if o.VCSRepo != nil && o.VCSRepo.TagsRegex != nil && + if tagRegexDefined(o.VCSRepo) && o.TriggerPrefixes != nil && len(o.TriggerPrefixes) > 0 { return ErrUnsupportedBothTagsRegexAndTriggerPrefixes } - if o.VCSRepo != nil && o.VCSRepo.TagsRegex != nil && *o.VCSRepo.TagsRegex != "" && + if tagRegexDefined(o.VCSRepo) && o.FileTriggersEnabled != nil && *o.FileTriggersEnabled { return ErrUnsupportedBothTagsRegexAndFileTriggersEnabled } @@ -1103,15 +1103,15 @@ func (o WorkspaceUpdateOptions) valid() error { return ErrUnsupportedBothTriggerPatternsAndPrefixes } - if o.VCSRepo != nil && o.VCSRepo.TagsRegex != nil && + if tagRegexDefined(o.VCSRepo) && o.TriggerPatterns != nil && len(o.TriggerPatterns) > 0 { return ErrUnsupportedBothTagsRegexAndTriggerPatterns } - if o.VCSRepo != nil && o.VCSRepo.TagsRegex != nil && + if tagRegexDefined(o.VCSRepo) && o.TriggerPrefixes != nil && len(o.TriggerPrefixes) > 0 { return ErrUnsupportedBothTagsRegexAndTriggerPrefixes } - if o.VCSRepo != nil && o.VCSRepo.TagsRegex != nil && *o.VCSRepo.TagsRegex != "" && + if tagRegexDefined(o.VCSRepo) && o.FileTriggersEnabled != nil && *o.FileTriggersEnabled { return ErrUnsupportedBothTagsRegexAndFileTriggersEnabled } @@ -1221,3 +1221,13 @@ func validateWorkspaceIncludeParams(params []WSIncludeOpt) error { return nil } + +func tagRegexDefined(options *VCSRepoOptions) bool { + if options == nil { + return false + } + if options.TagsRegex != nil && *options.TagsRegex != "" { + return true + } + return false +}