| 525 | } |
| 526 | |
| 527 | func reactivateCmd() *cobra.Command { |
| 528 | cmd := &cobra.Command{ |
| 529 | Use: "reactivate-user --user-id [user-id] --restore-messages [true|false]", |
| 530 | Short: "Reactivate a user", |
| 531 | Long: heredoc.Doc(` |
| 532 | Deactivated users cannot connect to Stream Chat or send/receive messages. |
| 533 | This function reactivates a user. |
| 534 | `), |
| 535 | Example: heredoc.Doc(` |
| 536 | # Reactivate the user 'joe' |
| 537 | $ stream-cli chat reactivate-user --user-id joe --restore-messages true |
| 538 | `), |
| 539 | RunE: func(cmd *cobra.Command, args []string) error { |
| 540 | c, err := config.GetConfig(cmd).GetClient(cmd) |
| 541 | if err != nil { |
| 542 | return err |
| 543 | } |
| 544 | |
| 545 | targetID, _ := cmd.Flags().GetString("user-id") |
| 546 | restore, _ := cmd.Flags().GetBool("restore-messages") |
| 547 | |
| 548 | reactivateOpts := []stream.ReactivateUserOptions{} |
| 549 | if restore { |
| 550 | reactivateOpts = append(reactivateOpts, stream.ReactivateUserWithRestoreMessages()) |
| 551 | } |
| 552 | |
| 553 | _, err = c.ReactivateUser(cmd.Context(), targetID, reactivateOpts...) |
| 554 | if err != nil { |
| 555 | return err |
| 556 | } |
| 557 | |
| 558 | cmd.Println("Successfully reactivated user") |
| 559 | return nil |
| 560 | }, |
| 561 | } |
| 562 | |
| 563 | fl := cmd.Flags() |
| 564 | fl.StringP("user-id", "u", "", "[required] ID of the user to reactivate") |
| 565 | fl.Bool("restore-messages", false, "[optional] Restore messages for the user") |
| 566 | _ = cmd.MarkFlagRequired("user-id") |
| 567 | |
| 568 | return cmd |
| 569 | } |
| 570 | |
| 571 | func deactivateCmd() *cobra.Command { |
| 572 | cmd := &cobra.Command{ |