Skip to content

Commit e6efab8

Browse files
Merge pull request #52 from DylanDevelops/ravel/user-friendly-error
fix: More user friendly error messages on creation of milestones
2 parents 2351783 + 0d71c99 commit e6efab8

1 file changed

Lines changed: 19 additions & 1 deletion

File tree

cmd/milestones/start.go

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,28 @@ func StartCmd() *cobra.Command {
4848
os.Exit(1)
4949
}
5050

51+
// check if this name is already in use currently or in the past
52+
existingMilestone, err := db.GetMilestoneByName(projectName, milestoneName)
53+
if err != nil {
54+
ui.PrintError(ui.EmojiError, fmt.Sprintf("%v", err))
55+
os.Exit(1)
56+
}
57+
58+
if existingMilestone != nil {
59+
ui.PrintError(ui.EmojiError, fmt.Sprintf("Milestone '%s' already exists for %s", milestoneName, projectName))
60+
if existingMilestone.IsActive() {
61+
ui.PrintMuted(0, "This milestone is currently active. Use a different name or finish it first.")
62+
} else {
63+
ui.PrintMuted(0, "This milestone has already been finished. Use a different name for the new milestone.")
64+
}
65+
ui.NewlineBelow()
66+
os.Exit(1)
67+
}
68+
5169
// Create the milestone
5270
milestone, err := db.CreateMilestone(projectName, milestoneName)
5371
if err != nil {
54-
ui.PrintError(ui.EmojiError, fmt.Sprintf("%v", err))
72+
ui.PrintError(ui.EmojiError, fmt.Sprintf("failed to create milestone: %v", err))
5573
os.Exit(1)
5674
}
5775

0 commit comments

Comments
 (0)