chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
package source
|
||||
|
||||
import (
|
||||
portainer "github.com/portainer/portainer/api"
|
||||
gittypes "github.com/portainer/portainer/api/git/types"
|
||||
)
|
||||
|
||||
type normalizedGitSource struct {
|
||||
url string
|
||||
username string
|
||||
password string
|
||||
}
|
||||
|
||||
func (a *normalizedGitSource) Equal(b *normalizedGitSource) bool {
|
||||
return a != nil && b != nil &&
|
||||
a.url == b.url &&
|
||||
a.username == b.username &&
|
||||
a.password == b.password
|
||||
}
|
||||
|
||||
// normalize git source to a lighter object used to compare sources together
|
||||
func normalizeGitSource(src *portainer.Source) (*normalizedGitSource, error) {
|
||||
if src == nil || src.Type != portainer.SourceTypeGit || src.Git == nil {
|
||||
return nil, ErrInvalidSource
|
||||
}
|
||||
|
||||
url, err := gittypes.NormalizeURL(gittypes.SanitizeURL(src.Git.URL))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
username, password := "", ""
|
||||
if src.Git.Authentication != nil {
|
||||
username = src.Git.Authentication.Username
|
||||
password = src.Git.Authentication.Password
|
||||
}
|
||||
|
||||
return &normalizedGitSource{
|
||||
url: url,
|
||||
username: username,
|
||||
password: password,
|
||||
}, nil
|
||||
}
|
||||
Reference in New Issue
Block a user