// Code generated by protoc-gen-connect-go. DO NOT EDIT.
//
// Source: svc/organization/v1/service.proto

package organizationv1connect

import (
	connect "connectrpc.com/connect"
	context "context"
	errors "errors"
	v1 "github.com/humanlogio/api/go/svc/organization/v1"
	http "net/http"
	strings "strings"
)

// This is a compile-time assertion to ensure that this generated file and the connect package are
// compatible. If you get a compiler error that this constant is not defined, this code was
// generated with a version of connect newer than the one compiled into your binary. You can fix the
// problem by either regenerating this code with an older version of connect or updating the connect
// version compiled into your binary.
const _ = connect.IsAtLeastVersion1_13_0

const (
	// OrganizationServiceName is the fully-qualified name of the OrganizationService service.
	OrganizationServiceName = "svc.organization.v1.OrganizationService"
)

// These constants are the fully-qualified names of the RPCs defined in this package. They're
// exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route.
//
// Note that these are different from the fully-qualified method names used by
// google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to
// reflection-formatted method names, remove the leading slash and convert the remaining slash to a
// period.
const (
	// OrganizationServiceCreateEnvironmentProcedure is the fully-qualified name of the
	// OrganizationService's CreateEnvironment RPC.
	OrganizationServiceCreateEnvironmentProcedure = "/svc.organization.v1.OrganizationService/CreateEnvironment"
	// OrganizationServiceGetEnvironmentProcedure is the fully-qualified name of the
	// OrganizationService's GetEnvironment RPC.
	OrganizationServiceGetEnvironmentProcedure = "/svc.organization.v1.OrganizationService/GetEnvironment"
	// OrganizationServiceListEnvironmentProcedure is the fully-qualified name of the
	// OrganizationService's ListEnvironment RPC.
	OrganizationServiceListEnvironmentProcedure = "/svc.organization.v1.OrganizationService/ListEnvironment"
	// OrganizationServiceListUserProcedure is the fully-qualified name of the OrganizationService's
	// ListUser RPC.
	OrganizationServiceListUserProcedure = "/svc.organization.v1.OrganizationService/ListUser"
	// OrganizationServiceInviteUserProcedure is the fully-qualified name of the OrganizationService's
	// InviteUser RPC.
	OrganizationServiceInviteUserProcedure = "/svc.organization.v1.OrganizationService/InviteUser"
	// OrganizationServiceRevokeUserProcedure is the fully-qualified name of the OrganizationService's
	// RevokeUser RPC.
	OrganizationServiceRevokeUserProcedure = "/svc.organization.v1.OrganizationService/RevokeUser"
	// OrganizationServiceCreateAddonSubscriptionProcedure is the fully-qualified name of the
	// OrganizationService's CreateAddonSubscription RPC.
	OrganizationServiceCreateAddonSubscriptionProcedure = "/svc.organization.v1.OrganizationService/CreateAddonSubscription"
	// OrganizationServiceListAddonSubscriptionProcedure is the fully-qualified name of the
	// OrganizationService's ListAddonSubscription RPC.
	OrganizationServiceListAddonSubscriptionProcedure = "/svc.organization.v1.OrganizationService/ListAddonSubscription"
	// OrganizationServiceRemoveAddonSubscriptionProcedure is the fully-qualified name of the
	// OrganizationService's RemoveAddonSubscription RPC.
	OrganizationServiceRemoveAddonSubscriptionProcedure = "/svc.organization.v1.OrganizationService/RemoveAddonSubscription"
	// OrganizationServiceGetStripePublishableKeyProcedure is the fully-qualified name of the
	// OrganizationService's GetStripePublishableKey RPC.
	OrganizationServiceGetStripePublishableKeyProcedure = "/svc.organization.v1.OrganizationService/GetStripePublishableKey"
	// OrganizationServiceGetStripeBillingPortalProcedure is the fully-qualified name of the
	// OrganizationService's GetStripeBillingPortal RPC.
	OrganizationServiceGetStripeBillingPortalProcedure = "/svc.organization.v1.OrganizationService/GetStripeBillingPortal"
	// OrganizationServiceCreateStripeCustomerSessionProcedure is the fully-qualified name of the
	// OrganizationService's CreateStripeCustomerSession RPC.
	OrganizationServiceCreateStripeCustomerSessionProcedure = "/svc.organization.v1.OrganizationService/CreateStripeCustomerSession"
	// OrganizationServiceListPaymentMethodProcedure is the fully-qualified name of the
	// OrganizationService's ListPaymentMethod RPC.
	OrganizationServiceListPaymentMethodProcedure = "/svc.organization.v1.OrganizationService/ListPaymentMethod"
)

