// Copyright 2025 AGNTCY Contributors (https://github.com/agntcy)
// SPDX-License-Identifier: Apache-2.0

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.6
// 	protoc        (unknown)
// source: agntcy/identity/node/v1alpha1/issuer_service.proto

package identity_node_sdk_go

import (
	v1alpha1 "github.com/agntcy/identity/api/server/agntcy/identity/core/v1alpha1"
	_ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options"
	_ "google.golang.org/genproto/googleapis/api/annotations"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

// Request to register an issuer
type RegisterIssuerRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The Issuer to register.
	Issuer *v1alpha1.Issuer `protobuf:"bytes,1,opt,name=issuer,proto3" json:"issuer,omitempty"`
	// Optional Proof of ownership of the Issuer's common_name
	// This should be provided when the Issuer is provided by an external IdP
	// Example: a signed JWT
	Proof         *v1alpha1.Proof `protobuf:"bytes,2,opt,name=proof,proto3,oneof" json:"proof,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RegisterIssuerRequest) Reset() {
	*x = RegisterIssuerRequest{}
	mi := &file_agntcy_identity_node_v1alpha1_issuer_service_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RegisterIssuerRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RegisterIssuerRequest) ProtoMessage() {}

func (x *RegisterIssuerRequest) ProtoReflect() protoreflect.Message {
	mi := &file_agntcy_identity_node_v1alpha1_issuer_service_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RegisterIssuerRequest.ProtoReflect.Descriptor instead.
func (*RegisterIssuerRequest) Descriptor() ([]byte, []int) {
	return file_agntcy_identity_node_v1alpha1_issuer_service_proto_rawDescGZIP(), []int{0}
}

func (x *RegisterIssuerRequest) GetIssuer() *v1alpha1.Issuer {
	if x != nil {
		return x.Issuer
	}
	return nil
}

func (x *RegisterIssuerRequest) GetProof() *v1alpha1.Proof {
	if x != nil {
		return x.Proof
	}
	return nil
}

// Returns a registration response for the issuer
type RegisterIssuerResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RegisterIssuerResponse) Reset() {
	*x = RegisterIssuerResponse{}
	mi := &file_agntcy_identity_node_v1alpha1_issuer_service_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RegisterIssuerResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RegisterIssuerResponse) ProtoMessage() {}

func (x *RegisterIssuerResponse) ProtoReflect() protoreflect.Message {
	mi := &file_agntcy_identity_node_v1alpha1_issuer_service_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RegisterIssuerResponse.ProtoReflect.Descriptor instead.
func (*RegisterIssuerResponse) Descriptor() ([]byte, []int) {
	return file_agntcy_identity_node_v1alpha1_issuer_service_proto_rawDescGZIP(), []int{1}
}

// Request to get the well-known JWKS document of an issuer
type GetIssuerWellKnownRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The common name of the issuer
	CommonName    string `protobuf:"bytes,1,opt,name=common_name,json=commonName,proto3" json:"common_name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetIssuerWellKnownRequest) Reset() {
	*x = GetIssuerWellKnownRequest{}
	mi := &file_agntcy_identity_node_v1alpha1_issuer_service_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetIssuerWellKnownRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetIssuerWellKnownRequest) ProtoMessage() {}

