...

Source file src/edge-infra.dev/pkg/edge/api/graph/resolver/namespace_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  	"fmt"
    10  
    11  	"edge-infra.dev/pkg/edge/api/graph/model"
    12  )
    13  
    14  // CreateNamespace is the resolver for the createNamespace field.
    15  func (r *mutationResolver) CreateNamespace(ctx context.Context, createNamespace model.NamespaceCreateInput) (*model.Namespace, error) {
    16  	return r.NamespaceService.CreateNamespaceEntry(ctx, &createNamespace)
    17  }
    18  
    19  // DeleteNamespace is the resolver for the deleteNamespace field.
    20  func (r *mutationResolver) DeleteNamespace(ctx context.Context, bannerEdgeID string, name string) (bool, error) {
    21  	namespaces, err := r.NamespaceService.GetBannerNamespaces(ctx, bannerEdgeID, &name)
    22  	if err != nil {
    23  		return false, err
    24  	}
    25  	if len(namespaces) != 1 {
    26  		return false, fmt.Errorf("could not find namespace to delete")
    27  	}
    28  	namespace := namespaces[0]
    29  	count, err := r.NamespaceService.GetNumClustersUsingNamespace(ctx, namespace.NamespaceEdgeID)
    30  	if err != nil {
    31  		return false, err
    32  	}
    33  	if count != 0 {
    34  		return false, fmt.Errorf("cannot delete a namespace that is in use by clusters")
    35  	}
    36  	if err = r.NamespaceService.DeleteNamespaceEntry(ctx, bannerEdgeID, name); err != nil {
    37  		return false, err
    38  	}
    39  	return true, nil
    40  }
    41  
    42  // BannerNamespaces is the resolver for the bannerNamespaces field.
    43  func (r *queryResolver) BannerNamespaces(ctx context.Context, bannerEdgeID string, name *string) ([]*model.Namespace, error) {
    44  	return r.NamespaceService.GetBannerNamespaces(ctx, bannerEdgeID, name)
    45  }
    46  
    47  // ClusterNamespaces is the resolver for the clusterNamespaces field.
    48  func (r *queryResolver) ClusterNamespaces(ctx context.Context, clusterEdgeID string, name *string) ([]*model.Namespace, error) {
    49  	return r.NamespaceService.GetClusterNamespaces(ctx, clusterEdgeID, name)
    50  }
    51  

View as plain text