// OrganizationServiceClient is a client for the svc.organization.v1.OrganizationService service.
type OrganizationServiceClient interface {
	CreateEnvironment(context.Context, *connect.Request[v1.CreateEnvironmentRequest]) (*connect.Response[v1.CreateEnvironmentResponse], error)
	GetEnvironment(context.Context, *connect.Request[v1.GetEnvironmentRequest]) (*connect.Response[v1.GetEnvironmentResponse], error)
	ListEnvironment(context.Context, *connect.Request[v1.ListEnvironmentRequest]) (*connect.Response[v1.ListEnvironmentResponse], error)
	ListUser(context.Context, *connect.Request[v1.ListUserRequest]) (*connect.Response[v1.ListUserResponse], error)
	InviteUser(context.Context, *connect.Request[v1.InviteUserRequest]) (*connect.Response[v1.InviteUserResponse], error)
	RevokeUser(context.Context, *connect.Request[v1.RevokeUserRequest]) (*connect.Response[v1.RevokeUserResponse], error)
	CreateAddonSubscription(context.Context, *connect.Request[v1.CreateAddonSubscriptionRequest]) (*connect.Response[v1.CreateAddonSubscriptionResponse], error)
	ListAddonSubscription(context.Context, *connect.Request[v1.ListAddonSubscriptionRequest]) (*connect.Response[v1.ListAddonSubscriptionResponse], error)
	RemoveAddonSubscription(context.Context, *connect.Request[v1.RemoveAddonSubscriptionRequest]) (*connect.Response[v1.RemoveAddonSubscriptionResponse], error)
	// payment
	GetStripePublishableKey(context.Context, *connect.Request[v1.GetStripePublishableKeyRequest]) (*connect.Response[v1.GetStripePublishableKeyResponse], error)
	GetStripeBillingPortal(context.Context, *connect.Request[v1.GetStripeBillingPortalRequest]) (*connect.Response[v1.GetStripeBillingPortalResponse], error)
	CreateStripeCustomerSession(context.Context, *connect.Request[v1.CreateStripeCustomerSessionRequest]) (*connect.Response[v1.CreateStripeCustomerSessionResponse], error)
	ListPaymentMethod(context.Context, *connect.Request[v1.ListPaymentMethodRequest]) (*connect.Response[v1.ListPaymentMethodResponse], error)
}

