Redirect logs and add more commands
This commit is contained in:
parent
a370efda87
commit
bdae3a76d0
@ -14,6 +14,12 @@ var log = logger.NewNamed(CName)
|
|||||||
|
|
||||||
type Service interface {
|
type Service interface {
|
||||||
CreateSpace(ctx context.Context, ip string, request *apiproto.CreateSpaceRequest) (resp *apiproto.CreateSpaceResponse, err error)
|
CreateSpace(ctx context.Context, ip string, request *apiproto.CreateSpaceRequest) (resp *apiproto.CreateSpaceResponse, err error)
|
||||||
|
DeriveSpace(ctx context.Context, ip string, request *apiproto.DeriveSpaceRequest) (resp *apiproto.DeriveSpaceResponse, err error)
|
||||||
|
CreateDocument(ctx context.Context, ip string, request *apiproto.CreateDocumentRequest) (resp *apiproto.CreateDocumentResponse, err error)
|
||||||
|
DeleteDocument(ctx context.Context, ip string, request *apiproto.DeleteDocumentRequest) (resp *apiproto.DeleteDocumentResponse, err error)
|
||||||
|
AddText(ctx context.Context, ip string, request *apiproto.AddTextRequest) (resp *apiproto.AddTextResponse, err error)
|
||||||
|
AllTrees(ctx context.Context, ip string, request *apiproto.AllTreesRequest) (resp *apiproto.AllTreesResponse, err error)
|
||||||
|
AllSpaces(ctx context.Context, ip string, request *apiproto.AllSpacesRequest) (resp *apiproto.AllSpacesResponse, err error)
|
||||||
app.Component
|
app.Component
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -41,3 +47,51 @@ func (s *service) CreateSpace(ctx context.Context, ip string, request *apiproto.
|
|||||||
}
|
}
|
||||||
return cl.CreateSpace(ctx, request)
|
return cl.CreateSpace(ctx, request)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *service) DeriveSpace(ctx context.Context, ip string, request *apiproto.DeriveSpaceRequest) (resp *apiproto.DeriveSpaceResponse, err error) {
|
||||||
|
cl, err := s.client.GetClient(ctx, ip)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
return cl.DeriveSpace(ctx, request)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *service) CreateDocument(ctx context.Context, ip string, request *apiproto.CreateDocumentRequest) (resp *apiproto.CreateDocumentResponse, err error) {
|
||||||
|
cl, err := s.client.GetClient(ctx, ip)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
return cl.CreateDocument(ctx, request)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *service) DeleteDocument(ctx context.Context, ip string, request *apiproto.DeleteDocumentRequest) (resp *apiproto.DeleteDocumentResponse, err error) {
|
||||||
|
cl, err := s.client.GetClient(ctx, ip)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
return cl.DeleteDocument(ctx, request)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *service) AddText(ctx context.Context, ip string, request *apiproto.AddTextRequest) (resp *apiproto.AddTextResponse, err error) {
|
||||||
|
cl, err := s.client.GetClient(ctx, ip)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
return cl.AddText(ctx, request)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *service) AllTrees(ctx context.Context, ip string, request *apiproto.AllTreesRequest) (resp *apiproto.AllTreesResponse, err error) {
|
||||||
|
cl, err := s.client.GetClient(ctx, ip)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
return cl.AllTrees(ctx, request)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *service) AllSpaces(ctx context.Context, ip string, request *apiproto.AllSpacesRequest) (resp *apiproto.AllSpacesResponse, err error) {
|
||||||
|
cl, err := s.client.GetClient(ctx, ip)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
return cl.AllSpaces(ctx, request)
|
||||||
|
}
|
||||||
|
|||||||
@ -55,7 +55,6 @@ func (s *service) Call(server peers.Peer, cmdName string, params []string) (res
|
|||||||
cmd Command
|
cmd Command
|
||||||
commands map[string]Command
|
commands map[string]Command
|
||||||
)
|
)
|
||||||
|
|
||||||
switch server.PeerType {
|
switch server.PeerType {
|
||||||
case peers.PeerTypeClient:
|
case peers.PeerTypeClient:
|
||||||
commands = s.clientCommands
|
commands = s.clientCommands
|
||||||
@ -83,6 +82,63 @@ func (s *service) registerClientCommands(client client.Service) {
|
|||||||
res = resp.Id
|
res = resp.Id
|
||||||
return
|
return
|
||||||
}}
|
}}
|
||||||
|
s.clientCommands["derive-space"] = Command{Cmd: func(server peers.Peer, params []string) (res string, err error) {
|
||||||
|
if len(params) != 0 {
|
||||||
|
err = ErrIncorrectParamsCount
|
||||||
|
return
|
||||||
|
}
|
||||||
|
resp, err := client.DeriveSpace(context.Background(), server.Address, &apiproto.DeriveSpaceRequest{})
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
res = resp.Id
|
||||||
|
return
|
||||||
|
}}
|
||||||
|
s.clientCommands["create-document"] = Command{Cmd: func(server peers.Peer, params []string) (res string, err error) {
|
||||||
|
if len(params) != 1 {
|
||||||
|
err = ErrIncorrectParamsCount
|
||||||
|
return
|
||||||
|
}
|
||||||
|
resp, err := client.CreateDocument(context.Background(), server.Address, &apiproto.CreateDocumentRequest{
|
||||||
|
SpaceId: params[0],
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
res = resp.Id
|
||||||
|
return
|
||||||
|
}}
|
||||||
|
s.clientCommands["delete-document"] = Command{Cmd: func(server peers.Peer, params []string) (res string, err error) {
|
||||||
|
if len(params) != 2 {
|
||||||
|
err = ErrIncorrectParamsCount
|
||||||
|
return
|
||||||
|
}
|
||||||
|
_, err = client.DeleteDocument(context.Background(), server.Address, &apiproto.DeleteDocumentRequest{
|
||||||
|
SpaceId: params[0],
|
||||||
|
DocumentId: params[1],
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
res = "deleted"
|
||||||
|
return
|
||||||
|
}}
|
||||||
|
s.clientCommands["add-text"] = Command{Cmd: func(server peers.Peer, params []string) (res string, err error) {
|
||||||
|
if len(params) != 3 {
|
||||||
|
err = ErrIncorrectParamsCount
|
||||||
|
return
|
||||||
|
}
|
||||||
|
resp, err := client.AddText(context.Background(), server.Address, &apiproto.AddTextRequest{
|
||||||
|
SpaceId: params[0],
|
||||||
|
DocumentId: params[1],
|
||||||
|
Text: params[2],
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
res = resp.DocumentId
|
||||||
|
return
|
||||||
|
}}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *service) registerNodeCommands(node node.Service) {
|
func (s *service) registerNodeCommands(node node.Service) {
|
||||||
|
|||||||
@ -13,6 +13,7 @@ import (
|
|||||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/util/cmd/debug/peers"
|
"github.com/anytypeio/go-anytype-infrastructure-experiments/util/cmd/debug/peers"
|
||||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/util/cmd/debug/stdin"
|
"github.com/anytypeio/go-anytype-infrastructure-experiments/util/cmd/debug/stdin"
|
||||||
"go.uber.org/zap"
|
"go.uber.org/zap"
|
||||||
|
"go.uber.org/zap/zapcore"
|
||||||
"net/http"
|
"net/http"
|
||||||
"os"
|
"os"
|
||||||
"os/signal"
|
"os/signal"
|
||||||
@ -28,6 +29,19 @@ var (
|
|||||||
flagHelp = flag.Bool("h", false, "show help and exit")
|
flagHelp = flag.Bool("h", false, "show help and exit")
|
||||||
)
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
config := zap.NewProductionEncoderConfig()
|
||||||
|
config.EncodeTime = zapcore.ISO8601TimeEncoder
|
||||||
|
|
||||||
|
logFile, err := os.OpenFile("debug.json", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
core := zapcore.NewCore(zapcore.NewJSONEncoder(config), zapcore.AddSync(logFile), zapcore.DebugLevel)
|
||||||
|
logger.SetDefault(zap.New(core, zap.AddCaller(), zap.AddStacktrace(zapcore.ErrorLevel)))
|
||||||
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|
||||||
|
|||||||
@ -3,6 +3,7 @@ package stdin
|
|||||||
import (
|
import (
|
||||||
"bufio"
|
"bufio"
|
||||||
"context"
|
"context"
|
||||||
|
"fmt"
|
||||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/common/app"
|
"github.com/anytypeio/go-anytype-infrastructure-experiments/common/app"
|
||||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger"
|
"github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger"
|
||||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/util/cmd/debug/api"
|
"github.com/anytypeio/go-anytype-infrastructure-experiments/util/cmd/debug/api"
|
||||||
@ -13,7 +14,7 @@ import (
|
|||||||
|
|
||||||
const CName = "debug.stdin"
|
const CName = "debug.stdin"
|
||||||
|
|
||||||
var log = logger.NewNamed(CName).Sugar()
|
var log = logger.NewNamed(CName)
|
||||||
|
|
||||||
type Service interface {
|
type Service interface {
|
||||||
app.ComponentRunnable
|
app.ComponentRunnable
|
||||||
@ -50,31 +51,32 @@ func (s *service) Close(ctx context.Context) (err error) {
|
|||||||
func (s *service) readStdin() {
|
func (s *service) readStdin() {
|
||||||
reader := bufio.NewReader(os.Stdin)
|
reader := bufio.NewReader(os.Stdin)
|
||||||
for {
|
for {
|
||||||
|
fmt.Print("> ")
|
||||||
str, err := reader.ReadString('\n')
|
str, err := reader.ReadString('\n')
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Errorf("Error in read string: %s", err)
|
fmt.Println("error in read string:", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
// trimming newline
|
// trimming newline
|
||||||
str = str[:len(str)-1]
|
str = str[:len(str)-1]
|
||||||
|
|
||||||
log.Debug(str)
|
|
||||||
split := strings.Split(str, " ")
|
split := strings.Split(str, " ")
|
||||||
if len(split) < 2 {
|
if len(split) < 2 {
|
||||||
log.Error("incorrect number of arguments")
|
fmt.Println("incorrect number of arguments")
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
peer, err := s.peers.Get(split[0])
|
peer, err := s.peers.Get(split[0])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error("no such peer")
|
fmt.Println("no such peer", err)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
res, err := s.api.Call(peer, split[1], split[2:])
|
res, err := s.api.Call(peer, split[1], split[2:])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Errorf("Error in performing request: %s", err)
|
fmt.Println("error in performing request:", err)
|
||||||
return
|
continue
|
||||||
}
|
}
|
||||||
log.Debug(res)
|
fmt.Println(res)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user