plan.go
38 lines1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//go:build cgo
package commands
import (
"encoding/json"
"fmt"
"os"
"congo.gg/dev/models"
)
func Plan() {
if len(os.Args) < 3 {
fmt.Println("usage: congo plan <list|get ID>")
os.Exit(1)
}
switch os.Args[2] {
case "list":
plans, _ := models.Plans.Search("ORDER BY CreatedAt DESC")
json.NewEncoder(os.Stdout).Encode(plans)
case "get":
if len(os.Args) < 4 {
fmt.Fprintln(os.Stderr, "usage: congo plan get <id>")
os.Exit(1)
}
plan, _ := models.Plans.Get(os.Args[3])
if plan == nil {
fmt.Fprintln(os.Stderr, "plan not found")
os.Exit(1)
}
json.NewEncoder(os.Stdout).Encode(plan)
default:
fmt.Fprintf(os.Stderr, "unknown plan subcommand %q\n", os.Args[2])
os.Exit(1)
}
}