first commit
This commit is contained in:
commit
aeaa2a7804
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
bin
|
3
.vscode/settings.json
vendored
Normal file
3
.vscode/settings.json
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"makefile.configureOnOpen": false
|
||||
}
|
48
Makefile
Normal file
48
Makefile
Normal file
@ -0,0 +1,48 @@
|
||||
# Directorios
|
||||
PROTO_DIR := proto
|
||||
OUT_DIR := internal/gen
|
||||
|
||||
# Ruta base Go para imports en go_package
|
||||
GO_BASE := git.espin.casa/albert/go-telecom
|
||||
|
||||
# Proto tools
|
||||
PROTOC := protoc
|
||||
PROTOC_GEN_GO := $(shell which protoc-gen-go)
|
||||
PROTOC_GEN_GO_GRPC := $(shell which protoc-gen-go-grpc)
|
||||
|
||||
# Archivos .proto
|
||||
PROTO_FILES := $(wildcard $(PROTO_DIR)/*.proto)
|
||||
|
||||
.PHONY: all proto build clean run-core run-admin run-monitor
|
||||
|
||||
all: proto build
|
||||
|
||||
## Compile todos los .proto a Go
|
||||
proto:
|
||||
@echo "🔧 Creating gRPC code from .proto..."
|
||||
@mkdir -p $(OUT_DIR)
|
||||
$(PROTOC) \
|
||||
--proto_path=$(PROTO_DIR) \
|
||||
--go_out=$(OUT_DIR) \
|
||||
--go-grpc_out=$(OUT_DIR) \
|
||||
$(PROTO_FILES)
|
||||
|
||||
## Build binario principal (solo CLI cobra, por ejemplo)
|
||||
build:
|
||||
@echo "🔨 Compiling main binary..."
|
||||
go build -o bin/procontel main.go
|
||||
|
||||
## Ejecutar servicios individuales
|
||||
run-core:
|
||||
go run main.go core
|
||||
|
||||
run-admin:
|
||||
go run main.go admin
|
||||
|
||||
run-monitor:
|
||||
go run main.go monitor
|
||||
|
||||
## Eliminar binarios y generación
|
||||
clean:
|
||||
@echo "🧹 Cleaning..."
|
||||
rm -rf bin/ $(OUT_DIR)
|
40
cmd/admin.go
Normal file
40
cmd/admin.go
Normal file
@ -0,0 +1,40 @@
|
||||
/*
|
||||
Copyright © 2025 NAME HERE <EMAIL ADDRESS>
|
||||
|
||||
*/
|
||||
package cmd
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
// adminCmd represents the admin command
|
||||
var adminCmd = &cobra.Command{
|
||||
Use: "admin",
|
||||
Short: "A brief description of your command",
|
||||
Long: `A longer description that spans multiple lines and likely contains examples
|
||||
and usage of using your command. For example:
|
||||
|
||||
Cobra is a CLI library for Go that empowers applications.
|
||||
This application is a tool to generate the needed files
|
||||
to quickly create a Cobra application.`,
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
fmt.Println("admin called")
|
||||
},
|
||||
}
|
||||
|
||||
func init() {
|
||||
rootCmd.AddCommand(adminCmd)
|
||||
|
||||
// Here you will define your flags and configuration settings.
|
||||
|
||||
// Cobra supports Persistent Flags which will work for this command
|
||||
// and all subcommands, e.g.:
|
||||
// adminCmd.PersistentFlags().String("foo", "", "A help for foo")
|
||||
|
||||
// Cobra supports local flags which will only run when this command
|
||||
// is called directly, e.g.:
|
||||
// adminCmd.Flags().BoolP("toggle", "t", false, "Help message for toggle")
|
||||
}
|
40
cmd/comunicator.go
Normal file
40
cmd/comunicator.go
Normal file
@ -0,0 +1,40 @@
|
||||
/*
|
||||
Copyright © 2025 NAME HERE <EMAIL ADDRESS>
|
||||
|
||||
*/
|
||||
package cmd
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
// comunicatorCmd represents the comunicator command
|
||||
var comunicatorCmd = &cobra.Command{
|
||||
Use: "comunicator",
|
||||
Short: "A brief description of your command",
|
||||
Long: `A longer description that spans multiple lines and likely contains examples
|
||||
and usage of using your command. For example:
|
||||
|
||||
Cobra is a CLI library for Go that empowers applications.
|
||||
This application is a tool to generate the needed files
|
||||
to quickly create a Cobra application.`,
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
fmt.Println("comunicator called")
|
||||
},
|
||||
}
|
||||
|
||||
func init() {
|
||||
rootCmd.AddCommand(comunicatorCmd)
|
||||
|
||||
// Here you will define your flags and configuration settings.
|
||||
|
||||
// Cobra supports Persistent Flags which will work for this command
|
||||
// and all subcommands, e.g.:
|
||||
// comunicatorCmd.PersistentFlags().String("foo", "", "A help for foo")
|
||||
|
||||
// Cobra supports local flags which will only run when this command
|
||||
// is called directly, e.g.:
|
||||
// comunicatorCmd.Flags().BoolP("toggle", "t", false, "Help message for toggle")
|
||||
}
|
40
cmd/core.go
Normal file
40
cmd/core.go
Normal file
@ -0,0 +1,40 @@
|
||||
/*
|
||||
Copyright © 2025 NAME HERE <EMAIL ADDRESS>
|
||||
|
||||
*/
|
||||
package cmd
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
// coreCmd represents the core command
|
||||
var coreCmd = &cobra.Command{
|
||||
Use: "core",
|
||||
Short: "A brief description of your command",
|
||||
Long: `A longer description that spans multiple lines and likely contains examples
|
||||
and usage of using your command. For example:
|
||||
|
||||
Cobra is a CLI library for Go that empowers applications.
|
||||
This application is a tool to generate the needed files
|
||||
to quickly create a Cobra application.`,
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
fmt.Println("core called")
|
||||
},
|
||||
}
|
||||
|
||||
func init() {
|
||||
rootCmd.AddCommand(coreCmd)
|
||||
|
||||
// Here you will define your flags and configuration settings.
|
||||
|
||||
// Cobra supports Persistent Flags which will work for this command
|
||||
// and all subcommands, e.g.:
|
||||
// coreCmd.PersistentFlags().String("foo", "", "A help for foo")
|
||||
|
||||
// Cobra supports local flags which will only run when this command
|
||||
// is called directly, e.g.:
|
||||
// coreCmd.Flags().BoolP("toggle", "t", false, "Help message for toggle")
|
||||
}
|
40
cmd/monitor.go
Normal file
40
cmd/monitor.go
Normal file
@ -0,0 +1,40 @@
|
||||
/*
|
||||
Copyright © 2025 NAME HERE <EMAIL ADDRESS>
|
||||
|
||||
*/
|
||||
package cmd
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
// monitorCmd represents the monitor command
|
||||
var monitorCmd = &cobra.Command{
|
||||
Use: "monitor",
|
||||
Short: "A brief description of your command",
|
||||
Long: `A longer description that spans multiple lines and likely contains examples
|
||||
and usage of using your command. For example:
|
||||
|
||||
Cobra is a CLI library for Go that empowers applications.
|
||||
This application is a tool to generate the needed files
|
||||
to quickly create a Cobra application.`,
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
fmt.Println("monitor called")
|
||||
},
|
||||
}
|
||||
|
||||
func init() {
|
||||
rootCmd.AddCommand(monitorCmd)
|
||||
|
||||
// Here you will define your flags and configuration settings.
|
||||
|
||||
// Cobra supports Persistent Flags which will work for this command
|
||||
// and all subcommands, e.g.:
|
||||
// monitorCmd.PersistentFlags().String("foo", "", "A help for foo")
|
||||
|
||||
// Cobra supports local flags which will only run when this command
|
||||
// is called directly, e.g.:
|
||||
// monitorCmd.Flags().BoolP("toggle", "t", false, "Help message for toggle")
|
||||
}
|
51
cmd/root.go
Normal file
51
cmd/root.go
Normal file
@ -0,0 +1,51 @@
|
||||
/*
|
||||
Copyright © 2025 NAME HERE <EMAIL ADDRESS>
|
||||
|
||||
*/
|
||||
package cmd
|
||||
|
||||
import (
|
||||
"os"
|
||||
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
|
||||
|
||||
// rootCmd represents the base command when called without any subcommands
|
||||
var rootCmd = &cobra.Command{
|
||||
Use: "go-telecom",
|
||||
Short: "A brief description of your application",
|
||||
Long: `A longer description that spans multiple lines and likely contains
|
||||
examples and usage of using your application. For example:
|
||||
|
||||
Cobra is a CLI library for Go that empowers applications.
|
||||
This application is a tool to generate the needed files
|
||||
to quickly create a Cobra application.`,
|
||||
// Uncomment the following line if your bare application
|
||||
// has an action associated with it:
|
||||
// Run: func(cmd *cobra.Command, args []string) { },
|
||||
}
|
||||
|
||||
// Execute adds all child commands to the root command and sets flags appropriately.
|
||||
// This is called by main.main(). It only needs to happen once to the rootCmd.
|
||||
func Execute() {
|
||||
err := rootCmd.Execute()
|
||||
if err != nil {
|
||||
os.Exit(1)
|
||||
}
|
||||
}
|
||||
|
||||
func init() {
|
||||
// Here you will define your flags and configuration settings.
|
||||
// Cobra supports persistent flags, which, if defined here,
|
||||
// will be global for your application.
|
||||
|
||||
// rootCmd.PersistentFlags().StringVar(&cfgFile, "config", "", "config file (default is $HOME/.go-telecom.yaml)")
|
||||
|
||||
// Cobra also supports local flags, which will only run
|
||||
// when this action is called directly.
|
||||
rootCmd.Flags().BoolP("toggle", "t", false, "Help message for toggle")
|
||||
}
|
||||
|
||||
|
10
go.mod
Normal file
10
go.mod
Normal file
@ -0,0 +1,10 @@
|
||||
module git.espin.casa/albert/go-telecom
|
||||
|
||||
go 1.24.1
|
||||
|
||||
require github.com/spf13/cobra v1.9.1
|
||||
|
||||
require (
|
||||
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
||||
github.com/spf13/pflag v1.0.6 // indirect
|
||||
)
|
10
go.sum
Normal file
10
go.sum
Normal file
@ -0,0 +1,10 @@
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
|
||||
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
|
||||
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
|
||||
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
||||
github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo=
|
||||
github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0=
|
||||
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
|
||||
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
@ -0,0 +1,197 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.36.6
|
||||
// protoc v5.29.3
|
||||
// source: adaptor.proto
|
||||
|
||||
package adaptor
|
||||
|
||||
import (
|
||||
common "git.espin.casa/albert/go-telecom/proto/common"
|
||||
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 DataMessage struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
Origin string `protobuf:"bytes,1,opt,name=origin,proto3" json:"origin,omitempty"`
|
||||
Payload []byte `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
|
||||
Timestamp int64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *DataMessage) Reset() {
|
||||
*x = DataMessage{}
|
||||
mi := &file_adaptor_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *DataMessage) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*DataMessage) ProtoMessage() {}
|
||||
|
||||
func (x *DataMessage) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_adaptor_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 DataMessage.ProtoReflect.Descriptor instead.
|
||||
func (*DataMessage) Descriptor() ([]byte, []int) {
|
||||
return file_adaptor_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *DataMessage) GetOrigin() string {
|
||||
if x != nil {
|
||||
return x.Origin
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *DataMessage) GetPayload() []byte {
|
||||
if x != nil {
|
||||
return x.Payload
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *DataMessage) GetTimestamp() int64 {
|
||||
if x != nil {
|
||||
return x.Timestamp
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type Ack struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
Received bool `protobuf:"varint,1,opt,name=received,proto3" json:"received,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *Ack) Reset() {
|
||||
*x = Ack{}
|
||||
mi := &file_adaptor_proto_msgTypes[1]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *Ack) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*Ack) ProtoMessage() {}
|
||||
|
||||
func (x *Ack) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_adaptor_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 Ack.ProtoReflect.Descriptor instead.
|
||||
func (*Ack) Descriptor() ([]byte, []int) {
|
||||
return file_adaptor_proto_rawDescGZIP(), []int{1}
|
||||
}
|
||||
|
||||
func (x *Ack) GetReceived() bool {
|
||||
if x != nil {
|
||||
return x.Received
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
var File_adaptor_proto protoreflect.FileDescriptor
|
||||
|
||||
const file_adaptor_proto_rawDesc = "" +
|
||||
"\n" +
|
||||
"\radaptor.proto\x12\aadapter\x1a\fcommon.proto\"]\n" +
|
||||
"\vDataMessage\x12\x16\n" +
|
||||
"\x06origin\x18\x01 \x01(\tR\x06origin\x12\x18\n" +
|
||||
"\apayload\x18\x02 \x01(\fR\apayload\x12\x1c\n" +
|
||||
"\ttimestamp\x18\x03 \x01(\x03R\ttimestamp\"!\n" +
|
||||
"\x03Ack\x12\x1a\n" +
|
||||
"\breceived\x18\x01 \x01(\bR\breceived2\x88\x01\n" +
|
||||
"\x0eAdapterService\x12F\n" +
|
||||
"\vHealthCheck\x12\x1a.common.HealthCheckRequest\x1a\x1b.common.HealthCheckResponse\x12.\n" +
|
||||
"\bSendData\x12\x14.adapter.DataMessage\x1a\f.adapter.AckB8Z6git.espin.casa/albert/go-telecom/proto/adaptor;adaptorb\x06proto3"
|
||||
|
||||
var (
|
||||
file_adaptor_proto_rawDescOnce sync.Once
|
||||
file_adaptor_proto_rawDescData []byte
|
||||
)
|
||||
|
||||
func file_adaptor_proto_rawDescGZIP() []byte {
|
||||
file_adaptor_proto_rawDescOnce.Do(func() {
|
||||
file_adaptor_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_adaptor_proto_rawDesc), len(file_adaptor_proto_rawDesc)))
|
||||
})
|
||||
return file_adaptor_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_adaptor_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
|
||||
var file_adaptor_proto_goTypes = []any{
|
||||
(*DataMessage)(nil), // 0: adapter.DataMessage
|
||||
(*Ack)(nil), // 1: adapter.Ack
|
||||
(*common.HealthCheckRequest)(nil), // 2: common.HealthCheckRequest
|
||||
(*common.HealthCheckResponse)(nil), // 3: common.HealthCheckResponse
|
||||
}
|
||||
var file_adaptor_proto_depIdxs = []int32{
|
||||
2, // 0: adapter.AdapterService.HealthCheck:input_type -> common.HealthCheckRequest
|
||||
0, // 1: adapter.AdapterService.SendData:input_type -> adapter.DataMessage
|
||||
3, // 2: adapter.AdapterService.HealthCheck:output_type -> common.HealthCheckResponse
|
||||
1, // 3: adapter.AdapterService.SendData:output_type -> adapter.Ack
|
||||
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_adaptor_proto_init() }
|
||||
func file_adaptor_proto_init() {
|
||||
if File_adaptor_proto != nil {
|
||||
return
|
||||
}
|
||||
type x struct{}
|
||||
out := protoimpl.TypeBuilder{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: unsafe.Slice(unsafe.StringData(file_adaptor_proto_rawDesc), len(file_adaptor_proto_rawDesc)),
|
||||
NumEnums: 0,
|
||||
NumMessages: 2,
|
||||
NumExtensions: 0,
|
||||
NumServices: 1,
|
||||
},
|
||||
GoTypes: file_adaptor_proto_goTypes,
|
||||
DependencyIndexes: file_adaptor_proto_depIdxs,
|
||||
MessageInfos: file_adaptor_proto_msgTypes,
|
||||
}.Build()
|
||||
File_adaptor_proto = out.File
|
||||
file_adaptor_proto_goTypes = nil
|
||||
file_adaptor_proto_depIdxs = nil
|
||||
}
|
@ -0,0 +1,160 @@
|
||||
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
|
||||
// versions:
|
||||
// - protoc-gen-go-grpc v1.5.1
|
||||
// - protoc v5.29.3
|
||||
// source: adaptor.proto
|
||||
|
||||
package adaptor
|
||||
|
||||
import (
|
||||
context "context"
|
||||
common "git.espin.casa/albert/go-telecom/proto/common"
|
||||
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 (
|
||||
AdapterService_HealthCheck_FullMethodName = "/adapter.AdapterService/HealthCheck"
|
||||
AdapterService_SendData_FullMethodName = "/adapter.AdapterService/SendData"
|
||||
)
|
||||
|
||||
// AdapterServiceClient is the client API for AdapterService 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 AdapterServiceClient interface {
|
||||
HealthCheck(ctx context.Context, in *common.HealthCheckRequest, opts ...grpc.CallOption) (*common.HealthCheckResponse, error)
|
||||
SendData(ctx context.Context, in *DataMessage, opts ...grpc.CallOption) (*Ack, error)
|
||||
}
|
||||
|
||||
type adapterServiceClient struct {
|
||||
cc grpc.ClientConnInterface
|
||||
}
|
||||
|
||||
func NewAdapterServiceClient(cc grpc.ClientConnInterface) AdapterServiceClient {
|
||||
return &adapterServiceClient{cc}
|
||||
}
|
||||
|
||||
func (c *adapterServiceClient) HealthCheck(ctx context.Context, in *common.HealthCheckRequest, opts ...grpc.CallOption) (*common.HealthCheckResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(common.HealthCheckResponse)
|
||||
err := c.cc.Invoke(ctx, AdapterService_HealthCheck_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *adapterServiceClient) SendData(ctx context.Context, in *DataMessage, opts ...grpc.CallOption) (*Ack, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(Ack)
|
||||
err := c.cc.Invoke(ctx, AdapterService_SendData_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
// AdapterServiceServer is the server API for AdapterService service.
|
||||
// All implementations must embed UnimplementedAdapterServiceServer
|
||||
// for forward compatibility.
|
||||
type AdapterServiceServer interface {
|
||||
HealthCheck(context.Context, *common.HealthCheckRequest) (*common.HealthCheckResponse, error)
|
||||
SendData(context.Context, *DataMessage) (*Ack, error)
|
||||
mustEmbedUnimplementedAdapterServiceServer()
|
||||
}
|
||||
|
||||
// UnimplementedAdapterServiceServer 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 UnimplementedAdapterServiceServer struct{}
|
||||
|
||||
func (UnimplementedAdapterServiceServer) HealthCheck(context.Context, *common.HealthCheckRequest) (*common.HealthCheckResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method HealthCheck not implemented")
|
||||
}
|
||||
func (UnimplementedAdapterServiceServer) SendData(context.Context, *DataMessage) (*Ack, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method SendData not implemented")
|
||||
}
|
||||
func (UnimplementedAdapterServiceServer) mustEmbedUnimplementedAdapterServiceServer() {}
|
||||
func (UnimplementedAdapterServiceServer) testEmbeddedByValue() {}
|
||||
|
||||
// UnsafeAdapterServiceServer may be embedded to opt out of forward compatibility for this service.
|
||||
// Use of this interface is not recommended, as added methods to AdapterServiceServer will
|
||||
// result in compilation errors.
|
||||
type UnsafeAdapterServiceServer interface {
|
||||
mustEmbedUnimplementedAdapterServiceServer()
|
||||
}
|
||||
|
||||
func RegisterAdapterServiceServer(s grpc.ServiceRegistrar, srv AdapterServiceServer) {
|
||||
// If the following call pancis, it indicates UnimplementedAdapterServiceServer 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(&AdapterService_ServiceDesc, srv)
|
||||
}
|
||||
|
||||
func _AdapterService_HealthCheck_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(common.HealthCheckRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(AdapterServiceServer).HealthCheck(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: AdapterService_HealthCheck_FullMethodName,
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(AdapterServiceServer).HealthCheck(ctx, req.(*common.HealthCheckRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _AdapterService_SendData_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(DataMessage)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(AdapterServiceServer).SendData(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: AdapterService_SendData_FullMethodName,
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(AdapterServiceServer).SendData(ctx, req.(*DataMessage))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
// AdapterService_ServiceDesc is the grpc.ServiceDesc for AdapterService service.
|
||||
// It's only intended for direct use with grpc.RegisterService,
|
||||
// and not to be introspected or modified (even as a copy)
|
||||
var AdapterService_ServiceDesc = grpc.ServiceDesc{
|
||||
ServiceName: "adapter.AdapterService",
|
||||
HandlerType: (*AdapterServiceServer)(nil),
|
||||
Methods: []grpc.MethodDesc{
|
||||
{
|
||||
MethodName: "HealthCheck",
|
||||
Handler: _AdapterService_HealthCheck_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "SendData",
|
||||
Handler: _AdapterService_SendData_Handler,
|
||||
},
|
||||
},
|
||||
Streams: []grpc.StreamDesc{},
|
||||
Metadata: "adaptor.proto",
|
||||
}
|
@ -0,0 +1,188 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.36.6
|
||||
// protoc v5.29.3
|
||||
// source: admin.proto
|
||||
|
||||
package admin
|
||||
|
||||
import (
|
||||
common "git.espin.casa/albert/go-telecom/proto/common"
|
||||
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 ConfigUpdateRequest struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
|
||||
Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *ConfigUpdateRequest) Reset() {
|
||||
*x = ConfigUpdateRequest{}
|
||||
mi := &file_admin_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *ConfigUpdateRequest) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*ConfigUpdateRequest) ProtoMessage() {}
|
||||
|
||||
func (x *ConfigUpdateRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_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 ConfigUpdateRequest.ProtoReflect.Descriptor instead.
|
||||
func (*ConfigUpdateRequest) Descriptor() ([]byte, []int) {
|
||||
return file_admin_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *ConfigUpdateRequest) GetKey() string {
|
||||
if x != nil {
|
||||
return x.Key
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *ConfigUpdateRequest) GetValue() string {
|
||||
if x != nil {
|
||||
return x.Value
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type ConfigUpdateResponse struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
Updated bool `protobuf:"varint,1,opt,name=updated,proto3" json:"updated,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *ConfigUpdateResponse) Reset() {
|
||||
*x = ConfigUpdateResponse{}
|
||||
mi := &file_admin_proto_msgTypes[1]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *ConfigUpdateResponse) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*ConfigUpdateResponse) ProtoMessage() {}
|
||||
|
||||
func (x *ConfigUpdateResponse) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_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 ConfigUpdateResponse.ProtoReflect.Descriptor instead.
|
||||
func (*ConfigUpdateResponse) Descriptor() ([]byte, []int) {
|
||||
return file_admin_proto_rawDescGZIP(), []int{1}
|
||||
}
|
||||
|
||||
func (x *ConfigUpdateResponse) GetUpdated() bool {
|
||||
if x != nil {
|
||||
return x.Updated
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
var File_admin_proto protoreflect.FileDescriptor
|
||||
|
||||
const file_admin_proto_rawDesc = "" +
|
||||
"\n" +
|
||||
"\vadmin.proto\x12\x05admin\x1a\fcommon.proto\"=\n" +
|
||||
"\x13ConfigUpdateRequest\x12\x10\n" +
|
||||
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
|
||||
"\x05value\x18\x02 \x01(\tR\x05value\"0\n" +
|
||||
"\x14ConfigUpdateResponse\x12\x18\n" +
|
||||
"\aupdated\x18\x01 \x01(\bR\aupdated2\x9f\x01\n" +
|
||||
"\fAdminService\x12F\n" +
|
||||
"\vHealthCheck\x12\x1a.common.HealthCheckRequest\x1a\x1b.common.HealthCheckResponse\x12G\n" +
|
||||
"\fUpdateConfig\x12\x1a.admin.ConfigUpdateRequest\x1a\x1b.admin.ConfigUpdateResponseB4Z2git.espin.casa/albert/go-telecom/proto/admin;adminb\x06proto3"
|
||||
|
||||
var (
|
||||
file_admin_proto_rawDescOnce sync.Once
|
||||
file_admin_proto_rawDescData []byte
|
||||
)
|
||||
|
||||
func file_admin_proto_rawDescGZIP() []byte {
|
||||
file_admin_proto_rawDescOnce.Do(func() {
|
||||
file_admin_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_admin_proto_rawDesc), len(file_admin_proto_rawDesc)))
|
||||
})
|
||||
return file_admin_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_admin_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
|
||||
var file_admin_proto_goTypes = []any{
|
||||
(*ConfigUpdateRequest)(nil), // 0: admin.ConfigUpdateRequest
|
||||
(*ConfigUpdateResponse)(nil), // 1: admin.ConfigUpdateResponse
|
||||
(*common.HealthCheckRequest)(nil), // 2: common.HealthCheckRequest
|
||||
(*common.HealthCheckResponse)(nil), // 3: common.HealthCheckResponse
|
||||
}
|
||||
var file_admin_proto_depIdxs = []int32{
|
||||
2, // 0: admin.AdminService.HealthCheck:input_type -> common.HealthCheckRequest
|
||||
0, // 1: admin.AdminService.UpdateConfig:input_type -> admin.ConfigUpdateRequest
|
||||
3, // 2: admin.AdminService.HealthCheck:output_type -> common.HealthCheckResponse
|
||||
1, // 3: admin.AdminService.UpdateConfig:output_type -> admin.ConfigUpdateResponse
|
||||
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_admin_proto_init() }
|
||||
func file_admin_proto_init() {
|
||||
if File_admin_proto != nil {
|
||||
return
|
||||
}
|
||||
type x struct{}
|
||||
out := protoimpl.TypeBuilder{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: unsafe.Slice(unsafe.StringData(file_admin_proto_rawDesc), len(file_admin_proto_rawDesc)),
|
||||
NumEnums: 0,
|
||||
NumMessages: 2,
|
||||
NumExtensions: 0,
|
||||
NumServices: 1,
|
||||
},
|
||||
GoTypes: file_admin_proto_goTypes,
|
||||
DependencyIndexes: file_admin_proto_depIdxs,
|
||||
MessageInfos: file_admin_proto_msgTypes,
|
||||
}.Build()
|
||||
File_admin_proto = out.File
|
||||
file_admin_proto_goTypes = nil
|
||||
file_admin_proto_depIdxs = nil
|
||||
}
|
@ -0,0 +1,160 @@
|
||||
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
|
||||
// versions:
|
||||
// - protoc-gen-go-grpc v1.5.1
|
||||
// - protoc v5.29.3
|
||||
// source: admin.proto
|
||||
|
||||
package admin
|
||||
|
||||
import (
|
||||
context "context"
|
||||
common "git.espin.casa/albert/go-telecom/proto/common"
|
||||
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_HealthCheck_FullMethodName = "/admin.AdminService/HealthCheck"
|
||||
AdminService_UpdateConfig_FullMethodName = "/admin.AdminService/UpdateConfig"
|
||||
)
|
||||
|
||||
// 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 {
|
||||
HealthCheck(ctx context.Context, in *common.HealthCheckRequest, opts ...grpc.CallOption) (*common.HealthCheckResponse, error)
|
||||
UpdateConfig(ctx context.Context, in *ConfigUpdateRequest, opts ...grpc.CallOption) (*ConfigUpdateResponse, error)
|
||||
}
|
||||
|
||||
type adminServiceClient struct {
|
||||
cc grpc.ClientConnInterface
|
||||
}
|
||||
|
||||
func NewAdminServiceClient(cc grpc.ClientConnInterface) AdminServiceClient {
|
||||
return &adminServiceClient{cc}
|
||||
}
|
||||
|
||||
func (c *adminServiceClient) HealthCheck(ctx context.Context, in *common.HealthCheckRequest, opts ...grpc.CallOption) (*common.HealthCheckResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(common.HealthCheckResponse)
|
||||
err := c.cc.Invoke(ctx, AdminService_HealthCheck_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *adminServiceClient) UpdateConfig(ctx context.Context, in *ConfigUpdateRequest, opts ...grpc.CallOption) (*ConfigUpdateResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(ConfigUpdateResponse)
|
||||
err := c.cc.Invoke(ctx, AdminService_UpdateConfig_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 {
|
||||
HealthCheck(context.Context, *common.HealthCheckRequest) (*common.HealthCheckResponse, error)
|
||||
UpdateConfig(context.Context, *ConfigUpdateRequest) (*ConfigUpdateResponse, 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) HealthCheck(context.Context, *common.HealthCheckRequest) (*common.HealthCheckResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method HealthCheck not implemented")
|
||||
}
|
||||
func (UnimplementedAdminServiceServer) UpdateConfig(context.Context, *ConfigUpdateRequest) (*ConfigUpdateResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method UpdateConfig 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 pancis, 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_HealthCheck_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(common.HealthCheckRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(AdminServiceServer).HealthCheck(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: AdminService_HealthCheck_FullMethodName,
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(AdminServiceServer).HealthCheck(ctx, req.(*common.HealthCheckRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _AdminService_UpdateConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(ConfigUpdateRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(AdminServiceServer).UpdateConfig(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: AdminService_UpdateConfig_FullMethodName,
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(AdminServiceServer).UpdateConfig(ctx, req.(*ConfigUpdateRequest))
|
||||
}
|
||||
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: "admin.AdminService",
|
||||
HandlerType: (*AdminServiceServer)(nil),
|
||||
Methods: []grpc.MethodDesc{
|
||||
{
|
||||
MethodName: "HealthCheck",
|
||||
Handler: _AdminService_HealthCheck_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "UpdateConfig",
|
||||
Handler: _AdminService_UpdateConfig_Handler,
|
||||
},
|
||||
},
|
||||
Streams: []grpc.StreamDesc{},
|
||||
Metadata: "admin.proto",
|
||||
}
|
@ -0,0 +1,160 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.36.6
|
||||
// protoc v5.29.3
|
||||
// source: common.proto
|
||||
|
||||
package common
|
||||
|
||||
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 HealthCheckRequest struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *HealthCheckRequest) Reset() {
|
||||
*x = HealthCheckRequest{}
|
||||
mi := &file_common_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *HealthCheckRequest) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*HealthCheckRequest) ProtoMessage() {}
|
||||
|
||||
func (x *HealthCheckRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_common_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 HealthCheckRequest.ProtoReflect.Descriptor instead.
|
||||
func (*HealthCheckRequest) Descriptor() ([]byte, []int) {
|
||||
return file_common_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
type HealthCheckResponse 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 *HealthCheckResponse) Reset() {
|
||||
*x = HealthCheckResponse{}
|
||||
mi := &file_common_proto_msgTypes[1]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *HealthCheckResponse) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*HealthCheckResponse) ProtoMessage() {}
|
||||
|
||||
func (x *HealthCheckResponse) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_common_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 HealthCheckResponse.ProtoReflect.Descriptor instead.
|
||||
func (*HealthCheckResponse) Descriptor() ([]byte, []int) {
|
||||
return file_common_proto_rawDescGZIP(), []int{1}
|
||||
}
|
||||
|
||||
func (x *HealthCheckResponse) GetStatus() string {
|
||||
if x != nil {
|
||||
return x.Status
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
var File_common_proto protoreflect.FileDescriptor
|
||||
|
||||
const file_common_proto_rawDesc = "" +
|
||||
"\n" +
|
||||
"\fcommon.proto\x12\x06common\"\x14\n" +
|
||||
"\x12HealthCheckRequest\"-\n" +
|
||||
"\x13HealthCheckResponse\x12\x16\n" +
|
||||
"\x06status\x18\x01 \x01(\tR\x06statusB6Z4git.espin.casa/albert/go-telecom/proto/common;commonb\x06proto3"
|
||||
|
||||
var (
|
||||
file_common_proto_rawDescOnce sync.Once
|
||||
file_common_proto_rawDescData []byte
|
||||
)
|
||||
|
||||
func file_common_proto_rawDescGZIP() []byte {
|
||||
file_common_proto_rawDescOnce.Do(func() {
|
||||
file_common_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_common_proto_rawDesc), len(file_common_proto_rawDesc)))
|
||||
})
|
||||
return file_common_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_common_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
|
||||
var file_common_proto_goTypes = []any{
|
||||
(*HealthCheckRequest)(nil), // 0: common.HealthCheckRequest
|
||||
(*HealthCheckResponse)(nil), // 1: common.HealthCheckResponse
|
||||
}
|
||||
var file_common_proto_depIdxs = []int32{
|
||||
0, // [0:0] is the sub-list for method output_type
|
||||
0, // [0:0] 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_common_proto_init() }
|
||||
func file_common_proto_init() {
|
||||
if File_common_proto != nil {
|
||||
return
|
||||
}
|
||||
type x struct{}
|
||||
out := protoimpl.TypeBuilder{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: unsafe.Slice(unsafe.StringData(file_common_proto_rawDesc), len(file_common_proto_rawDesc)),
|
||||
NumEnums: 0,
|
||||
NumMessages: 2,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
GoTypes: file_common_proto_goTypes,
|
||||
DependencyIndexes: file_common_proto_depIdxs,
|
||||
MessageInfos: file_common_proto_msgTypes,
|
||||
}.Build()
|
||||
File_common_proto = out.File
|
||||
file_common_proto_goTypes = nil
|
||||
file_common_proto_depIdxs = nil
|
||||
}
|
@ -0,0 +1,189 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.36.6
|
||||
// protoc v5.29.3
|
||||
// source: core.proto
|
||||
|
||||
package core
|
||||
|
||||
import (
|
||||
common "git.espin.casa/albert/go-telecom/proto/common"
|
||||
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 StartRequest struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
ProcessName string `protobuf:"bytes,1,opt,name=process_name,json=processName,proto3" json:"process_name,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *StartRequest) Reset() {
|
||||
*x = StartRequest{}
|
||||
mi := &file_core_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *StartRequest) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*StartRequest) ProtoMessage() {}
|
||||
|
||||
func (x *StartRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_core_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 StartRequest.ProtoReflect.Descriptor instead.
|
||||
func (*StartRequest) Descriptor() ([]byte, []int) {
|
||||
return file_core_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *StartRequest) GetProcessName() string {
|
||||
if x != nil {
|
||||
return x.ProcessName
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type StartResponse struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
|
||||
Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *StartResponse) Reset() {
|
||||
*x = StartResponse{}
|
||||
mi := &file_core_proto_msgTypes[1]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *StartResponse) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*StartResponse) ProtoMessage() {}
|
||||
|
||||
func (x *StartResponse) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_core_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 StartResponse.ProtoReflect.Descriptor instead.
|
||||
func (*StartResponse) Descriptor() ([]byte, []int) {
|
||||
return file_core_proto_rawDescGZIP(), []int{1}
|
||||
}
|
||||
|
||||
func (x *StartResponse) GetSuccess() bool {
|
||||
if x != nil {
|
||||
return x.Success
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func (x *StartResponse) GetMessage() string {
|
||||
if x != nil {
|
||||
return x.Message
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
var File_core_proto protoreflect.FileDescriptor
|
||||
|
||||
const file_core_proto_rawDesc = "" +
|
||||
"\n" +
|
||||
"\n" +
|
||||
"core.proto\x12\x04core\x1a\fcommon.proto\"1\n" +
|
||||
"\fStartRequest\x12!\n" +
|
||||
"\fprocess_name\x18\x01 \x01(\tR\vprocessName\"C\n" +
|
||||
"\rStartResponse\x12\x18\n" +
|
||||
"\asuccess\x18\x01 \x01(\bR\asuccess\x12\x18\n" +
|
||||
"\amessage\x18\x02 \x01(\tR\amessage2\x8e\x01\n" +
|
||||
"\vCoreService\x12F\n" +
|
||||
"\vHealthCheck\x12\x1a.common.HealthCheckRequest\x1a\x1b.common.HealthCheckResponse\x127\n" +
|
||||
"\fStartProcess\x12\x12.core.StartRequest\x1a\x13.core.StartResponseB2Z0git.espin.casa/albert/go-telecom/proto/core;coreb\x06proto3"
|
||||
|
||||
var (
|
||||
file_core_proto_rawDescOnce sync.Once
|
||||
file_core_proto_rawDescData []byte
|
||||
)
|
||||
|
||||
func file_core_proto_rawDescGZIP() []byte {
|
||||
file_core_proto_rawDescOnce.Do(func() {
|
||||
file_core_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_core_proto_rawDesc), len(file_core_proto_rawDesc)))
|
||||
})
|
||||
return file_core_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_core_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
|
||||
var file_core_proto_goTypes = []any{
|
||||
(*StartRequest)(nil), // 0: core.StartRequest
|
||||
(*StartResponse)(nil), // 1: core.StartResponse
|
||||
(*common.HealthCheckRequest)(nil), // 2: common.HealthCheckRequest
|
||||
(*common.HealthCheckResponse)(nil), // 3: common.HealthCheckResponse
|
||||
}
|
||||
var file_core_proto_depIdxs = []int32{
|
||||
2, // 0: core.CoreService.HealthCheck:input_type -> common.HealthCheckRequest
|
||||
0, // 1: core.CoreService.StartProcess:input_type -> core.StartRequest
|
||||
3, // 2: core.CoreService.HealthCheck:output_type -> common.HealthCheckResponse
|
||||
1, // 3: core.CoreService.StartProcess:output_type -> core.StartResponse
|
||||
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_core_proto_init() }
|
||||
func file_core_proto_init() {
|
||||
if File_core_proto != nil {
|
||||
return
|
||||
}
|
||||
type x struct{}
|
||||
out := protoimpl.TypeBuilder{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: unsafe.Slice(unsafe.StringData(file_core_proto_rawDesc), len(file_core_proto_rawDesc)),
|
||||
NumEnums: 0,
|
||||
NumMessages: 2,
|
||||
NumExtensions: 0,
|
||||
NumServices: 1,
|
||||
},
|
||||
GoTypes: file_core_proto_goTypes,
|
||||
DependencyIndexes: file_core_proto_depIdxs,
|
||||
MessageInfos: file_core_proto_msgTypes,
|
||||
}.Build()
|
||||
File_core_proto = out.File
|
||||
file_core_proto_goTypes = nil
|
||||
file_core_proto_depIdxs = nil
|
||||
}
|
@ -0,0 +1,160 @@
|
||||
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
|
||||
// versions:
|
||||
// - protoc-gen-go-grpc v1.5.1
|
||||
// - protoc v5.29.3
|
||||
// source: core.proto
|
||||
|
||||
package core
|
||||
|
||||
import (
|
||||
context "context"
|
||||
common "git.espin.casa/albert/go-telecom/proto/common"
|
||||
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 (
|
||||
CoreService_HealthCheck_FullMethodName = "/core.CoreService/HealthCheck"
|
||||
CoreService_StartProcess_FullMethodName = "/core.CoreService/StartProcess"
|
||||
)
|
||||
|
||||
// CoreServiceClient is the client API for CoreService 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 CoreServiceClient interface {
|
||||
HealthCheck(ctx context.Context, in *common.HealthCheckRequest, opts ...grpc.CallOption) (*common.HealthCheckResponse, error)
|
||||
StartProcess(ctx context.Context, in *StartRequest, opts ...grpc.CallOption) (*StartResponse, error)
|
||||
}
|
||||
|
||||
type coreServiceClient struct {
|
||||
cc grpc.ClientConnInterface
|
||||
}
|
||||
|
||||
func NewCoreServiceClient(cc grpc.ClientConnInterface) CoreServiceClient {
|
||||
return &coreServiceClient{cc}
|
||||
}
|
||||
|
||||
func (c *coreServiceClient) HealthCheck(ctx context.Context, in *common.HealthCheckRequest, opts ...grpc.CallOption) (*common.HealthCheckResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(common.HealthCheckResponse)
|
||||
err := c.cc.Invoke(ctx, CoreService_HealthCheck_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *coreServiceClient) StartProcess(ctx context.Context, in *StartRequest, opts ...grpc.CallOption) (*StartResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(StartResponse)
|
||||
err := c.cc.Invoke(ctx, CoreService_StartProcess_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
// CoreServiceServer is the server API for CoreService service.
|
||||
// All implementations must embed UnimplementedCoreServiceServer
|
||||
// for forward compatibility.
|
||||
type CoreServiceServer interface {
|
||||
HealthCheck(context.Context, *common.HealthCheckRequest) (*common.HealthCheckResponse, error)
|
||||
StartProcess(context.Context, *StartRequest) (*StartResponse, error)
|
||||
mustEmbedUnimplementedCoreServiceServer()
|
||||
}
|
||||
|
||||
// UnimplementedCoreServiceServer 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 UnimplementedCoreServiceServer struct{}
|
||||
|
||||
func (UnimplementedCoreServiceServer) HealthCheck(context.Context, *common.HealthCheckRequest) (*common.HealthCheckResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method HealthCheck not implemented")
|
||||
}
|
||||
func (UnimplementedCoreServiceServer) StartProcess(context.Context, *StartRequest) (*StartResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method StartProcess not implemented")
|
||||
}
|
||||
func (UnimplementedCoreServiceServer) mustEmbedUnimplementedCoreServiceServer() {}
|
||||
func (UnimplementedCoreServiceServer) testEmbeddedByValue() {}
|
||||
|
||||
// UnsafeCoreServiceServer may be embedded to opt out of forward compatibility for this service.
|
||||
// Use of this interface is not recommended, as added methods to CoreServiceServer will
|
||||
// result in compilation errors.
|
||||
type UnsafeCoreServiceServer interface {
|
||||
mustEmbedUnimplementedCoreServiceServer()
|
||||
}
|
||||
|
||||
func RegisterCoreServiceServer(s grpc.ServiceRegistrar, srv CoreServiceServer) {
|
||||
// If the following call pancis, it indicates UnimplementedCoreServiceServer 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(&CoreService_ServiceDesc, srv)
|
||||
}
|
||||
|
||||
func _CoreService_HealthCheck_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(common.HealthCheckRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(CoreServiceServer).HealthCheck(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: CoreService_HealthCheck_FullMethodName,
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(CoreServiceServer).HealthCheck(ctx, req.(*common.HealthCheckRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _CoreService_StartProcess_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(StartRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(CoreServiceServer).StartProcess(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: CoreService_StartProcess_FullMethodName,
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(CoreServiceServer).StartProcess(ctx, req.(*StartRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
// CoreService_ServiceDesc is the grpc.ServiceDesc for CoreService service.
|
||||
// It's only intended for direct use with grpc.RegisterService,
|
||||
// and not to be introspected or modified (even as a copy)
|
||||
var CoreService_ServiceDesc = grpc.ServiceDesc{
|
||||
ServiceName: "core.CoreService",
|
||||
HandlerType: (*CoreServiceServer)(nil),
|
||||
Methods: []grpc.MethodDesc{
|
||||
{
|
||||
MethodName: "HealthCheck",
|
||||
Handler: _CoreService_HealthCheck_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "StartProcess",
|
||||
Handler: _CoreService_StartProcess_Handler,
|
||||
},
|
||||
},
|
||||
Streams: []grpc.StreamDesc{},
|
||||
Metadata: "core.proto",
|
||||
}
|
@ -0,0 +1,206 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.36.6
|
||||
// protoc v5.29.3
|
||||
// source: monitor.proto
|
||||
|
||||
package monitor
|
||||
|
||||
import (
|
||||
common "git.espin.casa/albert/go-telecom/proto/common"
|
||||
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 LogEntry struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
Service string `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"`
|
||||
Level string `protobuf:"bytes,2,opt,name=level,proto3" json:"level,omitempty"`
|
||||
Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"`
|
||||
Timestamp int64 `protobuf:"varint,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *LogEntry) Reset() {
|
||||
*x = LogEntry{}
|
||||
mi := &file_monitor_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *LogEntry) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*LogEntry) ProtoMessage() {}
|
||||
|
||||
func (x *LogEntry) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_monitor_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 LogEntry.ProtoReflect.Descriptor instead.
|
||||
func (*LogEntry) Descriptor() ([]byte, []int) {
|
||||
return file_monitor_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *LogEntry) GetService() string {
|
||||
if x != nil {
|
||||
return x.Service
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *LogEntry) GetLevel() string {
|
||||
if x != nil {
|
||||
return x.Level
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *LogEntry) GetMessage() string {
|
||||
if x != nil {
|
||||
return x.Message
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *LogEntry) GetTimestamp() int64 {
|
||||
if x != nil {
|
||||
return x.Timestamp
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type LogAck struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
Received bool `protobuf:"varint,1,opt,name=received,proto3" json:"received,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *LogAck) Reset() {
|
||||
*x = LogAck{}
|
||||
mi := &file_monitor_proto_msgTypes[1]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *LogAck) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*LogAck) ProtoMessage() {}
|
||||
|
||||
func (x *LogAck) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_monitor_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 LogAck.ProtoReflect.Descriptor instead.
|
||||
func (*LogAck) Descriptor() ([]byte, []int) {
|
||||
return file_monitor_proto_rawDescGZIP(), []int{1}
|
||||
}
|
||||
|
||||
func (x *LogAck) GetReceived() bool {
|
||||
if x != nil {
|
||||
return x.Received
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
var File_monitor_proto protoreflect.FileDescriptor
|
||||
|
||||
const file_monitor_proto_rawDesc = "" +
|
||||
"\n" +
|
||||
"\rmonitor.proto\x12\amonitor\x1a\fcommon.proto\"r\n" +
|
||||
"\bLogEntry\x12\x18\n" +
|
||||
"\aservice\x18\x01 \x01(\tR\aservice\x12\x14\n" +
|
||||
"\x05level\x18\x02 \x01(\tR\x05level\x12\x18\n" +
|
||||
"\amessage\x18\x03 \x01(\tR\amessage\x12\x1c\n" +
|
||||
"\ttimestamp\x18\x04 \x01(\x03R\ttimestamp\"$\n" +
|
||||
"\x06LogAck\x12\x1a\n" +
|
||||
"\breceived\x18\x01 \x01(\bR\breceived2\x87\x01\n" +
|
||||
"\x0eMonitorService\x12F\n" +
|
||||
"\vHealthCheck\x12\x1a.common.HealthCheckRequest\x1a\x1b.common.HealthCheckResponse\x12-\n" +
|
||||
"\aSendLog\x12\x11.monitor.LogEntry\x1a\x0f.monitor.LogAckB8Z6git.espin.casa/albert/go-telecom/proto/monitor;monitorb\x06proto3"
|
||||
|
||||
var (
|
||||
file_monitor_proto_rawDescOnce sync.Once
|
||||
file_monitor_proto_rawDescData []byte
|
||||
)
|
||||
|
||||
func file_monitor_proto_rawDescGZIP() []byte {
|
||||
file_monitor_proto_rawDescOnce.Do(func() {
|
||||
file_monitor_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_monitor_proto_rawDesc), len(file_monitor_proto_rawDesc)))
|
||||
})
|
||||
return file_monitor_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_monitor_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
|
||||
var file_monitor_proto_goTypes = []any{
|
||||
(*LogEntry)(nil), // 0: monitor.LogEntry
|
||||
(*LogAck)(nil), // 1: monitor.LogAck
|
||||
(*common.HealthCheckRequest)(nil), // 2: common.HealthCheckRequest
|
||||
(*common.HealthCheckResponse)(nil), // 3: common.HealthCheckResponse
|
||||
}
|
||||
var file_monitor_proto_depIdxs = []int32{
|
||||
2, // 0: monitor.MonitorService.HealthCheck:input_type -> common.HealthCheckRequest
|
||||
0, // 1: monitor.MonitorService.SendLog:input_type -> monitor.LogEntry
|
||||
3, // 2: monitor.MonitorService.HealthCheck:output_type -> common.HealthCheckResponse
|
||||
1, // 3: monitor.MonitorService.SendLog:output_type -> monitor.LogAck
|
||||
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_monitor_proto_init() }
|
||||
func file_monitor_proto_init() {
|
||||
if File_monitor_proto != nil {
|
||||
return
|
||||
}
|
||||
type x struct{}
|
||||
out := protoimpl.TypeBuilder{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: unsafe.Slice(unsafe.StringData(file_monitor_proto_rawDesc), len(file_monitor_proto_rawDesc)),
|
||||
NumEnums: 0,
|
||||
NumMessages: 2,
|
||||
NumExtensions: 0,
|
||||
NumServices: 1,
|
||||
},
|
||||
GoTypes: file_monitor_proto_goTypes,
|
||||
DependencyIndexes: file_monitor_proto_depIdxs,
|
||||
MessageInfos: file_monitor_proto_msgTypes,
|
||||
}.Build()
|
||||
File_monitor_proto = out.File
|
||||
file_monitor_proto_goTypes = nil
|
||||
file_monitor_proto_depIdxs = nil
|
||||
}
|
@ -0,0 +1,160 @@
|
||||
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
|
||||
// versions:
|
||||
// - protoc-gen-go-grpc v1.5.1
|
||||
// - protoc v5.29.3
|
||||
// source: monitor.proto
|
||||
|
||||
package monitor
|
||||
|
||||
import (
|
||||
context "context"
|
||||
common "git.espin.casa/albert/go-telecom/proto/common"
|
||||
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 (
|
||||
MonitorService_HealthCheck_FullMethodName = "/monitor.MonitorService/HealthCheck"
|
||||
MonitorService_SendLog_FullMethodName = "/monitor.MonitorService/SendLog"
|
||||
)
|
||||
|
||||
// MonitorServiceClient is the client API for MonitorService 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 MonitorServiceClient interface {
|
||||
HealthCheck(ctx context.Context, in *common.HealthCheckRequest, opts ...grpc.CallOption) (*common.HealthCheckResponse, error)
|
||||
SendLog(ctx context.Context, in *LogEntry, opts ...grpc.CallOption) (*LogAck, error)
|
||||
}
|
||||
|
||||
type monitorServiceClient struct {
|
||||
cc grpc.ClientConnInterface
|
||||
}
|
||||
|
||||
func NewMonitorServiceClient(cc grpc.ClientConnInterface) MonitorServiceClient {
|
||||
return &monitorServiceClient{cc}
|
||||
}
|
||||
|
||||
func (c *monitorServiceClient) HealthCheck(ctx context.Context, in *common.HealthCheckRequest, opts ...grpc.CallOption) (*common.HealthCheckResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(common.HealthCheckResponse)
|
||||
err := c.cc.Invoke(ctx, MonitorService_HealthCheck_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *monitorServiceClient) SendLog(ctx context.Context, in *LogEntry, opts ...grpc.CallOption) (*LogAck, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(LogAck)
|
||||
err := c.cc.Invoke(ctx, MonitorService_SendLog_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
// MonitorServiceServer is the server API for MonitorService service.
|
||||
// All implementations must embed UnimplementedMonitorServiceServer
|
||||
// for forward compatibility.
|
||||
type MonitorServiceServer interface {
|
||||
HealthCheck(context.Context, *common.HealthCheckRequest) (*common.HealthCheckResponse, error)
|
||||
SendLog(context.Context, *LogEntry) (*LogAck, error)
|
||||
mustEmbedUnimplementedMonitorServiceServer()
|
||||
}
|
||||
|
||||
// UnimplementedMonitorServiceServer 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 UnimplementedMonitorServiceServer struct{}
|
||||
|
||||
func (UnimplementedMonitorServiceServer) HealthCheck(context.Context, *common.HealthCheckRequest) (*common.HealthCheckResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method HealthCheck not implemented")
|
||||
}
|
||||
func (UnimplementedMonitorServiceServer) SendLog(context.Context, *LogEntry) (*LogAck, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method SendLog not implemented")
|
||||
}
|
||||
func (UnimplementedMonitorServiceServer) mustEmbedUnimplementedMonitorServiceServer() {}
|
||||
func (UnimplementedMonitorServiceServer) testEmbeddedByValue() {}
|
||||
|
||||
// UnsafeMonitorServiceServer may be embedded to opt out of forward compatibility for this service.
|
||||
// Use of this interface is not recommended, as added methods to MonitorServiceServer will
|
||||
// result in compilation errors.
|
||||
type UnsafeMonitorServiceServer interface {
|
||||
mustEmbedUnimplementedMonitorServiceServer()
|
||||
}
|
||||
|
||||
func RegisterMonitorServiceServer(s grpc.ServiceRegistrar, srv MonitorServiceServer) {
|
||||
// If the following call pancis, it indicates UnimplementedMonitorServiceServer 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(&MonitorService_ServiceDesc, srv)
|
||||
}
|
||||
|
||||
func _MonitorService_HealthCheck_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(common.HealthCheckRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(MonitorServiceServer).HealthCheck(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: MonitorService_HealthCheck_FullMethodName,
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(MonitorServiceServer).HealthCheck(ctx, req.(*common.HealthCheckRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _MonitorService_SendLog_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(LogEntry)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(MonitorServiceServer).SendLog(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: MonitorService_SendLog_FullMethodName,
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(MonitorServiceServer).SendLog(ctx, req.(*LogEntry))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
// MonitorService_ServiceDesc is the grpc.ServiceDesc for MonitorService service.
|
||||
// It's only intended for direct use with grpc.RegisterService,
|
||||
// and not to be introspected or modified (even as a copy)
|
||||
var MonitorService_ServiceDesc = grpc.ServiceDesc{
|
||||
ServiceName: "monitor.MonitorService",
|
||||
HandlerType: (*MonitorServiceServer)(nil),
|
||||
Methods: []grpc.MethodDesc{
|
||||
{
|
||||
MethodName: "HealthCheck",
|
||||
Handler: _MonitorService_HealthCheck_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "SendLog",
|
||||
Handler: _MonitorService_SendLog_Handler,
|
||||
},
|
||||
},
|
||||
Streams: []grpc.StreamDesc{},
|
||||
Metadata: "monitor.proto",
|
||||
}
|
11
main.go
Normal file
11
main.go
Normal file
@ -0,0 +1,11 @@
|
||||
/*
|
||||
Copyright © 2025 NAME HERE <EMAIL ADDRESS>
|
||||
|
||||
*/
|
||||
package main
|
||||
|
||||
import "git.espin.casa/albert/go-telecom/cmd"
|
||||
|
||||
func main() {
|
||||
cmd.Execute()
|
||||
}
|
23
proto/adaptor.proto
Normal file
23
proto/adaptor.proto
Normal file
@ -0,0 +1,23 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package adapter;
|
||||
|
||||
import "common.proto";
|
||||
|
||||
option go_package = "git.espin.casa/albert/go-telecom/proto/adaptor;adaptor";
|
||||
|
||||
|
||||
service AdapterService {
|
||||
rpc HealthCheck(common.HealthCheckRequest) returns (common.HealthCheckResponse);
|
||||
rpc SendData(DataMessage) returns (Ack);
|
||||
}
|
||||
|
||||
message DataMessage {
|
||||
string origin = 1;
|
||||
bytes payload = 2;
|
||||
int64 timestamp = 3;
|
||||
}
|
||||
|
||||
message Ack {
|
||||
bool received = 1;
|
||||
}
|
22
proto/admin.proto
Normal file
22
proto/admin.proto
Normal file
@ -0,0 +1,22 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package admin;
|
||||
|
||||
import "common.proto";
|
||||
|
||||
option go_package = "git.espin.casa/albert/go-telecom/proto/admin;admin";
|
||||
|
||||
|
||||
service AdminService {
|
||||
rpc HealthCheck(common.HealthCheckRequest) returns (common.HealthCheckResponse);
|
||||
rpc UpdateConfig(ConfigUpdateRequest) returns (ConfigUpdateResponse);
|
||||
}
|
||||
|
||||
message ConfigUpdateRequest {
|
||||
string key = 1;
|
||||
string value = 2;
|
||||
}
|
||||
|
||||
message ConfigUpdateResponse {
|
||||
bool updated = 1;
|
||||
}
|
9
proto/common.proto
Normal file
9
proto/common.proto
Normal file
@ -0,0 +1,9 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package common;
|
||||
option go_package = "git.espin.casa/albert/go-telecom/proto/common;common";
|
||||
|
||||
message HealthCheckRequest {}
|
||||
message HealthCheckResponse {
|
||||
string status = 1;
|
||||
}
|
22
proto/core.proto
Normal file
22
proto/core.proto
Normal file
@ -0,0 +1,22 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package core;
|
||||
|
||||
import "common.proto";
|
||||
|
||||
option go_package = "git.espin.casa/albert/go-telecom/proto/core;core";
|
||||
|
||||
service CoreService {
|
||||
rpc HealthCheck(common.HealthCheckRequest) returns (common.HealthCheckResponse);
|
||||
rpc StartProcess(StartRequest) returns (StartResponse);
|
||||
}
|
||||
|
||||
message StartRequest {
|
||||
string process_name = 1;
|
||||
}
|
||||
|
||||
message StartResponse {
|
||||
bool success = 1;
|
||||
string message = 2;
|
||||
}
|
||||
|
24
proto/monitor.proto
Normal file
24
proto/monitor.proto
Normal file
@ -0,0 +1,24 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package monitor;
|
||||
|
||||
import "common.proto";
|
||||
|
||||
option go_package = "git.espin.casa/albert/go-telecom/proto/monitor;monitor";
|
||||
|
||||
|
||||
service MonitorService {
|
||||
rpc HealthCheck(common.HealthCheckRequest) returns (common.HealthCheckResponse);
|
||||
rpc SendLog(LogEntry) returns (LogAck);
|
||||
}
|
||||
|
||||
message LogEntry {
|
||||
string service = 1;
|
||||
string level = 2;
|
||||
string message = 3;
|
||||
int64 timestamp = 4;
|
||||
}
|
||||
|
||||
message LogAck {
|
||||
bool received = 1;
|
||||
}
|
Loading…
Reference in New Issue
Block a user