it never ends.
This commit is contained in:
@@ -5,8 +5,8 @@ import (
|
||||
"fmt"
|
||||
"os"
|
||||
|
||||
"github.com/urfave/cli/v3"
|
||||
"fiatjaf.com/nostr"
|
||||
"github.com/urfave/cli/v3"
|
||||
)
|
||||
|
||||
var delete_ = &cli.Command{
|
||||
@@ -17,17 +17,15 @@ var delete_ = &cli.Command{
|
||||
Action: func(ctx context.Context, c *cli.Command) error {
|
||||
hasError := false
|
||||
for line := range getStdinLinesOrFirstArgument(c) {
|
||||
f := nostr.Filter{IDs: []string{line}}
|
||||
ch, err := db.QueryEvents(ctx, f)
|
||||
id, err := nostr.IDFromHex(line)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "error querying for %s: %s\n", f, err)
|
||||
fmt.Fprintf(os.Stderr, "invalid id '%s': %s\n", line, err)
|
||||
hasError = true
|
||||
}
|
||||
for evt := range ch {
|
||||
if err := db.DeleteEvent(ctx, evt); err != nil {
|
||||
fmt.Fprintf(os.Stderr, "error deleting %s: %s\n", evt, err)
|
||||
hasError = true
|
||||
}
|
||||
|
||||
if err := db.DeleteEvent(id); err != nil {
|
||||
fmt.Fprintf(os.Stderr, "error deleting '%s': %s\n", id.Hex(), err)
|
||||
hasError = true
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -96,7 +96,7 @@ var app = &cli.Command{
|
||||
if err := json.Unmarshal(scanner.Bytes(), &evt); err != nil {
|
||||
log.Printf("invalid event read at line %d: %s (`%s`)\n", i, err, scanner.Text())
|
||||
}
|
||||
db.SaveEvent(ctx, &evt)
|
||||
db.SaveEvent(evt)
|
||||
i++
|
||||
}
|
||||
}()
|
||||
|
||||
@@ -6,8 +6,8 @@ import (
|
||||
"fmt"
|
||||
"os"
|
||||
|
||||
"github.com/urfave/cli/v3"
|
||||
"fiatjaf.com/nostr"
|
||||
"github.com/urfave/cli/v3"
|
||||
)
|
||||
|
||||
// this is the default command when no subcommands are given, we will just try everything
|
||||
@@ -21,16 +21,14 @@ var queryOrSave = &cli.Command{
|
||||
re := &nostr.ReqEnvelope{}
|
||||
e := &nostr.Event{}
|
||||
f := &nostr.Filter{}
|
||||
if json.Unmarshal([]byte(line), ee) == nil && ee.Event.ID != "" {
|
||||
e = &ee.Event
|
||||
return doSave(ctx, line, e)
|
||||
if json.Unmarshal([]byte(line), ee) == nil && ee.Event.ID != nostr.ZeroID {
|
||||
return doSave(ctx, line, ee.Event)
|
||||
}
|
||||
if json.Unmarshal([]byte(line), e) == nil && e.ID != "" {
|
||||
return doSave(ctx, line, e)
|
||||
if json.Unmarshal([]byte(line), e) == nil && e.ID != nostr.ZeroID {
|
||||
return doSave(ctx, line, *e)
|
||||
}
|
||||
if json.Unmarshal([]byte(line), re) == nil && len(re.Filters) > 0 {
|
||||
f = &re.Filters[0]
|
||||
return doQuery(ctx, f)
|
||||
if json.Unmarshal([]byte(line), re) == nil {
|
||||
return doQuery(ctx, &re.Filter)
|
||||
}
|
||||
if json.Unmarshal([]byte(line), f) == nil && len(f.String()) > 2 {
|
||||
return doQuery(ctx, f)
|
||||
@@ -40,21 +38,16 @@ var queryOrSave = &cli.Command{
|
||||
},
|
||||
}
|
||||
|
||||
func doSave(ctx context.Context, line string, e *nostr.Event) error {
|
||||
if err := db.SaveEvent(ctx, e); err != nil {
|
||||
func doSave(ctx context.Context, line string, evt nostr.Event) error {
|
||||
if err := db.SaveEvent(evt); err != nil {
|
||||
return fmt.Errorf("failed to save event '%s': %s", line, err)
|
||||
}
|
||||
fmt.Fprintf(os.Stderr, "saved %s", e.ID)
|
||||
fmt.Fprintf(os.Stderr, "saved %s", evt.ID)
|
||||
return nil
|
||||
}
|
||||
|
||||
func doQuery(ctx context.Context, f *nostr.Filter) error {
|
||||
ch, err := db.QueryEvents(ctx, *f)
|
||||
if err != nil {
|
||||
return fmt.Errorf("error querying: %w", err)
|
||||
}
|
||||
|
||||
for evt := range ch {
|
||||
for evt := range db.QueryEvents(*f) {
|
||||
fmt.Println(evt)
|
||||
}
|
||||
return nil
|
||||
|
||||
Reference in New Issue
Block a user