39 lines
881 B
Go
39 lines
881 B
Go
|
package cmd
|
||
|
|
||
|
import (
|
||
|
"errors"
|
||
|
"fmt"
|
||
|
|
||
|
"git.faercol.me/faercol/polyculeconnect/polyculeconnect/cmd/utils"
|
||
|
"git.faercol.me/faercol/polyculeconnect/polyculeconnect/services/app"
|
||
|
"github.com/dexidp/dex/storage"
|
||
|
"github.com/spf13/cobra"
|
||
|
)
|
||
|
|
||
|
var appRemoveCmd = &cobra.Command{
|
||
|
Use: "remove <app_client_id>",
|
||
|
Short: "Remove an app",
|
||
|
Long: `Remove the app with the given ID from the database.
|
||
|
|
||
|
If the app is not found in the database, no error is returned`,
|
||
|
Args: cobra.ExactArgs(1),
|
||
|
Run: func(cmd *cobra.Command, args []string) {
|
||
|
removeApp(args[0])
|
||
|
},
|
||
|
}
|
||
|
|
||
|
func removeApp(appID string) {
|
||
|
s := utils.InitStorage(utils.InitConfig(""))
|
||
|
|
||
|
if err := app.New(s).RemoveApp(appID); err != nil {
|
||
|
if !errors.Is(err, storage.ErrNotFound) {
|
||
|
utils.Failf("Failed to remove app: %s", err.Error())
|
||
|
}
|
||
|
}
|
||
|
fmt.Println("App deleted")
|
||
|
}
|
||
|
|
||
|
func init() {
|
||
|
appCmd.AddCommand(appRemoveCmd)
|
||
|
}
|