diff --git a/app/client/handler.go b/app/client/handler.go index 009fc39..89200c0 100644 --- a/app/client/handler.go +++ b/app/client/handler.go @@ -2,6 +2,7 @@ package client import ( "context" + "fmt" "git.aiterp.net/lucifer/new-server/models" ) @@ -14,3 +15,13 @@ func (client *Client) GetHandlers(ctx context.Context, fetchStr string) ([]model return handlers, nil } + +func (client *Client) DeleteHandler(ctx context.Context, id int) (*models.EventHandler, error) { + var handler models.EventHandler + err := client.Fetch(ctx, "DELETE", fmt.Sprintf("/api/event-handlers/%d", id), &handler, nil) + if err != nil { + return nil, err + } + + return &handler, nil +} diff --git a/cmd/lucy/handlercmd.go b/cmd/lucy/handlercmd.go index 8410893..1f84dcd 100644 --- a/cmd/lucy/handlercmd.go +++ b/cmd/lucy/handlercmd.go @@ -4,6 +4,7 @@ import ( "context" "fmt" "git.aiterp.net/lucifer/new-server/app/client" + "git.aiterp.net/lucifer/new-server/models" "log" "os" ) @@ -22,6 +23,18 @@ func handlerCmd( } WriteHandlerInfoTable(os.Stdout, handlers) + case "delete": + id := cmd.Params.Get(0).Int() + if id == nil { + log.Fatalln("ID missing") + } + + handler, err := c.DeleteHandler(ctx, *id) + if err != nil { + log.Fatalln(err) + } + + WriteHandlerInfoTable(os.Stdout, []models.EventHandler{*handler}) default: if cmd.Name != "help" { log.Println("Unknown command:", cmd.Name) diff --git a/cmd/lucy/help.go b/cmd/lucy/help.go index fc4a77b..4d77a2f 100644 --- a/cmd/lucy/help.go +++ b/cmd/lucy/help.go @@ -7,8 +7,11 @@ EXAMPLES lucy set tag:Hexagon color=hs:35,1 intensity=0.3 lucy run SetProfile name=evening +EVENT HANDLER COMMANDS + handler list + handler delete + DEVICE COMMANDS - handler list list set tag <[+/-]tag-name> diff --git a/install-lucy.sh b/install-lucy.sh index 8954ee0..d97adaa 100755 --- a/install-lucy.sh +++ b/install-lucy.sh @@ -5,7 +5,7 @@ go mod download || exit 1 go build -ldflags "-w -s" -o lucy ./cmd/lucy || exit 1 printf "Removing old lucy...\n" -sudo rm /usr/local/bin/lucy > /dev/null 2&>1 +sudo rm /usr/local/bin/lucy > /dev/null 2>&1 printf "Installing...\n" sudo mv ./lucy /usr/local/bin/lucy