...

Source file src/edge-infra.dev/pkg/edge/api/graph/resolver/compatibility_queries.resolvers.go

Documentation: edge-infra.dev/pkg/edge/api/graph/resolver

     1  package resolver
     2  
     3  // This file will be automatically regenerated based on the schema, any resolver implementations
     4  // will be copied through when generating and any unknown code will be moved to the end.
     5  // Code generated by github.com/99designs/gqlgen version v0.17.45
     6  
     7  import (
     8  	"context"
     9  
    10  	"edge-infra.dev/pkg/edge/api/graph/model"
    11  	"edge-infra.dev/pkg/edge/api/utils"
    12  )
    13  
    14  // AddArtifactCompatibility is the resolver for the addArtifactCompatibility field.
    15  func (r *mutationResolver) AddArtifactCompatibility(ctx context.Context, artifactCompatibility model.ArtifactCompatibilityPayload) (bool, error) {
    16  	// get existing bwc nth index
    17  	existingCompatibility, err := r.CompatibilityService.GetArtifactVersionCompatibility(ctx, model.ArtifactVersion{Name: artifactCompatibility.Artifact.Name, Version: artifactCompatibility.Artifact.Version}, nil)
    18  	if err != nil {
    19  		return false, err
    20  	}
    21  	if existingCompatibility.CompatibleArtifacts != nil {
    22  		artifactCompatibility.NthIndex = &existingCompatibility.NthIndex
    23  	}
    24  	return r.CompatibilityService.AddArtifactCompatibility(ctx, artifactCompatibility)
    25  }
    26  
    27  // DeleteArtifactCompatibility is the resolver for the deleteArtifactCompatibility field.
    28  func (r *mutationResolver) DeleteArtifactCompatibility(ctx context.Context, artifactCompatibility model.ArtifactCompatibilityPayload) (bool, error) {
    29  	return r.CompatibilityService.DeleteArtifactCompatibility(ctx, artifactCompatibility)
    30  }
    31  
    32  // GetArtifactVersionCompatibility is the resolver for the getArtifactVersionCompatibility field.
    33  func (r *queryResolver) GetArtifactVersionCompatibility(ctx context.Context, artifactName string, artifactVersion string) (*model.ArtifactCompatibility, error) {
    34  	if artifactVersion == "latest" {
    35  		latestVersion, err := r.ArtifactsService.GetLatestAvailableArtifactVersion(ctx, artifactName)
    36  		if err != nil {
    37  			return nil, err
    38  		}
    39  		artifactVersion = latestVersion.Version
    40  	}
    41  	artifactBaseMinorVersion, _ := utils.SetVersionToBaseAndMinorVersion(&artifactVersion, nil)
    42  	return r.CompatibilityService.GetArtifactVersionCompatibility(ctx, model.ArtifactVersion{Name: artifactName, Version: artifactBaseMinorVersion}, nil)
    43  }
    44  
    45  // CheckVersionSupport is the resolver for the checkVersionSupport field.
    46  func (r *queryResolver) CheckVersionSupport(ctx context.Context, artifactName string, artifactVersion string) (bool, error) {
    47  	latestArtifact, err := r.ArtifactsService.GetLatestAvailableArtifactVersion(ctx, artifactName)
    48  	if err != nil {
    49  		return false, err
    50  	}
    51  	latestBaseVersion, _ := utils.SetVersionToBaseAndMinorVersion(&latestArtifact.Version, nil)
    52  	artifactBaseVersion, _ := utils.SetVersionToBaseAndMinorVersion(&artifactVersion, nil)
    53  	return r.CompatibilityService.IsCompatible(ctx, model.ArtifactVersion{Name: artifactName, Version: latestBaseVersion}, model.ArtifactVersion{Name: artifactName, Version: artifactBaseVersion})
    54  }
    55  

View as plain text