// NewOrganizationServiceClient constructs a client for the svc.organization.v1.OrganizationService
// service. By default, it uses the Connect protocol with the binary Protobuf Codec, asks for
// gzipped responses, and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply
// the connect.WithGRPC() or connect.WithGRPCWeb() options.
//
// The URL supplied here should be the base URL for the Connect or gRPC server (for example,
// http://api.acme.com or https://acme.com/grpc).
func NewOrganizationServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) OrganizationServiceClient {
	baseURL = strings.TrimRight(baseURL, "/")
	organizationServiceMethods := v1.File_svc_organization_v1_service_proto.Services().ByName("OrganizationService").Methods()
	return &organizationServiceClient{
		createEnvironment: connect.NewClient[v1.CreateEnvironmentRequest, v1.CreateEnvironmentResponse](
			httpClient,
			baseURL+OrganizationServiceCreateEnvironmentProcedure,
			connect.WithSchema(organizationServiceMethods.ByName("CreateEnvironment")),
			connect.WithClientOptions(opts...),
		),
		getEnvironment: connect.NewClient[v1.GetEnvironmentRequest, v1.GetEnvironmentResponse](
			httpClient,
			baseURL+OrganizationServiceGetEnvironmentProcedure,
			connect.WithSchema(organizationServiceMethods.ByName("GetEnvironment")),
			connect.WithClientOptions(opts...),
		),
		listEnvironment: connect.NewClient[v1.ListEnvironmentRequest, v1.ListEnvironmentResponse](
			httpClient,
			baseURL+OrganizationServiceListEnvironmentProcedure,
			connect.WithSchema(organizationServiceMethods.ByName("ListEnvironment")),
			connect.WithClientOptions(opts...),
		),
		listUser: connect.NewClient[v1.ListUserRequest, v1.ListUserResponse](
			httpClient,
			baseURL+OrganizationServiceListUserProcedure,
			connect.WithSchema(organizationServiceMethods.ByName("ListUser")),
			connect.WithClientOptions(opts...),
		),
		inviteUser: connect.NewClient[v1.InviteUserRequest, v1.InviteUserResponse](
			httpClient,
			baseURL+OrganizationServiceInviteUserProcedure,
			connect.WithSchema(organizationServiceMethods.ByName("InviteUser")),
			connect.WithClientOptions(opts...),
		),
		revokeUser: connect.NewClient[v1.RevokeUserRequest, v1.RevokeUserResponse](
			httpClient,
			baseURL+OrganizationServiceRevokeUserProcedure,
			connect.WithSchema(organizationServiceMethods.ByName("RevokeUser")),
			connect.WithClientOptions(opts...),
		),
		createAddonSubscription: connect.NewClient[v1.CreateAddonSubscriptionRequest, v1.CreateAddonSubscriptionResponse](
			httpClient,
			baseURL+OrganizationServiceCreateAddonSubscriptionProcedure,
			connect.WithSchema(organizationServiceMethods.ByName("CreateAddonSubscription")),
			connect.WithClientOptions(opts...),
		),
		listAddonSubscription: connect.NewClient[v1.ListAddonSubscriptionRequest, v1.ListAddonSubscriptionResponse](
			httpClient,
			baseURL+OrganizationServiceListAddonSubscriptionProcedure,
			connect.WithSchema(organizationServiceMethods.ByName("ListAddonSubscription")),
			connect.WithClientOptions(opts...),
		),
		removeAddonSubscription: connect.NewClient[v1.RemoveAddonSubscriptionRequest, v1.RemoveAddonSubscriptionResponse](
			httpClient,
			baseURL+OrganizationServiceRemoveAddonSubscriptionProcedure,
			connect.WithSchema(organizationServiceMethods.ByName("RemoveAddonSubscription")),
			connect.WithClientOptions(opts...),
		),
		getStripePublishableKey: connect.NewClient[v1.GetStripePublishableKeyRequest, v1.GetStripePublishableKeyResponse](
			httpClient,
			baseURL+OrganizationServiceGetStripePublishableKeyProcedure,
			connect.WithSchema(organizationServiceMethods.ByName("GetStripePublishableKey")),
			connect.WithClientOptions(opts...),
		),
		getStripeBillingPortal: connect.NewClient[v1.GetStripeBillingPortalRequest, v1.GetStripeBillingPortalResponse](
			httpClient,
			baseURL+OrganizationServiceGetStripeBillingPortalProcedure,
			connect.WithSchema(organizationServiceMethods.ByName("GetStripeBillingPortal")),
			connect.WithClientOptions(opts...),
		),
		createStripeCustomerSession: connect.NewClient[v1.CreateStripeCustomerSessionRequest, v1.CreateStripeCustomerSessionResponse](
			httpClient,
			baseURL+OrganizationServiceCreateStripeCustomerSessionProcedure,
			connect.WithSchema(organizationServiceMethods.ByName("CreateStripeCustomerSession")),
			connect.WithClientOptions(opts...),
		),
		listPaymentMethod: connect.NewClient[v1.ListPaymentMethodRequest, v1.ListPaymentMethodResponse](
			httpClient,
			baseURL+OrganizationServiceListPaymentMethodProcedure,
			connect.WithSchema(organizationServiceMethods.ByName("ListPaymentMethod")),
			connect.WithClientOptions(opts...),
		),
	}
}

