Implement MCNS v1: custom Go DNS server replacing CoreDNS

Replace the CoreDNS precursor with a purpose-built authoritative DNS
server. Zones and records (A, AAAA, CNAME) are stored in SQLite and
managed via synchronized gRPC + REST APIs authenticated through MCIAS.
Non-authoritative queries are forwarded to upstream resolvers with
in-memory caching.

Key components:
- DNS server (miekg/dns) with authoritative zone handling and forwarding
- gRPC + REST management APIs with MCIAS auth (mcdsl integration)
- SQLite storage with CNAME exclusivity enforcement and auto SOA serials
- 30 tests covering database CRUD, DNS resolution, and caching

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-26 18:37:14 -07:00
parent a545fec658
commit f9635578e0
48 changed files with 6015 additions and 87 deletions

164
gen/mcns/v1/admin.pb.go Normal file
View File

@@ -0,0 +1,164 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.11
// protoc v6.32.1
// source: proto/mcns/v1/admin.proto
package v1
import (
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)
)
type HealthRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *HealthRequest) Reset() {
*x = HealthRequest{}
mi := &file_proto_mcns_v1_admin_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *HealthRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*HealthRequest) ProtoMessage() {}
func (x *HealthRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_mcns_v1_admin_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 HealthRequest.ProtoReflect.Descriptor instead.
func (*HealthRequest) Descriptor() ([]byte, []int) {
return file_proto_mcns_v1_admin_proto_rawDescGZIP(), []int{0}
}
type HealthResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *HealthResponse) Reset() {
*x = HealthResponse{}
mi := &file_proto_mcns_v1_admin_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *HealthResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*HealthResponse) ProtoMessage() {}
func (x *HealthResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_mcns_v1_admin_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 HealthResponse.ProtoReflect.Descriptor instead.
func (*HealthResponse) Descriptor() ([]byte, []int) {
return file_proto_mcns_v1_admin_proto_rawDescGZIP(), []int{1}
}
func (x *HealthResponse) GetStatus() string {
if x != nil {
return x.Status
}
return ""
}
var File_proto_mcns_v1_admin_proto protoreflect.FileDescriptor
const file_proto_mcns_v1_admin_proto_rawDesc = "" +
"\n" +
"\x19proto/mcns/v1/admin.proto\x12\amcns.v1\"\x0f\n" +
"\rHealthRequest\"(\n" +
"\x0eHealthResponse\x12\x16\n" +
"\x06status\x18\x01 \x01(\tR\x06status2I\n" +
"\fAdminService\x129\n" +
"\x06Health\x12\x16.mcns.v1.HealthRequest\x1a\x17.mcns.v1.HealthResponseB(Z&git.wntrmute.dev/kyle/mcns/gen/mcns/v1b\x06proto3"
var (
file_proto_mcns_v1_admin_proto_rawDescOnce sync.Once
file_proto_mcns_v1_admin_proto_rawDescData []byte
)
func file_proto_mcns_v1_admin_proto_rawDescGZIP() []byte {
file_proto_mcns_v1_admin_proto_rawDescOnce.Do(func() {
file_proto_mcns_v1_admin_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_proto_mcns_v1_admin_proto_rawDesc), len(file_proto_mcns_v1_admin_proto_rawDesc)))
})
return file_proto_mcns_v1_admin_proto_rawDescData
}
var file_proto_mcns_v1_admin_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
var file_proto_mcns_v1_admin_proto_goTypes = []any{
(*HealthRequest)(nil), // 0: mcns.v1.HealthRequest
(*HealthResponse)(nil), // 1: mcns.v1.HealthResponse
}
var file_proto_mcns_v1_admin_proto_depIdxs = []int32{
0, // 0: mcns.v1.AdminService.Health:input_type -> mcns.v1.HealthRequest
1, // 1: mcns.v1.AdminService.Health:output_type -> mcns.v1.HealthResponse
1, // [1:2] is the sub-list for method output_type
0, // [0:1] is the sub-list for method input_type
0, // [0:0] is the sub-list for extension type_name
0, // [0:0] is the sub-list for extension extendee
0, // [0:0] is the sub-list for field type_name
}
func init() { file_proto_mcns_v1_admin_proto_init() }
func file_proto_mcns_v1_admin_proto_init() {
if File_proto_mcns_v1_admin_proto != nil {
return
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_proto_mcns_v1_admin_proto_rawDesc), len(file_proto_mcns_v1_admin_proto_rawDesc)),
NumEnums: 0,
NumMessages: 2,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_proto_mcns_v1_admin_proto_goTypes,
DependencyIndexes: file_proto_mcns_v1_admin_proto_depIdxs,
MessageInfos: file_proto_mcns_v1_admin_proto_msgTypes,
}.Build()
File_proto_mcns_v1_admin_proto = out.File
file_proto_mcns_v1_admin_proto_goTypes = nil
file_proto_mcns_v1_admin_proto_depIdxs = nil
}

View File

