| 99 | } |
| 100 | |
| 101 | func deleteCmd() *cobra.Command { |
| 102 | cmd := &cobra.Command{ |
| 103 | Use: "delete-device --id [device-id] --user-id [user-id]", |
| 104 | Short: "Delete a device", |
| 105 | Long: heredoc.Doc(` |
| 106 | Unregistering a device removes the device from the user |
| 107 | and stops further new message notifications. |
| 108 | `), |
| 109 | Example: heredoc.Doc(` |
| 110 | # Delete "my-device-id" device |
| 111 | $ stream-cli chat delete-device --id "my-device-id" --user-id "my-user-id" |
| 112 | `), |
| 113 | RunE: func(cmd *cobra.Command, args []string) error { |
| 114 | c, err := config.GetConfig(cmd).GetClient(cmd) |
| 115 | if err != nil { |
| 116 | return err |
| 117 | } |
| 118 | |
| 119 | id, _ := cmd.Flags().GetString("id") |
| 120 | userID, _ := cmd.Flags().GetString("user-id") |
| 121 | |
| 122 | _, err = c.DeleteDevice(cmd.Context(), userID, id) |
| 123 | if err != nil { |
| 124 | return err |
| 125 | } |
| 126 | |
| 127 | cmd.Println("Successfully deleted device") |
| 128 | return nil |
| 129 | }, |
| 130 | } |
| 131 | |
| 132 | fl := cmd.Flags() |
| 133 | fl.StringP("id", "i", "", "[required] Device ID to delete") |
| 134 | fl.StringP("user-id", "u", "", "[required] ID of the user who deletes the device") |
| 135 | _ = cmd.MarkFlagRequired("id") |
| 136 | _ = cmd.MarkFlagRequired("user-id") |
| 137 | |
| 138 | return cmd |
| 139 | } |