// organizationServiceClient implements OrganizationServiceClient.
type organizationServiceClient struct {
	createEnvironment           *connect.Client[v1.CreateEnvironmentRequest, v1.CreateEnvironmentResponse]
	getEnvironment              *connect.Client[v1.GetEnvironmentRequest, v1.GetEnvironmentResponse]
	listEnvironment             *connect.Client[v1.ListEnvironmentRequest, v1.ListEnvironmentResponse]
	listUser                    *connect.Client[v1.ListUserRequest, v1.ListUserResponse]
	inviteUser                  *connect.Client[v1.InviteUserRequest, v1.InviteUserResponse]
	revokeUser                  *connect.Client[v1.RevokeUserRequest, v1.RevokeUserResponse]
	createAddonSubscription     *connect.Client[v1.CreateAddonSubscriptionRequest, v1.CreateAddonSubscriptionResponse]
	listAddonSubscription       *connect.Client[v1.ListAddonSubscriptionRequest, v1.ListAddonSubscriptionResponse]
	removeAddonSubscription     *connect.Client[v1.RemoveAddonSubscriptionRequest, v1.RemoveAddonSubscriptionResponse]
	getStripePublishableKey     *connect.Client[v1.GetStripePublishableKeyRequest, v1.GetStripePublishableKeyResponse]
	getStripeBillingPortal      *connect.Client[v1.GetStripeBillingPortalRequest, v1.GetStripeBillingPortalResponse]
	createStripeCustomerSession *connect.Client[v1.CreateStripeCustomerSessionRequest, v1.CreateStripeCustomerSessionResponse]
	listPaymentMethod           *connect.Client[v1.ListPaymentMethodRequest, v1.ListPaymentMethodResponse]
}

// CreateEnvironment calls svc.organization.v1.OrganizationService.CreateEnvironment.
func (c *organizationServiceClient) CreateEnvironment(ctx context.Context, req *connect.Request[v1.CreateEnvironmentRequest]) (*connect.Response[v1.CreateEnvironmentResponse], error) {
	return c.createEnvironment.CallUnary(ctx, req)
}

// GetEnvironment calls svc.organization.v1.OrganizationService.GetEnvironment.
func (c *organizationServiceClient) GetEnvironment(ctx context.Context, req *connect.Request[v1.GetEnvironmentRequest]) (*connect.Response[v1.GetEnvironmentResponse], error) {
	return c.getEnvironment.CallUnary(ctx, req)
}

// ListEnvironment calls svc.organization.v1.OrganizationService.ListEnvironment.
func (c *organizationServiceClient) ListEnvironment(ctx context.Context, req *connect.Request[v1.ListEnvironmentRequest]) (*connect.Response[v1.ListEnvironmentResponse], error) {
	return c.listEnvironment.CallUnary(ctx, req)
}

// ListUser calls svc.organization.v1.OrganizationService.ListUser.
func (c *organizationServiceClient) ListUser(ctx context.Context, req *connect.Request[v1.ListUserRequest]) (*connect.Response[v1.ListUserResponse], error) {
	return c.listUser.CallUnary(ctx, req)
}

// InviteUser calls svc.organization.v1.OrganizationService.InviteUser.
func (c *organizationServiceClient) InviteUser(ctx context.Context, req *connect.Request[v1.InviteUserRequest]) (*connect.Response[v1.InviteUserResponse], error) {
	return c.inviteUser.CallUnary(ctx, req)
}

// RevokeUser calls svc.organization.v1.OrganizationService.RevokeUser.
func (c *organizationServiceClient) RevokeUser(ctx context.Context, req *connect.Request[v1.RevokeUserRequest]) (*connect.Response[v1.RevokeUserResponse], error) {
	return c.revokeUser.CallUnary(ctx, req)
}

// CreateAddonSubscription calls svc.organization.v1.OrganizationService.CreateAddonSubscription.
func (c *organizationServiceClient) CreateAddonSubscription(ctx context.Context, req *connect.Request[v1.CreateAddonSubscriptionRequest]) (*connect.Response[v1.CreateAddonSubscriptionResponse], error) {
	return c.createAddonSubscription.CallUnary(ctx, req)
}