@@ -0,0 +1,121 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.6.1
// - protoc v6.32.1
// source: proto/mcns/v1/admin.proto
package v1
import (
context "context"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
)
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
// Requires gRPC-Go v1.64.0 or later.
const _ = grpc.SupportPackageIsVersion9
const (
AdminService_Health_FullMethodName = "/mcns.v1.AdminService/Health"
)
// AdminServiceClient is the client API for AdminService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
type AdminServiceClient interface {
Health(ctx context.Context, in *HealthRequest, opts ...grpc.CallOption) (*HealthResponse, error)
}
type adminServiceClient struct {
cc grpc.ClientConnInterface
}
func NewAdminServiceClient(cc grpc.ClientConnInterface) AdminServiceClient {
return &adminServiceClient{cc}
}
func (c *adminServiceClient) Health(ctx context.Context, in *HealthRequest, opts ...grpc.CallOption) (*HealthResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(HealthResponse)
err := c.cc.Invoke(ctx, AdminService_Health_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
// AdminServiceServer is the server API for AdminService service.
// All implementations must embed UnimplementedAdminServiceServer
// for forward compatibility.
type AdminServiceServer interface {
Health(context.Context, *HealthRequest) (*HealthResponse, error)
mustEmbedUnimplementedAdminServiceServer()
}
// UnimplementedAdminServiceServer must be embedded to have
// forward compatible implementations.
//
// NOTE: this should be embedded by value instead of pointer to avoid a nil
// pointer dereference when methods are called.
type UnimplementedAdminServiceServer struct{}
func (UnimplementedAdminServiceServer) Health(context.Context, *HealthRequest) (*HealthResponse, error) {
return nil, status.Error(codes.Unimplemented, "method Health not implemented")
}
func (UnimplementedAdminServiceServer) mustEmbedUnimplementedAdminServiceServer() {}
func (UnimplementedAdminServiceServer) testEmbeddedByValue() {}
// UnsafeAdminServiceServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to AdminServiceServer will
// result in compilation errors.
type UnsafeAdminServiceServer interface {
mustEmbedUnimplementedAdminServiceServer()
}
func RegisterAdminServiceServer(s grpc.ServiceRegistrar, srv AdminServiceServer) {
// If the following call panics, it indicates UnimplementedAdminServiceServer was
// embedded by pointer and is nil. This will cause panics if an
// unimplemented method is ever invoked, so we test this at initialization
// time to prevent it from happening at runtime later due to I/O.
if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
t.testEmbeddedByValue()
}
s.RegisterService(&AdminService_ServiceDesc, srv)
}
func _AdminService_Health_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(HealthRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(AdminServiceServer).Health(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: AdminService_Health_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(AdminServiceServer).Health(ctx, req.(*HealthRequest))
}
return interceptor(ctx, in, info, handler)
}
// AdminService_ServiceDesc is the grpc.ServiceDesc for AdminService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var AdminService_ServiceDesc = grpc.ServiceDesc{
ServiceName: "mcns.v1.AdminService",
HandlerType: (*AdminServiceServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "Health",
Handler: _AdminService_Health_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "proto/mcns/v1/admin.proto",
}

279
gen/mcns/v1/auth.pb.go Normal file
View File

@@ -0,0 +1,279 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.11
// protoc v6.32.1
// source: proto/mcns/v1/auth.proto
package v1
import (
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)
)
type LoginRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"`
Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"`
TotpCode string `protobuf:"bytes,3,opt,name=totp_code,json=totpCode,proto3" json:"totp_code,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LoginRequest) Reset() {
*x = LoginRequest{}
mi := &file_proto_mcns_v1_auth_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LoginRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LoginRequest) ProtoMessage() {}
func (x *LoginRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_mcns_v1_auth_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 LoginRequest.ProtoReflect.Descriptor instead.
func (*LoginRequest) Descriptor() ([]byte, []int) {
return file_proto_mcns_v1_auth_proto_rawDescGZIP(), []int{0}
}
func (x *LoginRequest) GetUsername() string {
if x != nil {
return x.Username
}
return ""
}
func (x *LoginRequest) GetPassword() string {
if x != nil {
return x.Password
}
return ""
}
func (x *LoginRequest) GetTotpCode() string {
if x != nil {
return x.TotpCode
}
return ""
}
type LoginResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LoginResponse) Reset() {
*x = LoginResponse{}
mi := &file_proto_mcns_v1_auth_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LoginResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LoginResponse) ProtoMessage() {}
func (x *LoginResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_mcns_v1_auth_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 LoginResponse.ProtoReflect.Descriptor instead.
func (*LoginResponse) Descriptor() ([]byte, []int) {
return file_proto_mcns_v1_auth_proto_rawDescGZIP(), []int{1}
}
func (x *LoginResponse) GetToken() string {
if x != nil {
return x.Token
}
return ""
}
type LogoutRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LogoutRequest) Reset() {
*x = LogoutRequest{}
mi := &file_proto_mcns_v1_auth_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LogoutRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LogoutRequest) ProtoMessage() {}
func (x *LogoutRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_mcns_v1_auth_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 LogoutRequest.ProtoReflect.Descriptor instead.
func (*LogoutRequest) Descriptor() ([]byte, []int) {
return file_proto_mcns_v1_auth_proto_rawDescGZIP(), []int{2}
}
func (x *LogoutRequest) GetToken() string {
if x != nil {
return x.Token
}
return ""
}
type LogoutResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LogoutResponse) Reset() {
*x = LogoutResponse{}
mi := &file_proto_mcns_v1_auth_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LogoutResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LogoutResponse) ProtoMessage() {}
func (x *LogoutResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_mcns_v1_auth_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 LogoutResponse.ProtoReflect.Descriptor instead.
func (*LogoutResponse) Descriptor() ([]byte, []int) {
return file_proto_mcns_v1_auth_proto_rawDescGZIP(), []int{3}
}
var File_proto_mcns_v1_auth_proto protoreflect.FileDescriptor
const file_proto_mcns_v1_auth_proto_rawDesc = "" +
"\n" +
"\x18proto/mcns/v1/auth.proto\x12\amcns.v1\"c\n" +
"\fLoginRequest\x12\x1a\n" +
"\busername\x18\x01 \x01(\tR\busername\x12\x1a\n" +
"\bpassword\x18\x02 \x01(\tR\bpassword\x12\x1b\n" +
"\ttotp_code\x18\x03 \x01(\tR\btotpCode\"%\n" +
"\rLoginResponse\x12\x14\n" +
"\x05token\x18\x01 \x01(\tR\x05token\"%\n" +
"\rLogoutRequest\x12\x14\n" +
"\x05token\x18\x01 \x01(\tR\x05token\"\x10\n" +
"\x0eLogoutResponse2\x80\x01\n" +
"\vAuthService\x126\n" +
"\x05Login\x12\x15.mcns.v1.LoginRequest\x1a\x16.mcns.v1.LoginResponse\x129\n" +
"\x06Logout\x12\x16.mcns.v1.LogoutRequest\x1a\x17.mcns.v1.LogoutResponseB(Z&git.wntrmute.dev/kyle/mcns/gen/mcns/v1b\x06proto3"
var (
file_proto_mcns_v1_auth_proto_rawDescOnce sync.Once
file_proto_mcns_v1_auth_proto_rawDescData []byte
)
func file_proto_mcns_v1_auth_proto_rawDescGZIP() []byte {
file_proto_mcns_v1_auth_proto_rawDescOnce.Do(func() {
file_proto_mcns_v1_auth_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_proto_mcns_v1_auth_proto_rawDesc), len(file_proto_mcns_v1_auth_proto_rawDesc)))
})
return file_proto_mcns_v1_auth_proto_rawDescData
}
var file_proto_mcns_v1_auth_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
var file_proto_mcns_v1_auth_proto_goTypes = []any{
(*LoginRequest)(nil), // 0: mcns.v1.LoginRequest
(*LoginResponse)(nil), // 1: mcns.v1.LoginResponse
(*LogoutRequest)(nil), // 2: mcns.v1.LogoutRequest
(*LogoutResponse)(nil), // 3: mcns.v1.LogoutResponse
}
var file_proto_mcns_v1_auth_proto_depIdxs = []int32{
0, // 0: mcns.v1.AuthService.Login:input_type -> mcns.v1.LoginRequest
2, // 1: mcns.v1.AuthService.Logout:input_type -> mcns.v1.LogoutRequest
1, // 2: mcns.v1.AuthService.Login:output_type -> mcns.v1.LoginResponse
3, // 3: mcns.v1.AuthService.Logout:output_type -> mcns.v1.LogoutResponse
2, // [2:4] is the sub-list for method output_type
0, // [0:2] is the sub-list for method input_type
0, // [0:0] is the sub-list for extension type_name
0, // [0:0] is the sub-list for extension extendee
0, // [0:0] is the sub-list for field type_name
}
func init() { file_proto_mcns_v1_auth_proto_init() }
func file_proto_mcns_v1_auth_proto_init() {
if File_proto_mcns_v1_auth_proto != nil {
return
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_proto_mcns_v1_auth_proto_rawDesc), len(file_proto_mcns_v1_auth_proto_rawDesc)),
NumEnums: 0,
NumMessages: 4,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_proto_mcns_v1_auth_proto_goTypes,
DependencyIndexes: file_proto_mcns_v1_auth_proto_depIdxs,
MessageInfos: file_proto_mcns_v1_auth_proto_msgTypes,
}.Build()
File_proto_mcns_v1_auth_proto = out.File
file_proto_mcns_v1_auth_proto_goTypes = nil
file_proto_mcns_v1_auth_proto_depIdxs = nil
}

159
gen/mcns/v1/auth_grpc.pb.go Normal file
View File

@@ -0,0 +1,159 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.6.1
// - protoc v6.32.1
// source: proto/mcns/v1/auth.proto
package v1
import (
context "context"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
)
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
// Requires gRPC-Go v1.64.0 or later.
const _ = grpc.SupportPackageIsVersion9
const (
AuthService_Login_FullMethodName = "/mcns.v1.AuthService/Login"
AuthService_Logout_FullMethodName = "/mcns.v1.AuthService/Logout"
)
// AuthServiceClient is the client API for AuthService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
type AuthServiceClient interface {
Login(ctx context.Context, in *LoginRequest, opts ...grpc.CallOption) (*LoginResponse, error)
Logout(ctx context.Context, in *LogoutRequest, opts ...grpc.CallOption) (*LogoutResponse, error)
}
type authServiceClient struct {
cc grpc.ClientConnInterface
}
func NewAuthServiceClient(cc grpc.ClientConnInterface) AuthServiceClient {
return &authServiceClient{cc}
}
func (c *authServiceClient) Login(ctx context.Context, in *LoginRequest, opts ...grpc.CallOption) (*LoginResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(LoginResponse)
err := c.cc.Invoke(ctx, AuthService_Login_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *authServiceClient) Logout(ctx context.Context, in *LogoutRequest, opts ...grpc.CallOption) (*LogoutResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(LogoutResponse)
err := c.cc.Invoke(ctx, AuthService_Logout_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
// AuthServiceServer is the server API for AuthService service.
// All implementations must embed UnimplementedAuthServiceServer
// for forward compatibility.
type AuthServiceServer interface {
Login(context.Context, *LoginRequest) (*LoginResponse, error)
Logout(context.Context, *LogoutRequest) (*LogoutResponse, error)
mustEmbedUnimplementedAuthServiceServer()
}
// UnimplementedAuthServiceServer must be embedded to have
// forward compatible implementations.
//
// NOTE: this should be embedded by value instead of pointer to avoid a nil
// pointer dereference when methods are called.
type UnimplementedAuthServiceServer struct{}
func (UnimplementedAuthServiceServer) Login(context.Context, *LoginRequest) (*LoginResponse, error) {
return nil, status.Error(codes.Unimplemented, "method Login not implemented")
}
func (UnimplementedAuthServiceServer) Logout(context.Context, *LogoutRequest) (*LogoutResponse, error) {
return nil, status.Error(codes.Unimplemented, "method Logout not implemented")
}
func (UnimplementedAuthServiceServer) mustEmbedUnimplementedAuthServiceServer() {}
func (UnimplementedAuthServiceServer) testEmbeddedByValue() {}
// UnsafeAuthServiceServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to AuthServiceServer will
// result in compilation errors.
type UnsafeAuthServiceServer interface {
mustEmbedUnimplementedAuthServiceServer()
}
func RegisterAuthServiceServer(s grpc.ServiceRegistrar, srv AuthServiceServer) {
// If the following call panics, it indicates UnimplementedAuthServiceServer was
// embedded by pointer and is nil. This will cause panics if an
// unimplemented method is ever invoked, so we test this at initialization
// time to prevent it from happening at runtime later due to I/O.
if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
t.testEmbeddedByValue()
}
s.RegisterService(&AuthService_ServiceDesc, srv)
}
func _AuthService_Login_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(LoginRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(AuthServiceServer).Login(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: AuthService_Login_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(AuthServiceServer).Login(ctx, req.(*LoginRequest))
}
return interceptor(ctx, in, info, handler)
}
func _AuthService_Logout_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(LogoutRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(AuthServiceServer).Logout(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: AuthService_Logout_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(AuthServiceServer).Logout(ctx, req.(*LogoutRequest))
}
return interceptor(ctx, in, info, handler)
}
// AuthService_ServiceDesc is the grpc.ServiceDesc for AuthService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var AuthService_ServiceDesc = grpc.ServiceDesc{
ServiceName: "mcns.v1.AuthService",
HandlerType: (*AuthServiceServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "Login",
Handler: _AuthService_Login_Handler,
},
{
MethodName: "Logout",
Handler: _AuthService_Logout_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "proto/mcns/v1/auth.proto",
}

618
gen/mcns/v1/record.pb.go Normal file
View File

@@ -0,0 +1,618 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.11
// protoc v6.32.1
// source: proto/mcns/v1/record.proto
package v1
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
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)
)
type Record struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
Type string `protobuf:"bytes,4,opt,name=type,proto3" json:"type,omitempty"`
Value string `protobuf:"bytes,5,opt,name=value,proto3" json:"value,omitempty"`
Ttl int32 `protobuf:"varint,6,opt,name=ttl,proto3" json:"ttl,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Record) Reset() {
*x = Record{}
mi := &file_proto_mcns_v1_record_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Record) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Record) ProtoMessage() {}
func (x *Record) ProtoReflect() protoreflect.Message {
mi := &file_proto_mcns_v1_record_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 Record.ProtoReflect.Descriptor instead.
func (*Record) Descriptor() ([]byte, []int) {
return file_proto_mcns_v1_record_proto_rawDescGZIP(), []int{0}
}
func (x *Record) GetId() int64 {
if x != nil {
return x.Id
}
return 0
}
func (x *Record) GetZone() string {
if x != nil {
return x.Zone
}
return ""
}
func (x *Record) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Record) GetType() string {
if x != nil {
return x.Type
}
return ""
}
func (x *Record) GetValue() string {
if x != nil {
return x.Value
}
return ""
}
func (x *Record) GetTtl() int32 {
if x != nil {
return x.Ttl
}
return 0
}
func (x *Record) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *Record) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
type ListRecordsRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Zone string `protobuf:"bytes,1,opt,name=zone,proto3" json:"zone,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ListRecordsRequest) Reset() {
*x = ListRecordsRequest{}
mi := &file_proto_mcns_v1_record_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ListRecordsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListRecordsRequest) ProtoMessage() {}
func (x *ListRecordsRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_mcns_v1_record_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 ListRecordsRequest.ProtoReflect.Descriptor instead.
func (*ListRecordsRequest) Descriptor() ([]byte, []int) {
return file_proto_mcns_v1_record_proto_rawDescGZIP(), []int{1}
}
func (x *ListRecordsRequest) GetZone() string {
if x != nil {
return x.Zone
}
return ""
}
func (x *ListRecordsRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *ListRecordsRequest) GetType() string {
if x != nil {
return x.Type
}
return ""
}
type ListRecordsResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Records []*Record `protobuf:"bytes,1,rep,name=records,proto3" json:"records,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ListRecordsResponse) Reset() {
*x = ListRecordsResponse{}
mi := &file_proto_mcns_v1_record_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ListRecordsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListRecordsResponse) ProtoMessage() {}
func (x *ListRecordsResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_mcns_v1_record_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 ListRecordsResponse.ProtoReflect.Descriptor instead.
func (*ListRecordsResponse) Descriptor() ([]byte, []int) {
return file_proto_mcns_v1_record_proto_rawDescGZIP(), []int{2}
}
func (x *ListRecordsResponse) GetRecords() []*Record {
if x != nil {
return x.Records
}
return nil
}
type CreateRecordRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Zone string `protobuf:"bytes,1,opt,name=zone,proto3" json:"zone,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"`
Value string `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"`
Ttl int32 `protobuf:"varint,5,opt,name=ttl,proto3" json:"ttl,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CreateRecordRequest) Reset() {
*x = CreateRecordRequest{}
mi := &file_proto_mcns_v1_record_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CreateRecordRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateRecordRequest) ProtoMessage() {}
func (x *CreateRecordRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_mcns_v1_record_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 CreateRecordRequest.ProtoReflect.Descriptor instead.
func (*CreateRecordRequest) Descriptor() ([]byte, []int) {
return file_proto_mcns_v1_record_proto_rawDescGZIP(), []int{3}
}
func (x *CreateRecordRequest) GetZone() string {
if x != nil {
return x.Zone
}
return ""
}
func (x *CreateRecordRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *CreateRecordRequest) GetType() string {
if x != nil {
return x.Type
}
return ""
}
func (x *CreateRecordRequest) GetValue() string {
if x != nil {
return x.Value
}
return ""
}
func (x *CreateRecordRequest) GetTtl() int32 {
if x != nil {
return x.Ttl
}
return 0
}
type GetRecordRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GetRecordRequest) Reset() {
*x = GetRecordRequest{}
mi := &file_proto_mcns_v1_record_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GetRecordRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetRecordRequest) ProtoMessage() {}
func (x *GetRecordRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_mcns_v1_record_proto_msgTypes[4]
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 GetRecordRequest.ProtoReflect.Descriptor instead.
func (*GetRecordRequest) Descriptor() ([]byte, []int) {
return file_proto_mcns_v1_record_proto_rawDescGZIP(), []int{4}
}
func (x *GetRecordRequest) GetId() int64 {
if x != nil {
return x.Id
}
return 0
}
type UpdateRecordRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"`
Value string `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"`
Ttl int32 `protobuf:"varint,5,opt,name=ttl,proto3" json:"ttl,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *UpdateRecordRequest) Reset() {
*x = UpdateRecordRequest{}
mi := &file_proto_mcns_v1_record_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *UpdateRecordRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateRecordRequest) ProtoMessage() {}
func (x *UpdateRecordRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_mcns_v1_record_proto_msgTypes[5]
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 UpdateRecordRequest.ProtoReflect.Descriptor instead.
func (*UpdateRecordRequest) Descriptor() ([]byte, []int) {
return file_proto_mcns_v1_record_proto_rawDescGZIP(), []int{5}
}
func (x *UpdateRecordRequest) GetId() int64 {
if x != nil {
return x.Id
}
return 0
}
func (x *UpdateRecordRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *UpdateRecordRequest) GetType() string {
if x != nil {
return x.Type
}
return ""
}
func (x *UpdateRecordRequest) GetValue() string {
if x != nil {
return x.Value
}
return ""
}
func (x *UpdateRecordRequest) GetTtl() int32 {
if x != nil {
return x.Ttl
}
return 0
}
type DeleteRecordRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *DeleteRecordRequest) Reset() {
*x = DeleteRecordRequest{}
mi := &file_proto_mcns_v1_record_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *DeleteRecordRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteRecordRequest) ProtoMessage() {}
func (x *DeleteRecordRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_mcns_v1_record_proto_msgTypes[6]
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 DeleteRecordRequest.ProtoReflect.Descriptor instead.
func (*DeleteRecordRequest) Descriptor() ([]byte, []int) {
return file_proto_mcns_v1_record_proto_rawDescGZIP(), []int{6}
}
func (x *DeleteRecordRequest) GetId() int64 {
if x != nil {
return x.Id
}
return 0
}
type DeleteRecordResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *DeleteRecordResponse) Reset() {
*x = DeleteRecordResponse{}
mi := &file_proto_mcns_v1_record_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *DeleteRecordResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteRecordResponse) ProtoMessage() {}
func (x *DeleteRecordResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_mcns_v1_record_proto_msgTypes[7]
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 DeleteRecordResponse.ProtoReflect.Descriptor instead.
func (*DeleteRecordResponse) Descriptor() ([]byte, []int) {
return file_proto_mcns_v1_record_proto_rawDescGZIP(), []int{7}
}
var File_proto_mcns_v1_record_proto protoreflect.FileDescriptor
const file_proto_mcns_v1_record_proto_rawDesc = "" +
"\n" +
"\x1aproto/mcns/v1/record.proto\x12\amcns.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"\xf2\x01\n" +
"\x06Record\x12\x0e\n" +
"\x02id\x18\x01 \x01(\x03R\x02id\x12\x12\n" +
"\x04zone\x18\x02 \x01(\tR\x04zone\x12\x12\n" +
"\x04name\x18\x03 \x01(\tR\x04name\x12\x12\n" +
"\x04type\x18\x04 \x01(\tR\x04type\x12\x14\n" +
"\x05value\x18\x05 \x01(\tR\x05value\x12\x10\n" +
"\x03ttl\x18\x06 \x01(\x05R\x03ttl\x129\n" +
"\n" +
"created_at\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" +
"\n" +
"updated_at\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\"P\n" +
"\x12ListRecordsRequest\x12\x12\n" +
"\x04zone\x18\x01 \x01(\tR\x04zone\x12\x12\n" +
"\x04name\x18\x02 \x01(\tR\x04name\x12\x12\n" +
"\x04type\x18\x03 \x01(\tR\x04type\"@\n" +
"\x13ListRecordsResponse\x12)\n" +
"\arecords\x18\x01 \x03(\v2\x0f.mcns.v1.RecordR\arecords\"y\n" +
"\x13CreateRecordRequest\x12\x12\n" +
"\x04zone\x18\x01 \x01(\tR\x04zone\x12\x12\n" +
"\x04name\x18\x02 \x01(\tR\x04name\x12\x12\n" +
"\x04type\x18\x03 \x01(\tR\x04type\x12\x14\n" +
"\x05value\x18\x04 \x01(\tR\x05value\x12\x10\n" +
"\x03ttl\x18\x05 \x01(\x05R\x03ttl\"\"\n" +
"\x10GetRecordRequest\x12\x0e\n" +
"\x02id\x18\x01 \x01(\x03R\x02id\"u\n" +
"\x13UpdateRecordRequest\x12\x0e\n" +
"\x02id\x18\x01 \x01(\x03R\x02id\x12\x12\n" +
"\x04name\x18\x02 \x01(\tR\x04name\x12\x12\n" +
"\x04type\x18\x03 \x01(\tR\x04type\x12\x14\n" +
"\x05value\x18\x04 \x01(\tR\x05value\x12\x10\n" +
"\x03ttl\x18\x05 \x01(\x05R\x03ttl\"%\n" +
"\x13DeleteRecordRequest\x12\x0e\n" +
"\x02id\x18\x01 \x01(\x03R\x02id\"\x16\n" +
"\x14DeleteRecordResponse2\xdd\x02\n" +
"\rRecordService\x12H\n" +
"\vListRecords\x12\x1b.mcns.v1.ListRecordsRequest\x1a\x1c.mcns.v1.ListRecordsResponse\x12=\n" +
"\fCreateRecord\x12\x1c.mcns.v1.CreateRecordRequest\x1a\x0f.mcns.v1.Record\x127\n" +
"\tGetRecord\x12\x19.mcns.v1.GetRecordRequest\x1a\x0f.mcns.v1.Record\x12=\n" +
"\fUpdateRecord\x12\x1c.mcns.v1.UpdateRecordRequest\x1a\x0f.mcns.v1.Record\x12K\n" +
"\fDeleteRecord\x12\x1c.mcns.v1.DeleteRecordRequest\x1a\x1d.mcns.v1.DeleteRecordResponseB(Z&git.wntrmute.dev/kyle/mcns/gen/mcns/v1b\x06proto3"
var (
file_proto_mcns_v1_record_proto_rawDescOnce sync.Once
file_proto_mcns_v1_record_proto_rawDescData []byte
)
func file_proto_mcns_v1_record_proto_rawDescGZIP() []byte {
file_proto_mcns_v1_record_proto_rawDescOnce.Do(func() {
file_proto_mcns_v1_record_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_proto_mcns_v1_record_proto_rawDesc), len(file_proto_mcns_v1_record_proto_rawDesc)))
})
return file_proto_mcns_v1_record_proto_rawDescData
}
var file_proto_mcns_v1_record_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
var file_proto_mcns_v1_record_proto_goTypes = []any{
(*Record)(nil), // 0: mcns.v1.Record
(*ListRecordsRequest)(nil), // 1: mcns.v1.ListRecordsRequest
(*ListRecordsResponse)(nil), // 2: mcns.v1.ListRecordsResponse
(*CreateRecordRequest)(nil), // 3: mcns.v1.CreateRecordRequest
(*GetRecordRequest)(nil), // 4: mcns.v1.GetRecordRequest
(*UpdateRecordRequest)(nil), // 5: mcns.v1.UpdateRecordRequest
(*DeleteRecordRequest)(nil), // 6: mcns.v1.DeleteRecordRequest
(*DeleteRecordResponse)(nil), // 7: mcns.v1.DeleteRecordResponse
(*timestamppb.Timestamp)(nil), // 8: google.protobuf.Timestamp
}
var file_proto_mcns_v1_record_proto_depIdxs = []int32{
8, // 0: mcns.v1.Record.created_at:type_name -> google.protobuf.Timestamp
8, // 1: mcns.v1.Record.updated_at:type_name -> google.protobuf.Timestamp
0, // 2: mcns.v1.ListRecordsResponse.records:type_name -> mcns.v1.Record
1, // 3: mcns.v1.RecordService.ListRecords:input_type -> mcns.v1.ListRecordsRequest
3, // 4: mcns.v1.RecordService.CreateRecord:input_type -> mcns.v1.CreateRecordRequest
4, // 5: mcns.v1.RecordService.GetRecord:input_type -> mcns.v1.GetRecordRequest
5, // 6: mcns.v1.RecordService.UpdateRecord:input_type -> mcns.v1.UpdateRecordRequest
6, // 7: mcns.v1.RecordService.DeleteRecord:input_type -> mcns.v1.DeleteRecordRequest
2, // 8: mcns.v1.RecordService.ListRecords:output_type -> mcns.v1.ListRecordsResponse
0, // 9: mcns.v1.RecordService.CreateRecord:output_type -> mcns.v1.Record
0, // 10: mcns.v1.RecordService.GetRecord:output_type -> mcns.v1.Record
0, // 11: mcns.v1.RecordService.UpdateRecord:output_type -> mcns.v1.Record
7, // 12: mcns.v1.RecordService.DeleteRecord:output_type -> mcns.v1.DeleteRecordResponse
8, // [8:13] is the sub-list for method output_type
3, // [3:8] 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_proto_mcns_v1_record_proto_init() }
func file_proto_mcns_v1_record_proto_init() {
if File_proto_mcns_v1_record_proto != nil {
return
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_proto_mcns_v1_record_proto_rawDesc), len(file_proto_mcns_v1_record_proto_rawDesc)),
NumEnums: 0,
NumMessages: 8,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_proto_mcns_v1_record_proto_goTypes,
DependencyIndexes: file_proto_mcns_v1_record_proto_depIdxs,
MessageInfos: file_proto_mcns_v1_record_proto_msgTypes,
}.Build()
File_proto_mcns_v1_record_proto = out.File
file_proto_mcns_v1_record_proto_goTypes = nil
file_proto_mcns_v1_record_proto_depIdxs = nil
}

View File

@@ -0,0 +1,273 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.6.1
// - protoc v6.32.1
// source: proto/mcns/v1/record.proto
package v1
import (
context "context"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
)
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
// Requires gRPC-Go v1.64.0 or later.
const _ = grpc.SupportPackageIsVersion9
const (
RecordService_ListRecords_FullMethodName = "/mcns.v1.RecordService/ListRecords"
RecordService_CreateRecord_FullMethodName = "/mcns.v1.RecordService/CreateRecord"
RecordService_GetRecord_FullMethodName = "/mcns.v1.RecordService/GetRecord"
RecordService_UpdateRecord_FullMethodName = "/mcns.v1.RecordService/UpdateRecord"
RecordService_DeleteRecord_FullMethodName = "/mcns.v1.RecordService/DeleteRecord"
)
// RecordServiceClient is the client API for RecordService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
type RecordServiceClient interface {
ListRecords(ctx context.Context, in *ListRecordsRequest, opts ...grpc.CallOption) (*ListRecordsResponse, error)
CreateRecord(ctx context.Context, in *CreateRecordRequest, opts ...grpc.CallOption) (*Record, error)
GetRecord(ctx context.Context, in *GetRecordRequest, opts ...grpc.CallOption) (*Record, error)
UpdateRecord(ctx context.Context, in *UpdateRecordRequest, opts ...grpc.CallOption) (*Record, error)
DeleteRecord(ctx context.Context, in *DeleteRecordRequest, opts ...grpc.CallOption) (*DeleteRecordResponse, error)
}
type recordServiceClient struct {
cc grpc.ClientConnInterface
}
func NewRecordServiceClient(cc grpc.ClientConnInterface) RecordServiceClient {
return &recordServiceClient{cc}
}
func (c *recordServiceClient) ListRecords(ctx context.Context, in *ListRecordsRequest, opts ...grpc.CallOption) (*ListRecordsResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(ListRecordsResponse)
err := c.cc.Invoke(ctx, RecordService_ListRecords_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *recordServiceClient) CreateRecord(ctx context.Context, in *CreateRecordRequest, opts ...grpc.CallOption) (*Record, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(Record)
err := c.cc.Invoke(ctx, RecordService_CreateRecord_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *recordServiceClient) GetRecord(ctx context.Context, in *GetRecordRequest, opts ...grpc.CallOption) (*Record, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(Record)
err := c.cc.Invoke(ctx, RecordService_GetRecord_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *recordServiceClient) UpdateRecord(ctx context.Context, in *UpdateRecordRequest, opts ...grpc.CallOption) (*Record, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(Record)
err := c.cc.Invoke(ctx, RecordService_UpdateRecord_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *recordServiceClient) DeleteRecord(ctx context.Context, in *DeleteRecordRequest, opts ...grpc.CallOption) (*DeleteRecordResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(DeleteRecordResponse)
err := c.cc.Invoke(ctx, RecordService_DeleteRecord_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
// RecordServiceServer is the server API for RecordService service.
// All implementations must embed UnimplementedRecordServiceServer
// for forward compatibility.
type RecordServiceServer interface {
ListRecords(context.Context, *ListRecordsRequest) (*ListRecordsResponse, error)
CreateRecord(context.Context, *CreateRecordRequest) (*Record, error)
GetRecord(context.Context, *GetRecordRequest) (*Record, error)
UpdateRecord(context.Context, *UpdateRecordRequest) (*Record, error)
DeleteRecord(context.Context, *DeleteRecordRequest) (*DeleteRecordResponse, error)
mustEmbedUnimplementedRecordServiceServer()
}
// UnimplementedRecordServiceServer must be embedded to have
// forward compatible implementations.
//
// NOTE: this should be embedded by value instead of pointer to avoid a nil
// pointer dereference when methods are called.
type UnimplementedRecordServiceServer struct{}
func (UnimplementedRecordServiceServer) ListRecords(context.Context, *ListRecordsRequest) (*ListRecordsResponse, error) {
return nil, status.Error(codes.Unimplemented, "method ListRecords not implemented")
}
func (UnimplementedRecordServiceServer) CreateRecord(context.Context, *CreateRecordRequest) (*Record, error) {
return nil, status.Error(codes.Unimplemented, "method CreateRecord not implemented")
}
func (UnimplementedRecordServiceServer) GetRecord(context.Context, *GetRecordRequest) (*Record, error) {
return nil, status.Error(codes.Unimplemented, "method GetRecord not implemented")
}
func (UnimplementedRecordServiceServer) UpdateRecord(context.Context, *UpdateRecordRequest) (*Record, error) {
return nil, status.Error(codes.Unimplemented, "method UpdateRecord not implemented")
}
func (UnimplementedRecordServiceServer) DeleteRecord(context.Context, *DeleteRecordRequest) (*DeleteRecordResponse, error) {
return nil, status.Error(codes.Unimplemented, "method DeleteRecord not implemented")
}
func (UnimplementedRecordServiceServer) mustEmbedUnimplementedRecordServiceServer() {}
func (UnimplementedRecordServiceServer) testEmbeddedByValue() {}
// UnsafeRecordServiceServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to RecordServiceServer will
// result in compilation errors.
type UnsafeRecordServiceServer interface {
mustEmbedUnimplementedRecordServiceServer()
}
func RegisterRecordServiceServer(s grpc.ServiceRegistrar, srv RecordServiceServer) {
// If the following call panics, it indicates UnimplementedRecordServiceServer was
// embedded by pointer and is nil. This will cause panics if an
// unimplemented method is ever invoked, so we test this at initialization
// time to prevent it from happening at runtime later due to I/O.
if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
t.testEmbeddedByValue()
}
s.RegisterService(&RecordService_ServiceDesc, srv)
}
func _RecordService_ListRecords_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListRecordsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RecordServiceServer).ListRecords(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: RecordService_ListRecords_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RecordServiceServer).ListRecords(ctx, req.(*ListRecordsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _RecordService_CreateRecord_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CreateRecordRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RecordServiceServer).CreateRecord(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: RecordService_CreateRecord_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RecordServiceServer).CreateRecord(ctx, req.(*CreateRecordRequest))
}
return interceptor(ctx, in, info, handler)
}
func _RecordService_GetRecord_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetRecordRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RecordServiceServer).GetRecord(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: RecordService_GetRecord_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RecordServiceServer).GetRecord(ctx, req.(*GetRecordRequest))
}
return interceptor(ctx, in, info, handler)
}
func _RecordService_UpdateRecord_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateRecordRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RecordServiceServer).UpdateRecord(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: RecordService_UpdateRecord_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RecordServiceServer).UpdateRecord(ctx, req.(*UpdateRecordRequest))
}
return interceptor(ctx, in, info, handler)
}
func _RecordService_DeleteRecord_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(DeleteRecordRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RecordServiceServer).DeleteRecord(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: RecordService_DeleteRecord_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RecordServiceServer).DeleteRecord(ctx, req.(*DeleteRecordRequest))
}
return interceptor(ctx, in, info, handler)
}
// RecordService_ServiceDesc is the grpc.ServiceDesc for RecordService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var RecordService_ServiceDesc = grpc.ServiceDesc{
ServiceName: "mcns.v1.RecordService",
HandlerType: (*RecordServiceServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "ListRecords",
Handler: _RecordService_ListRecords_Handler,
},
{
MethodName: "CreateRecord",
Handler: _RecordService_CreateRecord_Handler,
},
{
MethodName: "GetRecord",
Handler: _RecordService_GetRecord_Handler,
},
{
MethodName: "UpdateRecord",
Handler: _RecordService_UpdateRecord_Handler,
},
{
MethodName: "DeleteRecord",
Handler: _RecordService_DeleteRecord_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "proto/mcns/v1/record.proto",
}

667
gen/mcns/v1/zone.pb.go Normal file
View File

@@ -0,0 +1,667 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.11
// protoc v6.32.1
// source: proto/mcns/v1/zone.proto
package v1
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
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)
)
type Zone struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
PrimaryNs string `protobuf:"bytes,3,opt,name=primary_ns,json=primaryNs,proto3" json:"primary_ns,omitempty"`
AdminEmail string `protobuf:"bytes,4,opt,name=admin_email,json=adminEmail,proto3" json:"admin_email,omitempty"`
Refresh int32 `protobuf:"varint,5,opt,name=refresh,proto3" json:"refresh,omitempty"`
Retry int32 `protobuf:"varint,6,opt,name=retry,proto3" json:"retry,omitempty"`
Expire int32 `protobuf:"varint,7,opt,name=expire,proto3" json:"expire,omitempty"`
MinimumTtl int32 `protobuf:"varint,8,opt,name=minimum_ttl,json=minimumTtl,proto3" json:"minimum_ttl,omitempty"`
Serial int64 `protobuf:"varint,9,opt,name=serial,proto3" json:"serial,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Zone) Reset() {
*x = Zone{}
mi := &file_proto_mcns_v1_zone_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Zone) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Zone) ProtoMessage() {}
func (x *Zone) ProtoReflect() protoreflect.Message {
mi := &file_proto_mcns_v1_zone_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 Zone.ProtoReflect.Descriptor instead.
func (*Zone) Descriptor() ([]byte, []int) {
return file_proto_mcns_v1_zone_proto_rawDescGZIP(), []int{0}
}
func (x *Zone) GetId() int64 {
if x != nil {
return x.Id
}
return 0
}
func (x *Zone) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Zone) GetPrimaryNs() string {
if x != nil {
return x.PrimaryNs
}
return ""
}
func (x *Zone) GetAdminEmail() string {
if x != nil {
return x.AdminEmail
}
return ""
}
func (x *Zone) GetRefresh() int32 {
if x != nil {
return x.Refresh
}
return 0
}
func (x *Zone) GetRetry() int32 {
if x != nil {
return x.Retry
}
return 0
}
func (x *Zone) GetExpire() int32 {
if x != nil {
return x.Expire
}
return 0
}
func (x *Zone) GetMinimumTtl() int32 {
if x != nil {
return x.MinimumTtl
}
return 0
}
func (x *Zone) GetSerial() int64 {
if x != nil {
return x.Serial
}
return 0
}
func (x *Zone) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *Zone) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
type ListZonesRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ListZonesRequest) Reset() {
*x = ListZonesRequest{}
mi := &file_proto_mcns_v1_zone_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ListZonesRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListZonesRequest) ProtoMessage() {}
func (x *ListZonesRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_mcns_v1_zone_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 ListZonesRequest.ProtoReflect.Descriptor instead.
func (*ListZonesRequest) Descriptor() ([]byte, []int) {
return file_proto_mcns_v1_zone_proto_rawDescGZIP(), []int{1}
}
type ListZonesResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Zones []*Zone `protobuf:"bytes,1,rep,name=zones,proto3" json:"zones,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ListZonesResponse) Reset() {
*x = ListZonesResponse{}
mi := &file_proto_mcns_v1_zone_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ListZonesResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListZonesResponse) ProtoMessage() {}
func (x *ListZonesResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_mcns_v1_zone_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 ListZonesResponse.ProtoReflect.Descriptor instead.
func (*ListZonesResponse) Descriptor() ([]byte, []int) {
return file_proto_mcns_v1_zone_proto_rawDescGZIP(), []int{2}
}
func (x *ListZonesResponse) GetZones() []*Zone {
if x != nil {
return x.Zones
}
return nil
}
type CreateZoneRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
PrimaryNs string `protobuf:"bytes,2,opt,name=primary_ns,json=primaryNs,proto3" json:"primary_ns,omitempty"`
AdminEmail string `protobuf:"bytes,3,opt,name=admin_email,json=adminEmail,proto3" json:"admin_email,omitempty"`
Refresh int32 `protobuf:"varint,4,opt,name=refresh,proto3" json:"refresh,omitempty"`
Retry int32 `protobuf:"varint,5,opt,name=retry,proto3" json:"retry,omitempty"`
Expire int32 `protobuf:"varint,6,opt,name=expire,proto3" json:"expire,omitempty"`
MinimumTtl int32 `protobuf:"varint,7,opt,name=minimum_ttl,json=minimumTtl,proto3" json:"minimum_ttl,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CreateZoneRequest) Reset() {
*x = CreateZoneRequest{}
mi := &file_proto_mcns_v1_zone_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CreateZoneRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateZoneRequest) ProtoMessage() {}
func (x *CreateZoneRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_mcns_v1_zone_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 CreateZoneRequest.ProtoReflect.Descriptor instead.
func (*CreateZoneRequest) Descriptor() ([]byte, []int) {
return file_proto_mcns_v1_zone_proto_rawDescGZIP(), []int{3}
}
func (x *CreateZoneRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *CreateZoneRequest) GetPrimaryNs() string {
if x != nil {
return x.PrimaryNs
}
return ""
}
func (x *CreateZoneRequest) GetAdminEmail() string {
if x != nil {
return x.AdminEmail
}
return ""
}
func (x *CreateZoneRequest) GetRefresh() int32 {
if x != nil {
return x.Refresh
}
return 0
}
func (x *CreateZoneRequest) GetRetry() int32 {
if x != nil {
return x.Retry
}
return 0
}
func (x *CreateZoneRequest) GetExpire() int32 {
if x != nil {
return x.Expire
}
return 0
}
func (x *CreateZoneRequest) GetMinimumTtl() int32 {
if x != nil {
return x.MinimumTtl
}
return 0
}
type GetZoneRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GetZoneRequest) Reset() {
*x = GetZoneRequest{}
mi := &file_proto_mcns_v1_zone_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GetZoneRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetZoneRequest) ProtoMessage() {}
func (x *GetZoneRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_mcns_v1_zone_proto_msgTypes[4]
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 GetZoneRequest.ProtoReflect.Descriptor instead.
func (*GetZoneRequest) Descriptor() ([]byte, []int) {
return file_proto_mcns_v1_zone_proto_rawDescGZIP(), []int{4}
}
func (x *GetZoneRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
type UpdateZoneRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
PrimaryNs string `protobuf:"bytes,2,opt,name=primary_ns,json=primaryNs,proto3" json:"primary_ns,omitempty"`
AdminEmail string `protobuf:"bytes,3,opt,name=admin_email,json=adminEmail,proto3" json:"admin_email,omitempty"`
Refresh int32 `protobuf:"varint,4,opt,name=refresh,proto3" json:"refresh,omitempty"`
Retry int32 `protobuf:"varint,5,opt,name=retry,proto3" json:"retry,omitempty"`
Expire int32 `protobuf:"varint,6,opt,name=expire,proto3" json:"expire,omitempty"`
MinimumTtl int32 `protobuf:"varint,7,opt,name=minimum_ttl,json=minimumTtl,proto3" json:"minimum_ttl,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *UpdateZoneRequest) Reset() {
*x = UpdateZoneRequest{}
mi := &file_proto_mcns_v1_zone_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *UpdateZoneRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateZoneRequest) ProtoMessage() {}
func (x *UpdateZoneRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_mcns_v1_zone_proto_msgTypes[5]
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 UpdateZoneRequest.ProtoReflect.Descriptor instead.
func (*UpdateZoneRequest) Descriptor() ([]byte, []int) {
return file_proto_mcns_v1_zone_proto_rawDescGZIP(), []int{5}
}
func (x *UpdateZoneRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *UpdateZoneRequest) GetPrimaryNs() string {
if x != nil {
return x.PrimaryNs
}
return ""
}
func (x *UpdateZoneRequest) GetAdminEmail() string {
if x != nil {
return x.AdminEmail
}
return ""
}
func (x *UpdateZoneRequest) GetRefresh() int32 {
if x != nil {
return x.Refresh
}
return 0
}
func (x *UpdateZoneRequest) GetRetry() int32 {
if x != nil {
return x.Retry
}
return 0
}
func (x *UpdateZoneRequest) GetExpire() int32 {
if x != nil {
return x.Expire
}
return 0
}
func (x *UpdateZoneRequest) GetMinimumTtl() int32 {
if x != nil {
return x.MinimumTtl
}
return 0
}
type DeleteZoneRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *DeleteZoneRequest) Reset() {
*x = DeleteZoneRequest{}
mi := &file_proto_mcns_v1_zone_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *DeleteZoneRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteZoneRequest) ProtoMessage() {}
func (x *DeleteZoneRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_mcns_v1_zone_proto_msgTypes[6]
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 DeleteZoneRequest.ProtoReflect.Descriptor instead.
func (*DeleteZoneRequest) Descriptor() ([]byte, []int) {
return file_proto_mcns_v1_zone_proto_rawDescGZIP(), []int{6}
}
func (x *DeleteZoneRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
type DeleteZoneResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *DeleteZoneResponse) Reset() {
*x = DeleteZoneResponse{}
mi := &file_proto_mcns_v1_zone_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *DeleteZoneResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteZoneResponse) ProtoMessage() {}
func (x *DeleteZoneResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_mcns_v1_zone_proto_msgTypes[7]
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 DeleteZoneResponse.ProtoReflect.Descriptor instead.
func (*DeleteZoneResponse) Descriptor() ([]byte, []int) {
return file_proto_mcns_v1_zone_proto_rawDescGZIP(), []int{7}
}
var File_proto_mcns_v1_zone_proto protoreflect.FileDescriptor
const file_proto_mcns_v1_zone_proto_rawDesc = "" +
"\n" +
"\x18proto/mcns/v1/zone.proto\x12\amcns.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"\xe1\x02\n" +
"\x04Zone\x12\x0e\n" +
"\x02id\x18\x01 \x01(\x03R\x02id\x12\x12\n" +
"\x04name\x18\x02 \x01(\tR\x04name\x12\x1d\n" +
"\n" +
"primary_ns\x18\x03 \x01(\tR\tprimaryNs\x12\x1f\n" +
"\vadmin_email\x18\x04 \x01(\tR\n" +
"adminEmail\x12\x18\n" +
"\arefresh\x18\x05 \x01(\x05R\arefresh\x12\x14\n" +
"\x05retry\x18\x06 \x01(\x05R\x05retry\x12\x16\n" +
"\x06expire\x18\a \x01(\x05R\x06expire\x12\x1f\n" +
"\vminimum_ttl\x18\b \x01(\x05R\n" +
"minimumTtl\x12\x16\n" +
"\x06serial\x18\t \x01(\x03R\x06serial\x129\n" +
"\n" +
"created_at\x18\n" +
" \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" +
"\n" +
"updated_at\x18\v \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\"\x12\n" +
"\x10ListZonesRequest\"8\n" +
"\x11ListZonesResponse\x12#\n" +
"\x05zones\x18\x01 \x03(\v2\r.mcns.v1.ZoneR\x05zones\"\xd0\x01\n" +
"\x11CreateZoneRequest\x12\x12\n" +
"\x04name\x18\x01 \x01(\tR\x04name\x12\x1d\n" +
"\n" +
"primary_ns\x18\x02 \x01(\tR\tprimaryNs\x12\x1f\n" +
"\vadmin_email\x18\x03 \x01(\tR\n" +
"adminEmail\x12\x18\n" +
"\arefresh\x18\x04 \x01(\x05R\arefresh\x12\x14\n" +
"\x05retry\x18\x05 \x01(\x05R\x05retry\x12\x16\n" +
"\x06expire\x18\x06 \x01(\x05R\x06expire\x12\x1f\n" +
"\vminimum_ttl\x18\a \x01(\x05R\n" +
"minimumTtl\"$\n" +
"\x0eGetZoneRequest\x12\x12\n" +
"\x04name\x18\x01 \x01(\tR\x04name\"\xd0\x01\n" +
"\x11UpdateZoneRequest\x12\x12\n" +
"\x04name\x18\x01 \x01(\tR\x04name\x12\x1d\n" +
"\n" +
"primary_ns\x18\x02 \x01(\tR\tprimaryNs\x12\x1f\n" +
"\vadmin_email\x18\x03 \x01(\tR\n" +
"adminEmail\x12\x18\n" +
"\arefresh\x18\x04 \x01(\x05R\arefresh\x12\x14\n" +
"\x05retry\x18\x05 \x01(\x05R\x05retry\x12\x16\n" +
"\x06expire\x18\x06 \x01(\x05R\x06expire\x12\x1f\n" +
"\vminimum_ttl\x18\a \x01(\x05R\n" +
"minimumTtl\"'\n" +
"\x11DeleteZoneRequest\x12\x12\n" +
"\x04name\x18\x01 \x01(\tR\x04name\"\x14\n" +
"\x12DeleteZoneResponse2\xbd\x02\n" +
"\vZoneService\x12B\n" +
"\tListZones\x12\x19.mcns.v1.ListZonesRequest\x1a\x1a.mcns.v1.ListZonesResponse\x127\n" +
"\n" +
"CreateZone\x12\x1a.mcns.v1.CreateZoneRequest\x1a\r.mcns.v1.Zone\x121\n" +
"\aGetZone\x12\x17.mcns.v1.GetZoneRequest\x1a\r.mcns.v1.Zone\x127\n" +
"\n" +
"UpdateZone\x12\x1a.mcns.v1.UpdateZoneRequest\x1a\r.mcns.v1.Zone\x12E\n" +
"\n" +
"DeleteZone\x12\x1a.mcns.v1.DeleteZoneRequest\x1a\x1b.mcns.v1.DeleteZoneResponseB(Z&git.wntrmute.dev/kyle/mcns/gen/mcns/v1b\x06proto3"
var (
file_proto_mcns_v1_zone_proto_rawDescOnce sync.Once
file_proto_mcns_v1_zone_proto_rawDescData []byte
)
func file_proto_mcns_v1_zone_proto_rawDescGZIP() []byte {
file_proto_mcns_v1_zone_proto_rawDescOnce.Do(func() {
file_proto_mcns_v1_zone_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_proto_mcns_v1_zone_proto_rawDesc), len(file_proto_mcns_v1_zone_proto_rawDesc)))
})
return file_proto_mcns_v1_zone_proto_rawDescData
}
var file_proto_mcns_v1_zone_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
var file_proto_mcns_v1_zone_proto_goTypes = []any{
(*Zone)(nil), // 0: mcns.v1.Zone
(*ListZonesRequest)(nil), // 1: mcns.v1.ListZonesRequest
(*ListZonesResponse)(nil), // 2: mcns.v1.ListZonesResponse
(*CreateZoneRequest)(nil), // 3: mcns.v1.CreateZoneRequest
(*GetZoneRequest)(nil), // 4: mcns.v1.GetZoneRequest
(*UpdateZoneRequest)(nil), // 5: mcns.v1.UpdateZoneRequest
(*DeleteZoneRequest)(nil), // 6: mcns.v1.DeleteZoneRequest
(*DeleteZoneResponse)(nil), // 7: mcns.v1.DeleteZoneResponse
(*timestamppb.Timestamp)(nil), // 8: google.protobuf.Timestamp
}
var file_proto_mcns_v1_zone_proto_depIdxs = []int32{
8, // 0: mcns.v1.Zone.created_at:type_name -> google.protobuf.Timestamp
8, // 1: mcns.v1.Zone.updated_at:type_name -> google.protobuf.Timestamp
0, // 2: mcns.v1.ListZonesResponse.zones:type_name -> mcns.v1.Zone
1, // 3: mcns.v1.ZoneService.ListZones:input_type -> mcns.v1.ListZonesRequest
3, // 4: mcns.v1.ZoneService.CreateZone:input_type -> mcns.v1.CreateZoneRequest
4, // 5: mcns.v1.ZoneService.GetZone:input_type -> mcns.v1.GetZoneRequest
5, // 6: mcns.v1.ZoneService.UpdateZone:input_type -> mcns.v1.UpdateZoneRequest
6, // 7: mcns.v1.ZoneService.DeleteZone:input_type -> mcns.v1.DeleteZoneRequest
2, // 8: mcns.v1.ZoneService.ListZones:output_type -> mcns.v1.ListZonesResponse
0, // 9: mcns.v1.ZoneService.CreateZone:output_type -> mcns.v1.Zone
0, // 10: mcns.v1.ZoneService.GetZone:output_type -> mcns.v1.Zone
0, // 11: mcns.v1.ZoneService.UpdateZone:output_type -> mcns.v1.Zone
7, // 12: mcns.v1.ZoneService.DeleteZone:output_type -> mcns.v1.DeleteZoneResponse
8, // [8:13] is the sub-list for method output_type
3, // [3:8] 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_proto_mcns_v1_zone_proto_init() }
func file_proto_mcns_v1_zone_proto_init() {
if File_proto_mcns_v1_zone_proto != nil {
return
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_proto_mcns_v1_zone_proto_rawDesc), len(file_proto_mcns_v1_zone_proto_rawDesc)),
NumEnums: 0,
NumMessages: 8,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_proto_mcns_v1_zone_proto_goTypes,
DependencyIndexes: file_proto_mcns_v1_zone_proto_depIdxs,
MessageInfos: file_proto_mcns_v1_zone_proto_msgTypes,
}.Build()
File_proto_mcns_v1_zone_proto = out.File
file_proto_mcns_v1_zone_proto_goTypes = nil
file_proto_mcns_v1_zone_proto_depIdxs = nil
}

273
gen/mcns/v1/zone_grpc.pb.go Normal file
View File

@@ -0,0 +1,273 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.6.1
// - protoc v6.32.1
// source: proto/mcns/v1/zone.proto
package v1
import (
context "context"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
)
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
// Requires gRPC-Go v1.64.0 or later.
const _ = grpc.SupportPackageIsVersion9
const (
ZoneService_ListZones_FullMethodName = "/mcns.v1.ZoneService/ListZones"
ZoneService_CreateZone_FullMethodName = "/mcns.v1.ZoneService/CreateZone"
ZoneService_GetZone_FullMethodName = "/mcns.v1.ZoneService/GetZone"
ZoneService_UpdateZone_FullMethodName = "/mcns.v1.ZoneService/UpdateZone"
ZoneService_DeleteZone_FullMethodName = "/mcns.v1.ZoneService/DeleteZone"
)
// ZoneServiceClient is the client API for ZoneService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
type ZoneServiceClient interface {
ListZones(ctx context.Context, in *ListZonesRequest, opts ...grpc.CallOption) (*ListZonesResponse, error)
CreateZone(ctx context.Context, in *CreateZoneRequest, opts ...grpc.CallOption) (*Zone, error)
GetZone(ctx context.Context, in *GetZoneRequest, opts ...grpc.CallOption) (*Zone, error)
UpdateZone(ctx context.Context, in *UpdateZoneRequest, opts ...grpc.CallOption) (*Zone, error)
DeleteZone(ctx context.Context, in *DeleteZoneRequest, opts ...grpc.CallOption) (*DeleteZoneResponse, error)
}
type zoneServiceClient struct {
cc grpc.ClientConnInterface
}
func NewZoneServiceClient(cc grpc.ClientConnInterface) ZoneServiceClient {
return &zoneServiceClient{cc}
}
func (c *zoneServiceClient) ListZones(ctx context.Context, in *ListZonesRequest, opts ...grpc.CallOption) (*ListZonesResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(ListZonesResponse)
err := c.cc.Invoke(ctx, ZoneService_ListZones_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *zoneServiceClient) CreateZone(ctx context.Context, in *CreateZoneRequest, opts ...grpc.CallOption) (*Zone, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(Zone)
err := c.cc.Invoke(ctx, ZoneService_CreateZone_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *zoneServiceClient) GetZone(ctx context.Context, in *GetZoneRequest, opts ...grpc.CallOption) (*Zone, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(Zone)
err := c.cc.Invoke(ctx, ZoneService_GetZone_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *zoneServiceClient) UpdateZone(ctx context.Context, in *UpdateZoneRequest, opts ...grpc.CallOption) (*Zone, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(Zone)
err := c.cc.Invoke(ctx, ZoneService_UpdateZone_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *zoneServiceClient) DeleteZone(ctx context.Context, in *DeleteZoneRequest, opts ...grpc.CallOption) (*DeleteZoneResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(DeleteZoneResponse)
err := c.cc.Invoke(ctx, ZoneService_DeleteZone_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
// ZoneServiceServer is the server API for ZoneService service.
// All implementations must embed UnimplementedZoneServiceServer
// for forward compatibility.
type ZoneServiceServer interface {
ListZones(context.Context, *ListZonesRequest) (*ListZonesResponse, error)
CreateZone(context.Context, *CreateZoneRequest) (*Zone, error)
GetZone(context.Context, *GetZoneRequest) (*Zone, error)
UpdateZone(context.Context, *UpdateZoneRequest) (*Zone, error)
DeleteZone(context.Context, *DeleteZoneRequest) (*DeleteZoneResponse, error)
mustEmbedUnimplementedZoneServiceServer()
}
// UnimplementedZoneServiceServer must be embedded to have
// forward compatible implementations.
//
// NOTE: this should be embedded by value instead of pointer to avoid a nil
// pointer dereference when methods are called.
type UnimplementedZoneServiceServer struct{}
func (UnimplementedZoneServiceServer) ListZones(context.Context, *ListZonesRequest) (*ListZonesResponse, error) {
return nil, status.Error(codes.Unimplemented, "method ListZones not implemented")
}
func (UnimplementedZoneServiceServer) CreateZone(context.Context, *CreateZoneRequest) (*Zone, error) {
return nil, status.Error(codes.Unimplemented, "method CreateZone not implemented")
}
func (UnimplementedZoneServiceServer) GetZone(context.Context, *GetZoneRequest) (*Zone, error) {
return nil, status.Error(codes.Unimplemented, "method GetZone not implemented")
}
func (UnimplementedZoneServiceServer) UpdateZone(context.Context, *UpdateZoneRequest) (*Zone, error) {
return nil, status.Error(codes.Unimplemented, "method UpdateZone not implemented")
}
func (UnimplementedZoneServiceServer) DeleteZone(context.Context, *DeleteZoneRequest) (*DeleteZoneResponse, error) {
return nil, status.Error(codes.Unimplemented, "method DeleteZone not implemented")
}
func (UnimplementedZoneServiceServer) mustEmbedUnimplementedZoneServiceServer() {}
func (UnimplementedZoneServiceServer) testEmbeddedByValue() {}
// UnsafeZoneServiceServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to ZoneServiceServer will
// result in compilation errors.
type UnsafeZoneServiceServer interface {
mustEmbedUnimplementedZoneServiceServer()
}
func RegisterZoneServiceServer(s grpc.ServiceRegistrar, srv ZoneServiceServer) {
// If the following call panics, it indicates UnimplementedZoneServiceServer was
// embedded by pointer and is nil. This will cause panics if an
// unimplemented method is ever invoked, so we test this at initialization
// time to prevent it from happening at runtime later due to I/O.
if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
t.testEmbeddedByValue()
}
s.RegisterService(&ZoneService_ServiceDesc, srv)
}
func _ZoneService_ListZones_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListZonesRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ZoneServiceServer).ListZones(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: ZoneService_ListZones_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ZoneServiceServer).ListZones(ctx, req.(*ListZonesRequest))
}
return interceptor(ctx, in, info, handler)
}
func _ZoneService_CreateZone_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CreateZoneRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ZoneServiceServer).CreateZone(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: ZoneService_CreateZone_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ZoneServiceServer).CreateZone(ctx, req.(*CreateZoneRequest))
}
return interceptor(ctx, in, info, handler)
}
func _ZoneService_GetZone_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetZoneRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ZoneServiceServer).GetZone(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: ZoneService_GetZone_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ZoneServiceServer).GetZone(ctx, req.(*GetZoneRequest))
}
return interceptor(ctx, in, info, handler)
}
func _ZoneService_UpdateZone_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateZoneRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ZoneServiceServer).UpdateZone(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: ZoneService_UpdateZone_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ZoneServiceServer).UpdateZone(ctx, req.(*UpdateZoneRequest))
}
return interceptor(ctx, in, info, handler)
}
func _ZoneService_DeleteZone_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(DeleteZoneRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ZoneServiceServer).DeleteZone(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: ZoneService_DeleteZone_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ZoneServiceServer).DeleteZone(ctx, req.(*DeleteZoneRequest))
}
return interceptor(ctx, in, info, handler)
}
// ZoneService_ServiceDesc is the grpc.ServiceDesc for ZoneService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var ZoneService_ServiceDesc = grpc.ServiceDesc{
ServiceName: "mcns.v1.ZoneService",
HandlerType: (*ZoneServiceServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "ListZones",
Handler: _ZoneService_ListZones_Handler,
},
{
MethodName: "CreateZone",
Handler: _ZoneService_CreateZone_Handler,
},
{
MethodName: "GetZone",
Handler: _ZoneService_GetZone_Handler,
},
{
MethodName: "UpdateZone",
Handler: _ZoneService_UpdateZone_Handler,
},
{
MethodName: "DeleteZone",
Handler: _ZoneService_DeleteZone_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "proto/mcns/v1/zone.proto",
}