func (x *GetIssuerWellKnownRequest) ProtoReflect() protoreflect.Message {
	mi := &file_agntcy_identity_node_v1alpha1_issuer_service_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetIssuerWellKnownRequest.ProtoReflect.Descriptor instead.
func (*GetIssuerWellKnownRequest) Descriptor() ([]byte, []int) {
	return file_agntcy_identity_node_v1alpha1_issuer_service_proto_rawDescGZIP(), []int{2}
}

func (x *GetIssuerWellKnownRequest) GetCommonName() string {
	if x != nil {
		return x.CommonName
	}
	return ""
}

// Returns the content of the well-known JWKS document
type GetIssuerWellKnownResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The well-known Json Web Key Set (JWKS) document
	Jwks          *v1alpha1.Jwks `protobuf:"bytes,1,opt,name=jwks,proto3" json:"jwks,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetIssuerWellKnownResponse) Reset() {
	*x = GetIssuerWellKnownResponse{}
	mi := &file_agntcy_identity_node_v1alpha1_issuer_service_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetIssuerWellKnownResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetIssuerWellKnownResponse) ProtoMessage() {}

func (x *GetIssuerWellKnownResponse) ProtoReflect() protoreflect.Message {
	mi := &file_agntcy_identity_node_v1alpha1_issuer_service_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetIssuerWellKnownResponse.ProtoReflect.Descriptor instead.
func (*GetIssuerWellKnownResponse) Descriptor() ([]byte, []int) {
	return file_agntcy_identity_node_v1alpha1_issuer_service_proto_rawDescGZIP(), []int{3}
}

func (x *GetIssuerWellKnownResponse) GetJwks() *v1alpha1.Jwks {
	if x != nil {
		return x.Jwks
	}
	return nil
}

var File_agntcy_identity_node_v1alpha1_issuer_service_proto protoreflect.FileDescriptor

const file_agntcy_identity_node_v1alpha1_issuer_service_proto_rawDesc = "" +
	"\n" +
	"2agntcy/identity/node/v1alpha1/issuer_service.proto\x12\x1dagntcy.identity.node.v1alpha1\x1a*agntcy/identity/core/v1alpha1/issuer.proto\x1a'agntcy/identity/core/v1alpha1/jwk.proto\x1a&agntcy/identity/core/v1alpha1/vc.proto\x1a\x1cgoogle/api/annotations.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\"\xa1\x01\n" +
	"\x15RegisterIssuerRequest\x12=\n" +
	"\x06issuer\x18\x01 \x01(\v2%.agntcy.identity.core.v1alpha1.IssuerR\x06issuer\x12?\n" +
	"\x05proof\x18\x02 \x01(\v2$.agntcy.identity.core.v1alpha1.ProofH\x00R\x05proof\x88\x01\x01B\b\n" +
	"\x06_proof\"\x18\n" +
	"\x16RegisterIssuerResponse\"<\n" +
	"\x19GetIssuerWellKnownRequest\x12\x1f\n" +
	"\vcommon_name\x18\x01 \x01(\tR\n" +
	"commonName\"U\n" +
	"\x1aGetIssuerWellKnownResponse\x127\n" +
	"\x04jwks\x18\x01 \x01(\v2#.agntcy.identity.core.v1alpha1.JwksR\x04jwks2\xb7\x04\n" +
	"\rIssuerService\x12\xe4\x01\n" +
	"\bRegister\x124.agntcy.identity.node.v1alpha1.RegisterIssuerRequest\x1a5.agntcy.identity.node.v1alpha1.RegisterIssuerResponse\"k\x92AD\x122Register an issuer by providing the issuer details*\x0eRegisterIssuer\x82\xd3\xe4\x93\x02\x1e:\x01*\"\x19/v1alpha1/issuer/register\x12\xaa\x02\n" +
	"\fGetWellKnown\x128.agntcy.identity.node.v1alpha1.GetIssuerWellKnownRequest\x1a9.agntcy.identity.node.v1alpha1.GetIssuerWellKnownResponse\"\xa4\x01\x92Ae\x12OReturns the well-known document for an issuer in Json Web Key Set (JWKS) format*\x12GetIssuerWellKnown\x82\xd3\xe4\x93\x026\x124/v1alpha1/issuer/{common_name}/.well-known/jwks.json\x1a\x12\x92A\x0f\n" +
	"\rIssuerServiceBZZXgithub.com/agntcy/identity/api/server/agntcy/identity/node/v1alpha1;identity_node_sdk_gob\x06proto3"

var (
	file_agntcy_identity_node_v1alpha1_issuer_service_proto_rawDescOnce sync.Once
	file_agntcy_identity_node_v1alpha1_issuer_service_proto_rawDescData []byte
)

func file_agntcy_identity_node_v1alpha1_issuer_service_proto_rawDescGZIP() []byte {
	file_agntcy_identity_node_v1alpha1_issuer_service_proto_rawDescOnce.Do(func() {
		file_agntcy_identity_node_v1alpha1_issuer_service_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_agntcy_identity_node_v1alpha1_issuer_service_proto_rawDesc), len(file_agntcy_identity_node_v1alpha1_issuer_service_proto_rawDesc)))
	})
	return file_agntcy_identity_node_v1alpha1_issuer_service_proto_rawDescData
}

var file_agntcy_identity_node_v1alpha1_issuer_service_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
var file_agntcy_identity_node_v1alpha1_issuer_service_proto_goTypes = []any{
	(*RegisterIssuerRequest)(nil),      // 0: agntcy.identity.node.v1alpha1.RegisterIssuerRequest
	(*RegisterIssuerResponse)(nil),     // 1: agntcy.identity.node.v1alpha1.RegisterIssuerResponse
	(*GetIssuerWellKnownRequest)(nil),  // 2: agntcy.identity.node.v1alpha1.GetIssuerWellKnownRequest
	(*GetIssuerWellKnownResponse)(nil), // 3: agntcy.identity.node.v1alpha1.GetIssuerWellKnownResponse
	(*v1alpha1.Issuer)(nil),            // 4: agntcy.identity.core.v1alpha1.Issuer
	(*v1alpha1.Proof)(nil),             // 5: agntcy.identity.core.v1alpha1.Proof
	(*v1alpha1.Jwks)(nil),              // 6: agntcy.identity.core.v1alpha1.Jwks
}
var file_agntcy_identity_node_v1alpha1_issuer_service_proto_depIdxs = []int32{
	4, // 0: agntcy.identity.node.v1alpha1.RegisterIssuerRequest.issuer:type_name -> agntcy.identity.core.v1alpha1.Issuer
	5, // 1: agntcy.identity.node.v1alpha1.RegisterIssuerRequest.proof:type_name -> agntcy.identity.core.v1alpha1.Proof
	6, // 2: agntcy.identity.node.v1alpha1.GetIssuerWellKnownResponse.jwks:type_name -> agntcy.identity.core.v1alpha1.Jwks
	0, // 3: agntcy.identity.node.v1alpha1.IssuerService.Register:input_type -> agntcy.identity.node.v1alpha1.RegisterIssuerRequest
	2, // 4: agntcy.identity.node.v1alpha1.IssuerService.GetWellKnown:input_type -> agntcy.identity.node.v1alpha1.GetIssuerWellKnownRequest
	1, // 5: agntcy.identity.node.v1alpha1.IssuerService.Register:output_type -> agntcy.identity.node.v1alpha1.RegisterIssuerResponse
	3, // 6: agntcy.identity.node.v1alpha1.IssuerService.GetWellKnown:output_type -> agntcy.identity.node.v1alpha1.GetIssuerWellKnownResponse
	5, // [5:7] is the sub-list for method output_type
	3, // [3:5] is the sub-list for method input_type
	3, // [3:3] is the sub-list for extension type_name
	3, // [3:3] is the sub-list for extension extendee
	0, // [0:3] is the sub-list for field type_name
}

func init() { file_agntcy_identity_node_v1alpha1_issuer_service_proto_init() }
func file_agntcy_identity_node_v1alpha1_issuer_service_proto_init() {
	if File_agntcy_identity_node_v1alpha1_issuer_service_proto != nil {
		return
	}
	file_agntcy_identity_node_v1alpha1_issuer_service_proto_msgTypes[0].OneofWrappers = []any{}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_agntcy_identity_node_v1alpha1_issuer_service_proto_rawDesc), len(file_agntcy_identity_node_v1alpha1_issuer_service_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   4,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_agntcy_identity_node_v1alpha1_issuer_service_proto_goTypes,
		DependencyIndexes: file_agntcy_identity_node_v1alpha1_issuer_service_proto_depIdxs,
		MessageInfos:      file_agntcy_identity_node_v1alpha1_issuer_service_proto_msgTypes,
	}.Build()
	File_agntcy_identity_node_v1alpha1_issuer_service_proto = out.File
	file_agntcy_identity_node_v1alpha1_issuer_service_proto_goTypes = nil
	file_agntcy_identity_node_v1alpha1_issuer_service_proto_depIdxs = nil
}