// ListAddonSubscription calls svc.organization.v1.OrganizationService.ListAddonSubscription.
func (c *organizationServiceClient) ListAddonSubscription(ctx context.Context, req *connect.Request[v1.ListAddonSubscriptionRequest]) (*connect.Response[v1.ListAddonSubscriptionResponse], error) {
	return c.listAddonSubscription.CallUnary(ctx, req)
}

// RemoveAddonSubscription calls svc.organization.v1.OrganizationService.RemoveAddonSubscription.
func (c *organizationServiceClient) RemoveAddonSubscription(ctx context.Context, req *connect.Request[v1.RemoveAddonSubscriptionRequest]) (*connect.Response[v1.RemoveAddonSubscriptionResponse], error) {
	return c.removeAddonSubscription.CallUnary(ctx, req)
}

// GetStripePublishableKey calls svc.organization.v1.OrganizationService.GetStripePublishableKey.
func (c *organizationServiceClient) GetStripePublishableKey(ctx context.Context, req *connect.Request[v1.GetStripePublishableKeyRequest]) (*connect.Response[v1.GetStripePublishableKeyResponse], error) {
	return c.getStripePublishableKey.CallUnary(ctx, req)
}

// GetStripeBillingPortal calls svc.organization.v1.OrganizationService.GetStripeBillingPortal.
func (c *organizationServiceClient) GetStripeBillingPortal(ctx context.Context, req *connect.Request[v1.GetStripeBillingPortalRequest]) (*connect.Response[v1.GetStripeBillingPortalResponse], error) {
	return c.getStripeBillingPortal.CallUnary(ctx, req)
}

// CreateStripeCustomerSession calls
// svc.organization.v1.OrganizationService.CreateStripeCustomerSession.
func (c *organizationServiceClient) CreateStripeCustomerSession(ctx context.Context, req *connect.Request[v1.CreateStripeCustomerSessionRequest]) (*connect.Response[v1.CreateStripeCustomerSessionResponse], error) {
	return c.createStripeCustomerSession.CallUnary(ctx, req)
}

// ListPaymentMethod calls svc.organization.v1.OrganizationService.ListPaymentMethod.
func (c *organizationServiceClient) ListPaymentMethod(ctx context.Context, req *connect.Request[v1.ListPaymentMethodRequest]) (*connect.Response[v1.ListPaymentMethodResponse], error) {
	return c.listPaymentMethod.CallUnary(ctx, req)
}

// OrganizationServiceHandler is an implementation of the svc.organization.v1.OrganizationService
// service.
type OrganizationServiceHandler interface {
	CreateEnvironment(context.Context, *connect.Request[v1.CreateEnvironmentRequest]) (*connect.Response[v1.CreateEnvironmentResponse], error)
	GetEnvironment(context.Context, *connect.Request[v1.GetEnvironmentRequest]) (*connect.Response[v1.GetEnvironmentResponse], error)
	ListEnvironment(context.Context, *connect.Request[v1.ListEnvironmentRequest]) (*connect.Response[v1.ListEnvironmentResponse], error)
	ListUser(context.Context, *connect.Request[v1.ListUserRequest]) (*connect.Response[v1.ListUserResponse], error)
	InviteUser(context.Context, *connect.Request[v1.InviteUserRequest]) (*connect.Response[v1.InviteUserResponse], error)
	RevokeUser(context.Context, *connect.Request[v1.RevokeUserRequest]) (*connect.Response[v1.RevokeUserResponse], error)
	CreateAddonSubscription(context.Context, *connect.Request[v1.CreateAddonSubscriptionRequest]) (*connect.Response[v1.CreateAddonSubscriptionResponse], error)
	ListAddonSubscription(context.Context, *connect.Request[v1.ListAddonSubscriptionRequest]) (*connect.Response[v1.ListAddonSubscriptionResponse], error)
	RemoveAddonSubscription(context.Context, *connect.Request[v1.RemoveAddonSubscriptionRequest]) (*connect.Response[v1.RemoveAddonSubscriptionResponse], error)
	// payment
	GetStripePublishableKey(context.Context, *connect.Request[v1.GetStripePublishableKeyRequest]) (*connect.Response[v1.GetStripePublishableKeyResponse], error)
	GetStripeBillingPortal(context.Context, *connect.Request[v1.GetStripeBillingPortalRequest]) (*connect.Response[v1.GetStripeBillingPortalResponse], error)
	CreateStripeCustomerSession(context.Context, *connect.Request[v1.CreateStripeCustomerSessionRequest]) (*connect.Response[v1.CreateStripeCustomerSessionResponse], error)
	ListPaymentMethod(context.Context, *connect.Request[v1.ListPaymentMethodRequest]) (*connect.Response[v1.ListPaymentMethodResponse], error)
}

