func()

in internal/handlersettings/types.go [30:65]


func (s HandlerSettings) ReadArtifacts() ([]UnifiedArtifact, error) {
	if s.ProtectedSettings.Artifacts == nil && s.PublicSettings.Artifacts == nil {
		return nil, nil
	}

	if len(s.ProtectedSettings.Artifacts) != len(s.PublicSettings.Artifacts) {
		return nil, errors.New(("RunCommand artifact download failed. Reason: Invalid artifact specification. This is a product bug."))
	}

	artifacts := make([]UnifiedArtifact, len(s.PublicSettings.Artifacts))

	for i := 0; i < len(s.PublicSettings.Artifacts); i++ {
		publicArtifact := s.PublicSettings.Artifacts[i]
		found := false

		for k := 0; k < len(s.ProtectedSettings.Artifacts); k++ {
			protectedArtifact := s.ProtectedSettings.Artifacts[k]
			if publicArtifact.ArtifactId == protectedArtifact.ArtifactId {
				found = true
				artifacts[i] = UnifiedArtifact{
					ArtifactId:              publicArtifact.ArtifactId,
					ArtifactUri:             publicArtifact.ArtifactUri,
					ArtifactSasToken:        protectedArtifact.ArtifactSasToken,
					FileName:                publicArtifact.FileName,
					ArtifactManagedIdentity: protectedArtifact.ArtifactManagedIdentity,
				}
			}
		}

		if !found {
			return nil, errors.New(("RunCommand artifact download failed. Reason: Invalid artifact specification. This is a product bug."))
		}
	}

	return artifacts, nil
}