Files
actions-sync/src/sync.go

32 lines
562 B
Go
Raw Normal View History

2020-07-02 19:36:10 +01:00
package src
import (
"context"
"github.com/spf13/cobra"
)
type SyncFlags struct {
PullFlags
PushFlags
}
func (f *SyncFlags) Init(cmd *cobra.Command) {
f.PullFlags.Init(cmd)
f.PushFlags.Init(cmd)
}
func (f *SyncFlags) Validate() Validations {
return f.PullFlags.Validate().Join(f.PushFlags.Validate())
}
func Sync(ctx context.Context, cacheDir string, flags *SyncFlags) error {
if err := Pull(ctx, cacheDir, &flags.PullFlags); err != nil {
return err
}
if err := Push(ctx, cacheDir, &flags.PushFlags); err != nil {
return err
}
return nil
}