// NewOrganizationServiceHandler builds an HTTP handler from the service implementation. It returns
// the path on which to mount the handler and the handler itself.
//
// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf
// and JSON codecs. They also support gzip compression.
func NewOrganizationServiceHandler(svc OrganizationServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) {
	organizationServiceMethods := v1.File_svc_organization_v1_service_proto.Services().ByName("OrganizationService").Methods()
	organizationServiceCreateEnvironmentHandler := connect.NewUnaryHandler(
		OrganizationServiceCreateEnvironmentProcedure,
		svc.CreateEnvironment,
		connect.WithSchema(organizationServiceMethods.ByName("CreateEnvironment")),
		connect.WithHandlerOptions(opts...),
	)
	organizationServiceGetEnvironmentHandler := connect.NewUnaryHandler(
		OrganizationServiceGetEnvironmentProcedure,
		svc.GetEnvironment,
		connect.WithSchema(organizationServiceMethods.ByName("GetEnvironment")),
		connect.WithHandlerOptions(opts...),
	)
	organizationServiceListEnvironmentHandler := connect.NewUnaryHandler(
		OrganizationServiceListEnvironmentProcedure,
		svc.ListEnvironment,
		connect.WithSchema(organizationServiceMethods.ByName("ListEnvironment")),
		connect.WithHandlerOptions(opts...),
	)
	organizationServiceListUserHandler := connect.NewUnaryHandler(
		OrganizationServiceListUserProcedure,
		svc.ListUser,
		connect.WithSchema(organizationServiceMethods.ByName("ListUser")),
		connect.WithHandlerOptions(opts...),
	)
	organizationServiceInviteUserHandler := connect.NewUnaryHandler(
		OrganizationServiceInviteUserProcedure,
		svc.InviteUser,
		connect.WithSchema(organizationServiceMethods.ByName("InviteUser")),
		connect.WithHandlerOptions(opts...),
	)
	organizationServiceRevokeUserHandler := connect.NewUnaryHandler(
		OrganizationServiceRevokeUserProcedure,
		svc.RevokeUser,
		connect.WithSchema(organizationServiceMethods.ByName("RevokeUser")),
		connect.WithHandlerOptions(opts...),
	)
	organizationServiceCreateAddonSubscriptionHandler := connect.NewUnaryHandler(
		OrganizationServiceCreateAddonSubscriptionProcedure,
		svc.CreateAddonSubscription,
		connect.WithSchema(organizationServiceMethods.ByName("CreateAddonSubscription")),
		connect.WithHandlerOptions(opts...),
	)
	organizationServiceListAddonSubscriptionHandler := connect.NewUnaryHandler(
		OrganizationServiceListAddonSubscriptionProcedure,
		svc.ListAddonSubscription,
		connect.WithSchema(organizationServiceMethods.ByName("ListAddonSubscription")),
		connect.WithHandlerOptions(opts...),
	)
	organizationServiceRemoveAddonSubscriptionHandler := connect.NewUnaryHandler(
		OrganizationServiceRemoveAddonSubscriptionProcedure,
		svc.RemoveAddonSubscription,
		connect.WithSchema(organizationServiceMethods.ByName("RemoveAddonSubscription")),
		connect.WithHandlerOptions(opts...),
	)
	organizationServiceGetStripePublishableKeyHandler := connect.NewUnaryHandler(
		OrganizationServiceGetStripePublishableKeyProcedure,
		svc.GetStripePublishableKey,
		connect.WithSchema(organizationServiceMethods.ByName("GetStripePublishableKey")),
		connect.WithHandlerOptions(opts...),
	)
	organizationServiceGetStripeBillingPortalHandler := connect.NewUnaryHandler(
		OrganizationServiceGetStripeBillingPortalProcedure,
		svc.GetStripeBillingPortal,
		connect.WithSchema(organizationServiceMethods.ByName("GetStripeBillingPortal")),
		connect.WithHandlerOptions(opts...),
	)
	organizationServiceCreateStripeCustomerSessionHandler := connect.NewUnaryHandler(
		OrganizationServiceCreateStripeCustomerSessionProcedure,
		svc.CreateStripeCustomerSession,
		connect.WithSchema(organizationServiceMethods.ByName("CreateStripeCustomerSession")),
		connect.WithHandlerOptions(opts...),
	)
	organizationServiceListPaymentMethodHandler := connect.NewUnaryHandler(
		OrganizationServiceListPaymentMethodProcedure,
		svc.ListPaymentMethod,
		connect.WithSchema(organizationServiceMethods.ByName("ListPaymentMethod")),
		connect.WithHandlerOptions(opts...),
	)
	return "/svc.organization.v1.OrganizationService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		switch r.URL.Path {
		case OrganizationServiceCreateEnvironmentProcedure:
			organizationServiceCreateEnvironmentHandler.ServeHTTP(w, r)
		case OrganizationServiceGetEnvironmentProcedure:
			organizationServiceGetEnvironmentHandler.ServeHTTP(w, r)
		case OrganizationServiceListEnvironmentProcedure:
			organizationServiceListEnvironmentHandler.ServeHTTP(w, r)
		case OrganizationServiceListUserProcedure:
			organizationServiceListUserHandler.ServeHTTP(w, r)
		case OrganizationServiceInviteUserProcedure:
			organizationServiceInviteUserHandler.ServeHTTP(w, r)
		case OrganizationServiceRevokeUserProcedure:
			organizationServiceRevokeUserHandler.ServeHTTP(w, r)
		case OrganizationServiceCreateAddonSubscriptionProcedure:
			organizationServiceCreateAddonSubscriptionHandler.ServeHTTP(w, r)
		case OrganizationServiceListAddonSubscriptionProcedure:
			organizationServiceListAddonSubscriptionHandler.ServeHTTP(w, r)
		case OrganizationServiceRemoveAddonSubscriptionProcedure:
			organizationServiceRemoveAddonSubscriptionHandler.ServeHTTP(w, r)
		case OrganizationServiceGetStripePublishableKeyProcedure:
			organizationServiceGetStripePublishableKeyHandler.ServeHTTP(w, r)
		case OrganizationServiceGetStripeBillingPortalProcedure:
			organizationServiceGetStripeBillingPortalHandler.ServeHTTP(w, r)
		case OrganizationServiceCreateStripeCustomerSessionProcedure:
			organizationServiceCreateStripeCustomerSessionHandler.ServeHTTP(w, r)
		case OrganizationServiceListPaymentMethodProcedure:
			organizationServiceListPaymentMethodHandler.ServeHTTP(w, r)
		default:
			http.NotFound(w, r)
		}
	})
}

