// 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/id_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)
)

// Generate an Id and its corresponding ResolverMetadata for the specified Issuer
// For external IdPs, the Issuer should be provided with a Proof of ownership
// of the Issuer's provided id
type GenerateRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The Issuer details
	Issuer *v1alpha1.Issuer `protobuf:"bytes,1,opt,name=issuer,proto3" json:"issuer,omitempty"`
	// Optional Proof of ownership of the Issuer's provided id
	// 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 *GenerateRequest) Reset() {
	*x = GenerateRequest{}
	mi := &file_agntcy_identity_node_v1alpha1_id_service_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GenerateRequest) ProtoMessage() {}

func (x *GenerateRequest) ProtoReflect() protoreflect.Message {
	mi := &file_agntcy_identity_node_v1alpha1_id_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 GenerateRequest.ProtoReflect.Descriptor instead.
func (*GenerateRequest) Descriptor() ([]byte, []int) {
	return file_agntcy_identity_node_v1alpha1_id_service_proto_rawDescGZIP(), []int{0}
}

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

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

// Returns the Generated Id and its corresponding ResolverMetadata
type GenerateResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The ResolverMetadata corresponding to the generated Id
	ResolverMetadata *v1alpha1.ResolverMetadata `protobuf:"bytes,1,opt,name=resolver_metadata,json=resolverMetadata,proto3" json:"resolver_metadata,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

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

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

func (*GenerateResponse) ProtoMessage() {}

func (x *GenerateResponse) ProtoReflect() protoreflect.Message {
	mi := &file_agntcy_identity_node_v1alpha1_id_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 GenerateResponse.ProtoReflect.Descriptor instead.
func (*GenerateResponse) Descriptor() ([]byte, []int) {
	return file_agntcy_identity_node_v1alpha1_id_service_proto_rawDescGZIP(), []int{1}
}

func (x *GenerateResponse) GetResolverMetadata() *v1alpha1.ResolverMetadata {
	if x != nil {
		return x.ResolverMetadata
	}
	return nil
}

// Resolve a specified Id to its corresponding ResolverMetadata
type ResolveRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Id is the identifier.
	Id            string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ResolveRequest) ProtoMessage() {}

func (x *ResolveRequest) ProtoReflect() protoreflect.Message {
	mi := &file_agntcy_identity_node_v1alpha1_id_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 ResolveRequest.ProtoReflect.Descriptor instead.
func (*ResolveRequest) Descriptor() ([]byte, []int) {
	return file_agntcy_identity_node_v1alpha1_id_service_proto_rawDescGZIP(), []int{2}
}

func (x *ResolveRequest) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

// Returns the ResolverMetadata corresponding to the specified Id
type ResolveResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The ResolverMetadata resolved from the Id
	ResolverMetadata *v1alpha1.ResolverMetadata `protobuf:"bytes,1,opt,name=resolver_metadata,json=resolverMetadata,proto3" json:"resolver_metadata,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

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

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

func (*ResolveResponse) ProtoMessage() {}

func (x *ResolveResponse) ProtoReflect() protoreflect.Message {
	mi := &file_agntcy_identity_node_v1alpha1_id_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 ResolveResponse.ProtoReflect.Descriptor instead.
func (*ResolveResponse) Descriptor() ([]byte, []int) {
	return file_agntcy_identity_node_v1alpha1_id_service_proto_rawDescGZIP(), []int{3}
}

func (x *ResolveResponse) GetResolverMetadata() *v1alpha1.ResolverMetadata {
	if x != nil {
		return x.ResolverMetadata
	}
	return nil
}

var File_agntcy_identity_node_v1alpha1_id_service_proto protoreflect.FileDescriptor

const file_agntcy_identity_node_v1alpha1_id_service_proto_rawDesc = "" +
	"\n" +
	".agntcy/identity/node/v1alpha1/id_service.proto\x12\x1dagntcy.identity.node.v1alpha1\x1a&agntcy/identity/core/v1alpha1/id.proto\x1a*agntcy/identity/core/v1alpha1/issuer.proto\x1a&agntcy/identity/core/v1alpha1/vc.proto\x1a\x1cgoogle/api/annotations.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\"\x9b\x01\n" +
	"\x0fGenerateRequest\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\"p\n" +
	"\x10GenerateResponse\x12\\\n" +
	"\x11resolver_metadata\x18\x01 \x01(\v2/.agntcy.identity.core.v1alpha1.ResolverMetadataR\x10resolverMetadata\" \n" +
	"\x0eResolveRequest\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\"o\n" +
	"\x0fResolveResponse\x12\\\n" +
	"\x11resolver_metadata\x18\x01 \x01(\v2/.agntcy.identity.core.v1alpha1.ResolverMetadataR\x10resolverMetadata2\xd7\x03\n" +
	"\tIdService\x12\xea\x01\n" +
	"\bGenerate\x12..agntcy.identity.node.v1alpha1.GenerateRequest\x1a/.agntcy.identity.node.v1alpha1.GenerateResponse\"}\x92AZ\x12LGenerate an Id and its corresponding ResolverMetadata for a specified Issuer*\n" +
	"GenerateId\x82\xd3\xe4\x93\x02\x1a:\x01*\"\x15/v1alpha1/id/generate\x12\xcc\x01\n" +
	"\aResolve\x12-.agntcy.identity.node.v1alpha1.ResolveRequest\x1a..agntcy.identity.node.v1alpha1.ResolveResponse\"b\x92A@\x123Resolve an Id to its corresponding ResolverMetadata*\tResolveId\x82\xd3\xe4\x93\x02\x19:\x01*\"\x14/v1alpha1/id/resolve\x1a\x0e\x92A\v\n" +
	"\tIdServiceBZZXgithub.com/agntcy/identity/api/server/agntcy/identity/node/v1alpha1;identity_node_sdk_gob\x06proto3"

var (
	file_agntcy_identity_node_v1alpha1_id_service_proto_rawDescOnce sync.Once
	file_agntcy_identity_node_v1alpha1_id_service_proto_rawDescData []byte
)

func file_agntcy_identity_node_v1alpha1_id_service_proto_rawDescGZIP() []byte {
	file_agntcy_identity_node_v1alpha1_id_service_proto_rawDescOnce.Do(func() {
		file_agntcy_identity_node_v1alpha1_id_service_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_agntcy_identity_node_v1alpha1_id_service_proto_rawDesc), len(file_agntcy_identity_node_v1alpha1_id_service_proto_rawDesc)))
	})
	return file_agntcy_identity_node_v1alpha1_id_service_proto_rawDescData
}

var file_agntcy_identity_node_v1alpha1_id_service_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
var file_agntcy_identity_node_v1alpha1_id_service_proto_goTypes = []any{
	(*GenerateRequest)(nil),           // 0: agntcy.identity.node.v1alpha1.GenerateRequest
	(*GenerateResponse)(nil),          // 1: agntcy.identity.node.v1alpha1.GenerateResponse
	(*ResolveRequest)(nil),            // 2: agntcy.identity.node.v1alpha1.ResolveRequest
	(*ResolveResponse)(nil),           // 3: agntcy.identity.node.v1alpha1.ResolveResponse
	(*v1alpha1.Issuer)(nil),           // 4: agntcy.identity.core.v1alpha1.Issuer
	(*v1alpha1.Proof)(nil),            // 5: agntcy.identity.core.v1alpha1.Proof
	(*v1alpha1.ResolverMetadata)(nil), // 6: agntcy.identity.core.v1alpha1.ResolverMetadata
}
var file_agntcy_identity_node_v1alpha1_id_service_proto_depIdxs = []int32{
	4, // 0: agntcy.identity.node.v1alpha1.GenerateRequest.issuer:type_name -> agntcy.identity.core.v1alpha1.Issuer
	5, // 1: agntcy.identity.node.v1alpha1.GenerateRequest.proof:type_name -> agntcy.identity.core.v1alpha1.Proof
	6, // 2: agntcy.identity.node.v1alpha1.GenerateResponse.resolver_metadata:type_name -> agntcy.identity.core.v1alpha1.ResolverMetadata
	6, // 3: agntcy.identity.node.v1alpha1.ResolveResponse.resolver_metadata:type_name -> agntcy.identity.core.v1alpha1.ResolverMetadata
	0, // 4: agntcy.identity.node.v1alpha1.IdService.Generate:input_type -> agntcy.identity.node.v1alpha1.GenerateRequest
	2, // 5: agntcy.identity.node.v1alpha1.IdService.Resolve:input_type -> agntcy.identity.node.v1alpha1.ResolveRequest
	1, // 6: agntcy.identity.node.v1alpha1.IdService.Generate:output_type -> agntcy.identity.node.v1alpha1.GenerateResponse
	3, // 7: agntcy.identity.node.v1alpha1.IdService.Resolve:output_type -> agntcy.identity.node.v1alpha1.ResolveResponse
	6, // [6:8] is the sub-list for method output_type
	4, // [4:6] is the sub-list for method input_type
	4, // [4:4] is the sub-list for extension type_name
	4, // [4:4] is the sub-list for extension extendee
	0, // [0:4] is the sub-list for field type_name
}

func init() { file_agntcy_identity_node_v1alpha1_id_service_proto_init() }
func file_agntcy_identity_node_v1alpha1_id_service_proto_init() {
	if File_agntcy_identity_node_v1alpha1_id_service_proto != nil {
		return
	}
	file_agntcy_identity_node_v1alpha1_id_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_id_service_proto_rawDesc), len(file_agntcy_identity_node_v1alpha1_id_service_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   4,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_agntcy_identity_node_v1alpha1_id_service_proto_goTypes,
		DependencyIndexes: file_agntcy_identity_node_v1alpha1_id_service_proto_depIdxs,
		MessageInfos:      file_agntcy_identity_node_v1alpha1_id_service_proto_msgTypes,
	}.Build()
	File_agntcy_identity_node_v1alpha1_id_service_proto = out.File
	file_agntcy_identity_node_v1alpha1_id_service_proto_goTypes = nil
	file_agntcy_identity_node_v1alpha1_id_service_proto_depIdxs = nil
}
