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" "fmt" "edge-infra.dev/pkg/edge/api/graph/model" ) // CreateNamespace is the resolver for the createNamespace field. func (r *mutationResolver) CreateNamespace(ctx context.Context, createNamespace model.NamespaceCreateInput) (*model.Namespace, error) { return r.NamespaceService.CreateNamespaceEntry(ctx, &createNamespace) } // DeleteNamespace is the resolver for the deleteNamespace field. func (r *mutationResolver) DeleteNamespace(ctx context.Context, bannerEdgeID string, name string) (bool, error) { namespaces, err := r.NamespaceService.GetBannerNamespaces(ctx, bannerEdgeID, &name) if err != nil { return false, err } if len(namespaces) != 1 { return false, fmt.Errorf("could not find namespace to delete") } namespace := namespaces[0] count, err := r.NamespaceService.GetNumClustersUsingNamespace(ctx, namespace.NamespaceEdgeID) if err != nil { return false, err } if count != 0 { return false, fmt.Errorf("cannot delete a namespace that is in use by clusters") } if err = r.NamespaceService.DeleteNamespaceEntry(ctx, bannerEdgeID, name); err != nil { return false, err } return true, nil } // BannerNamespaces is the resolver for the bannerNamespaces field. func (r *queryResolver) BannerNamespaces(ctx context.Context, bannerEdgeID string, name *string) ([]*model.Namespace, error) { return r.NamespaceService.GetBannerNamespaces(ctx, bannerEdgeID, name) } // ClusterNamespaces is the resolver for the clusterNamespaces field. func (r *queryResolver) ClusterNamespaces(ctx context.Context, clusterEdgeID string, name *string) ([]*model.Namespace, error) { return r.NamespaceService.GetClusterNamespaces(ctx, clusterEdgeID, name) }