// UnimplementedOrganizationServiceHandler returns CodeUnimplemented from all methods.
type UnimplementedOrganizationServiceHandler struct{}

func (UnimplementedOrganizationServiceHandler) CreateEnvironment(context.Context, *connect.Request[v1.CreateEnvironmentRequest]) (*connect.Response[v1.CreateEnvironmentResponse], error) {
	return nil, connect.NewError(connect.CodeUnimplemented, errors.New("svc.organization.v1.OrganizationService.CreateEnvironment is not implemented"))
}

func (UnimplementedOrganizationServiceHandler) GetEnvironment(context.Context, *connect.Request[v1.GetEnvironmentRequest]) (*connect.Response[v1.GetEnvironmentResponse], error) {
	return nil, connect.NewError(connect.CodeUnimplemented, errors.New("svc.organization.v1.OrganizationService.GetEnvironment is not implemented"))
}

func (UnimplementedOrganizationServiceHandler) ListEnvironment(context.Context, *connect.Request[v1.ListEnvironmentRequest]) (*connect.Response[v1.ListEnvironmentResponse], error) {
	return nil, connect.NewError(connect.CodeUnimplemented, errors.New("svc.organization.v1.OrganizationService.ListEnvironment is not implemented"))
}

func (UnimplementedOrganizationServiceHandler) ListUser(context.Context, *connect.Request[v1.ListUserRequest]) (*connect.Response[v1.ListUserResponse], error) {
	return nil, connect.NewError(connect.CodeUnimplemented, errors.New("svc.organization.v1.OrganizationService.ListUser is not implemented"))
}

