Skip to content

Commit 4090eb5

Browse files
added --skip-send-invite flag to "create user" cmd (#333)
* added --skip-send-invite flag to "create user" cmd * fix arg range for create user cmd * fix bool flag, double negative fixin * add skip-welcome-email and skip-invite options to bulk import user cmd * Update .changes/unreleased/Feature-20240930-150305.yaml --------- Co-authored-by: Kyle <rocktavious@icloud.com>
1 parent fa0ef03 commit 4090eb5

File tree

5 files changed

+30
-10
lines changed

5 files changed

+30
-10
lines changed
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
kind: Feature
2+
body: added --skip-send-invite flag to "create user" cmd
3+
time: 2024-09-30T13:05:49.15243-05:00
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
kind: Feature
2+
body: add --skip-welcome-email and --skip-invite options to bulk import user cmd
3+
time: 2024-09-30T15:03:05.541886-05:00

Taskfile.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ tasks:
9393
echo "Using latest version of opslevel-go - {{.LATEST_OPSLEVEL_GO_VERSION}}";
9494
else
9595
echo "WARNING: current version of opslevel-go is behind '{{.LATEST_OPSLEVEL_GO_VERSION}}'"
96-
echo "Run 'task lintfix' to get latest version"
96+
echo "Run 'task fix' to get latest version"
9797
exit 1
9898
fi
9999

src/cmd/user.go

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,11 @@ var createUserCmd = &cobra.Command{
3030
Long: "Create a User and optionally define the role (options `User`|`Admin`).",
3131
Example: `
3232
opslevel create user "john@example.com" "John Doe"
33+
opslevel create user "jane@example.com" "Jane Doe" Admin --skip-send-invite
3334
opslevel create user "jane@example.com" "Jane Doe" Admin --skip-welcome-email
35+
opslevel create user "jane@example.com" "Jane Doe" Admin --skip-send-invite --skip-welcome-email
3436
`,
35-
Args: cobra.MinimumNArgs(2),
37+
Args: cobra.RangeArgs(2, 3),
3638
Run: func(cmd *cobra.Command, args []string) {
3739
email := args[0]
3840
name := args[1]
@@ -44,14 +46,17 @@ opslevel create user "jane@example.com" "Jane Doe" Admin --skip-welcome-email
4446
}
4547
}
4648

49+
skipSendInvite, err := cmd.Flags().GetBool("skip-send-invite")
50+
cobra.CheckErr(err)
4751
skipEmail, err := cmd.Flags().GetBool("skip-welcome-email")
4852
cobra.CheckErr(err)
4953

50-
resource, err := getClientGQL().InviteUser(email, opslevel.UserInput{
54+
userInput := opslevel.UserInput{
5155
Name: opslevel.RefOf(name),
5256
Role: opslevel.RefOf(role),
5357
SkipWelcomeEmail: opslevel.RefOf(skipEmail),
54-
})
58+
}
59+
resource, err := getClientGQL().InviteUser(email, userInput, !skipSendInvite)
5560
cobra.CheckErr(err)
5661
fmt.Println(resource.Id)
5762
},
@@ -160,7 +165,7 @@ var importUsersCmd = &cobra.Command{
160165
Long: `Imports a list of users from a CSV file with the column headers:
161166
Name,Email,Role,Team`,
162167
Example: `
163-
cat << EOF | opslevel import user -f -
168+
cat << EOF | opslevel import user --skip-send-invite --skip-welcome-email -f -
164169
Name,Email,Role,Team
165170
Kyle Rockman,kyle@opslevel.com,Admin,platform
166171
Edgar Ochoa,edgar@opslevel.com,Admin,platform
@@ -170,6 +175,11 @@ EOF
170175
Run: func(cmd *cobra.Command, args []string) {
171176
reader, err := readImportFilepathAsCSV()
172177
cobra.CheckErr(err)
178+
skipSendInvite, err := cmd.Flags().GetBool("skip-send-invite")
179+
cobra.CheckErr(err)
180+
skipWelcomeEmail, err := cmd.Flags().GetBool("skip-welcome-email")
181+
cobra.CheckErr(err)
182+
173183
for reader.Rows() {
174184
name := reader.Text("Name")
175185
email := reader.Text("Email")
@@ -183,10 +193,11 @@ EOF
183193
userRole = opslevel.UserRole(role)
184194
}
185195
input := opslevel.UserInput{
186-
Name: opslevel.RefOf(name),
187-
Role: opslevel.RefOf(userRole),
196+
Name: opslevel.RefOf(name),
197+
Role: opslevel.RefOf(userRole),
198+
SkipWelcomeEmail: opslevel.RefOf(skipWelcomeEmail),
188199
}
189-
user, err := getClientGQL().InviteUser(email, input)
200+
user, err := getClientGQL().InviteUser(email, input, !skipSendInvite)
190201
if err != nil {
191202
log.Error().Err(err).Msgf("error inviting user '%s' with email '%s'", name, email)
192203
continue
@@ -216,7 +227,10 @@ EOF
216227
}
217228

218229
func init() {
219-
createUserCmd.Flags().Bool("skip-welcome-email", false, "If this flag is set the welcome e-mail will be skipped from being sent")
230+
createUserCmd.Flags().Bool("skip-send-invite", false, "If this flag is set the welcome e-mail will be not be sent")
231+
createUserCmd.Flags().Bool("skip-welcome-email", false, "If this flag is set send an invite email even if notifications are disabled for the account")
232+
importUsersCmd.Flags().Bool("skip-send-invite", false, "If this flag is set the welcome e-mail will be not be sent")
233+
importUsersCmd.Flags().Bool("skip-welcome-email", false, "If this flag is set send an invite email even if notifications are disabled for the account")
220234
listUserCmd.Flags().Bool("ignore-deactivated", false, "If this flag is set only return active users")
221235

222236
exampleCmd.AddCommand(exampleUserCmd)

0 commit comments

Comments
 (0)