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 {
|
||||
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
|
||||
}
|
||||
|
||||
@ -41,3 +47,51 @@ func (s *service) CreateSpace(ctx context.Context, ip string, request *apiproto.
|
||||
}
|
||||
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
|
||||
commands map[string]Command
|
||||
)
|
||||
|
||||
switch server.PeerType {
|
||||
case peers.PeerTypeClient:
|
||||
commands = s.clientCommands
|
||||
@ -83,6 +82,63 @@ func (s *service) registerClientCommands(client client.Service) {
|
||||
res = resp.Id
|
||||
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) {
|
||||
|
||||
@ -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/stdin"
|
||||
"go.uber.org/zap"
|
||||
"go.uber.org/zap/zapcore"
|
||||
"net/http"
|
||||
"os"
|
||||
"os/signal"
|
||||
@ -28,6 +29,19 @@ var (
|
||||
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() {
|
||||
flag.Parse()
|
||||
|
||||
|
||||
@ -3,6 +3,7 @@ package stdin
|
||||
import (
|
||||
"bufio"
|
||||
"context"
|
||||
"fmt"
|
||||
"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/util/cmd/debug/api"
|
||||
@ -13,7 +14,7 @@ import (
|
||||
|
||||
const CName = "debug.stdin"
|
||||
|
||||
var log = logger.NewNamed(CName).Sugar()
|
||||
var log = logger.NewNamed(CName)
|
||||
|
||||
type Service interface {
|
||||
app.ComponentRunnable
|
||||
@ -50,31 +51,32 @@ func (s *service) Close(ctx context.Context) (err error) {
|
||||
func (s *service) readStdin() {
|
||||
reader := bufio.NewReader(os.Stdin)
|
||||
for {
|
||||
fmt.Print("> ")
|
||||
str, err := reader.ReadString('\n')
|
||||
if err != nil {
|
||||
log.Errorf("Error in read string: %s", err)
|
||||
fmt.Println("error in read string:", err)
|
||||
return
|
||||
}
|
||||
// trimming newline
|
||||
str = str[:len(str)-1]
|
||||
|
||||
log.Debug(str)
|
||||
split := strings.Split(str, " ")
|
||||
if len(split) < 2 {
|
||||
log.Error("incorrect number of arguments")
|
||||
fmt.Println("incorrect number of arguments")
|
||||
continue
|
||||
}
|
||||
|
||||
peer, err := s.peers.Get(split[0])
|
||||
if err != nil {
|
||||
log.Error("no such peer")
|
||||
fmt.Println("no such peer", err)
|
||||
continue
|
||||
}
|
||||
|
||||
res, err := s.api.Call(peer, split[1], split[2:])
|
||||
if err != nil {
|
||||
log.Errorf("Error in performing request: %s", err)
|
||||
return
|
||||
fmt.Println("error in performing request:", err)
|
||||
continue
|
||||
}
|
||||
log.Debug(res)
|
||||
fmt.Println(res)
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user