func (UnimplementedOrganizationServiceHandler) InviteUser(context.Context, *connect.Request[v1.InviteUserRequest]) (*connect.Response[v1.InviteUserResponse], error) {
	return nil, connect.NewError(connect.CodeUnimplemented, errors.New("svc.organization.v1.OrganizationService.InviteUser is not implemented"))
}

func (UnimplementedOrganizationServiceHandler) RevokeUser(context.Context, *connect.Request[v1.RevokeUserRequest]) (*connect.Response[v1.RevokeUserResponse], error) {
	return nil, connect.NewError(connect.CodeUnimplemented, errors.New("svc.organization.v1.OrganizationService.RevokeUser is not implemented"))
}

func (UnimplementedOrganizationServiceHandler) CreateAddonSubscription(context.Context, *connect.Request[v1.CreateAddonSubscriptionRequest]) (*connect.Response[v1.CreateAddonSubscriptionResponse], error) {
	return nil, connect.NewError(connect.CodeUnimplemented, errors.New("svc.organization.v1.OrganizationService.CreateAddonSubscription is not implemented"))
}

func (UnimplementedOrganizationServiceHandler) ListAddonSubscription(context.Context, *connect.Request[v1.ListAddonSubscriptionRequest]) (*connect.Response[v1.ListAddonSubscriptionResponse], error) {
	return nil, connect.NewError(connect.CodeUnimplemented, errors.New("svc.organization.v1.OrganizationService.ListAddonSubscription is not implemented"))
}

func (UnimplementedOrganizationServiceHandler) RemoveAddonSubscription(context.Context, *connect.Request[v1.RemoveAddonSubscriptionRequest]) (*connect.Response[v1.RemoveAddonSubscriptionResponse], error) {
	return nil, connect.NewError(connect.CodeUnimplemented, errors.New("svc.organization.v1.OrganizationService.RemoveAddonSubscription is not implemented"))
}

func (UnimplementedOrganizationServiceHandler) GetStripePublishableKey(context.Context, *connect.Request[v1.GetStripePublishableKeyRequest]) (*connect.Response[v1.GetStripePublishableKeyResponse], error) {
	return nil, connect.NewError(connect.CodeUnimplemented, errors.New("svc.organization.v1.OrganizationService.GetStripePublishableKey is not implemented"))
}

func (UnimplementedOrganizationServiceHandler) GetStripeBillingPortal(context.Context, *connect.Request[v1.GetStripeBillingPortalRequest]) (*connect.Response[v1.GetStripeBillingPortalResponse], error) {
	return nil, connect.NewError(connect.CodeUnimplemented, errors.New("svc.organization.v1.OrganizationService.GetStripeBillingPortal is not implemented"))
}

func (UnimplementedOrganizationServiceHandler) CreateStripeCustomerSession(context.Context, *connect.Request[v1.CreateStripeCustomerSessionRequest]) (*connect.Response[v1.CreateStripeCustomerSessionResponse], error) {
	return nil, connect.NewError(connect.CodeUnimplemented, errors.New("svc.organization.v1.OrganizationService.CreateStripeCustomerSession is not implemented"))
}

func (UnimplementedOrganizationServiceHandler) ListPaymentMethod(context.Context, *connect.Request[v1.ListPaymentMethodRequest]) (*connect.Response[v1.ListPaymentMethodResponse], error) {
	return nil, connect.NewError(connect.CodeUnimplemented, errors.New("svc.organization.v1.OrganizationService.ListPaymentMethod is not implemented"))
}
