Working end to end with in-memory data store.
This commit is contained in:
parent
320dc46010
commit
426500df45
7 changed files with 313 additions and 27 deletions
40
cmd/cli/getClipboard.go
Normal file
40
cmd/cli/getClipboard.go
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
|
||||
"github.com/AYM1607/ccclip/internal/configfile"
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
func init() {
|
||||
rootCmd.AddCommand(getClipboardCmd)
|
||||
}
|
||||
|
||||
var getClipboardCmd = &cobra.Command{
|
||||
Use: "get-clipboard",
|
||||
Short: "get the currently stored clipboard",
|
||||
RunE: func(cmd *cobra.Command, args []string) error {
|
||||
cc, err := configfile.EnsureAndGet()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if cc.DeviceId == "" {
|
||||
return errors.New("you must log in and register your device")
|
||||
}
|
||||
pvk, err := configfile.LoadPrivateKey()
|
||||
if err != nil {
|
||||
return fmt.Errorf("could not load this device's private key: %w", err)
|
||||
}
|
||||
|
||||
plain, err := apiclient.GetClipboard(cc.DeviceId, pvk)
|
||||
if err != nil {
|
||||
return fmt.Errorf("could not set clipboard: %w", err)
|
||||
}
|
||||
|
||||
fmt.Printf("Your current clipbard is %q\n", plain)
|
||||
return nil
|
||||
},
|
||||
}
|
||||
|
|
@ -1,13 +1,7 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"os"
|
||||
|
||||
"github.com/spf13/cobra"
|
||||
|
||||
"github.com/AYM1607/ccclip/internal/configfile"
|
||||
)
|
||||
|
||||
func init() {
|
||||
|
|
@ -18,22 +12,23 @@ var getDevicesCmd = &cobra.Command{
|
|||
Use: "get-devices",
|
||||
Short: "Register a user with a given email and password",
|
||||
RunE: func(cmd *cobra.Command, args []string) error {
|
||||
cc, err := configfile.EnsureAndGet()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if cc.DeviceId == "" {
|
||||
return errors.New("your device is not registered")
|
||||
}
|
||||
pvk, err := configfile.LoadPrivateKey()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
devices, err := apiclient.GetDevices(cc.DeviceId, pvk)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
// cc, err := configfile.EnsureAndGet()
|
||||
// if err != nil {
|
||||
// return err
|
||||
// }
|
||||
// if cc.DeviceId == "" {
|
||||
// return errors.New("your device is not registered")
|
||||
// }
|
||||
// pvk, err := configfile.LoadPrivateKey()
|
||||
// if err != nil {
|
||||
// return err
|
||||
// }
|
||||
// devices, err := apiclient.GetDevices(cc.DeviceId, pvk)
|
||||
// if err != nil {
|
||||
// return err
|
||||
// }
|
||||
|
||||
return json.NewEncoder(os.Stdout).Encode(devices)
|
||||
// return json.NewEncoder(os.Stdout).Encode(devices)
|
||||
return nil
|
||||
},
|
||||
}
|
||||
|
|
|
|||
43
cmd/cli/setClipboard.go
Normal file
43
cmd/cli/setClipboard.go
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
|
||||
"github.com/AYM1607/ccclip/internal/configfile"
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
var clipboard string
|
||||
|
||||
func init() {
|
||||
rootCmd.AddCommand(setClipboardCmd)
|
||||
|
||||
setClipboardCmd.Flags().StringVar(&clipboard, "clip", "", "the string to send")
|
||||
setClipboardCmd.MarkFlagRequired("clip")
|
||||
}
|
||||
|
||||
var setClipboardCmd = &cobra.Command{
|
||||
Use: "set-clipboard",
|
||||
Short: "set the given string as the cloud clipboard",
|
||||
RunE: func(cmd *cobra.Command, args []string) error {
|
||||
cc, err := configfile.EnsureAndGet()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if cc.DeviceId == "" {
|
||||
return errors.New("you must log in and register your device")
|
||||
}
|
||||
pvk, err := configfile.LoadPrivateKey()
|
||||
if err != nil {
|
||||
return fmt.Errorf("could not load this device's private key: %w", err)
|
||||
}
|
||||
|
||||
err = apiclient.SetClipboard(clipboard, cc.DeviceId, pvk)
|
||||
if err != nil {
|
||||
return fmt.Errorf("could not set clipboard: %w", err)
|
||||
}
|
||||
return nil
|
||||
},
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue