package resolver // This file will be automatically regenerated based on the schema, any resolver implementations // will be copied through when generating and any unknown code will be moved to the end. // Code generated by github.com/99designs/gqlgen version v0.17.45 import ( "context" "edge-infra.dev/pkg/edge/api/graph/model" "edge-infra.dev/pkg/edge/api/utils" ) // AddArtifactCompatibility is the resolver for the addArtifactCompatibility field. func (r *mutationResolver) AddArtifactCompatibility(ctx context.Context, artifactCompatibility model.ArtifactCompatibilityPayload) (bool, error) { // get existing bwc nth index existingCompatibility, err := r.CompatibilityService.GetArtifactVersionCompatibility(ctx, model.ArtifactVersion{Name: artifactCompatibility.Artifact.Name, Version: artifactCompatibility.Artifact.Version}, nil) if err != nil { return false, err } if existingCompatibility.CompatibleArtifacts != nil { artifactCompatibility.NthIndex = &existingCompatibility.NthIndex } return r.CompatibilityService.AddArtifactCompatibility(ctx, artifactCompatibility) } // DeleteArtifactCompatibility is the resolver for the deleteArtifactCompatibility field. func (r *mutationResolver) DeleteArtifactCompatibility(ctx context.Context, artifactCompatibility model.ArtifactCompatibilityPayload) (bool, error) { return r.CompatibilityService.DeleteArtifactCompatibility(ctx, artifactCompatibility) } // GetArtifactVersionCompatibility is the resolver for the getArtifactVersionCompatibility field. func (r *queryResolver) GetArtifactVersionCompatibility(ctx context.Context, artifactName string, artifactVersion string) (*model.ArtifactCompatibility, error) { if artifactVersion == "latest" { latestVersion, err := r.ArtifactsService.GetLatestAvailableArtifactVersion(ctx, artifactName) if err != nil { return nil, err } artifactVersion = latestVersion.Version } artifactBaseMinorVersion, _ := utils.SetVersionToBaseAndMinorVersion(&artifactVersion, nil) return r.CompatibilityService.GetArtifactVersionCompatibility(ctx, model.ArtifactVersion{Name: artifactName, Version: artifactBaseMinorVersion}, nil) } // CheckVersionSupport is the resolver for the checkVersionSupport field. func (r *queryResolver) CheckVersionSupport(ctx context.Context, artifactName string, artifactVersion string) (bool, error) { latestArtifact, err := r.ArtifactsService.GetLatestAvailableArtifactVersion(ctx, artifactName) if err != nil { return false, err } latestBaseVersion, _ := utils.SetVersionToBaseAndMinorVersion(&latestArtifact.Version, nil) artifactBaseVersion, _ := utils.SetVersionToBaseAndMinorVersion(&artifactVersion, nil) return r.CompatibilityService.IsCompatible(ctx, model.ArtifactVersion{Name: artifactName, Version: latestBaseVersion}, model.ArtifactVersion{Name: artifactName, Version: artifactBaseVersion}) }