11package cmd
22
33import (
4- "context"
54 "fmt"
65 "os"
76
87 force "github.com/ForceCLI/force/lib"
9- "github.com/ForceCLI/force/lib/pubsub"
108 . "github.com/octoberswimmer/batchforce"
119
12- log "github.com/sirupsen/logrus"
1310 "github.com/spf13/cobra"
1411)
1512
@@ -21,7 +18,7 @@ $ batchforce publish --query "SELECT Id, Name FROM Account WHERE NOT Name LIKE '
2118$ batchforce publish --file accounts.csv /event/Account_Change__e '{Id: record.Id, Name: record.Name + " Copy"}'
2219 ` ,
2320 DisableFlagsInUseLine : false ,
24- Args : cobra .ExactValidArgs ( 2 ),
21+ Args : cobra .MatchAll ( cobra . ExactArgs ( 2 ), cobra . OnlyValidArgs ),
2522 RunE : func (cmd * cobra.Command , args []string ) error {
2623 execution , err := getExecution (cmd , args )
2724 if err != nil {
@@ -33,7 +30,7 @@ $ batchforce publish --file accounts.csv /event/Account_Change__e '{Id: record.I
3330 if ! ok {
3431 return fmt .Errorf ("cannot use session as *force.Force for publish" )
3532 }
36- execution .RecordWriter = publishTo (fs , channel )
33+ execution .RecordWriter = PublishTo (fs , channel )
3734 errors := execution .RunContext (cmd .Context ())
3835 if errors .NumberBatchesFailed () > 0 {
3936 fmt .Println (errors .NumberBatchesFailed (), "batch failures" )
@@ -46,23 +43,3 @@ $ batchforce publish --file accounts.csv /event/Account_Change__e '{Id: record.I
4643 return nil
4744 },
4845}
49-
50- type uncheckableResult struct {
51- }
52-
53- func (u uncheckableResult ) NumberBatchesFailed () int {
54- return 0
55- }
56-
57- func (u uncheckableResult ) NumberRecordsFailed () int {
58- return 0
59- }
60-
61- func publishTo (session * force.Force , channel string ) RecordWriter {
62- return func (ctx context.Context , records <- chan force.ForceRecord ) (Result , error ) {
63- force .Log = log .StandardLogger ()
64- res := uncheckableResult {}
65- err := pubsub .PublishMessagesWithContext (ctx , session , channel , records )
66- return res , err
67- }
68- }
0 commit comments