summaryrefslogtreecommitdiff
path: root/conf/list.go
blob: 4fa3829cc2427d4d83a22dcdf4399e5cee9d0457 (plain)
1
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
package main

import(
	"fmt"
	"log"
	"time"
)


var listUsers = Command{
	Name: "users",
	Execute: func([]string) {
		users, err := p.AllUsers()
		if err != nil {
			log.Fatal(err)
		}
		fmt.Printf("id\tname\n========================================\n")
		for _, user := range users {
			fmt.Printf("%v\t%v\n", user.Id, user.Name)
		}
	},
}


var listSessions = Command{
	Name: "sessions",
	Execute: func([]string) {
		sessions, err := p.AllSessions()
		if err != nil {
			log.Fatal(err)
		}
		// padding on created and modified to match RFC3339 format
		fmt.Printf("user\t\tcreated             \tmodified            \tid\n================================================================================\n")
		for _, session := range sessions {
			user, err := p.GetById(session.UserId)
			if err != nil {
				log.Fatal(err)
			}
			fmt.Printf("%v\t\t%v\t%v\t%v\n", user.Name, session.Created.Format(time.RFC3339), session.Modified.Format(time.RFC3339), session.Id)
		}
	},
}


var listEndpoints = Command{
	Name: "endpoints",
	Execute: func([]string) {
		endpoints, err := p.AllEndpoints()
		if err != nil { log.Fatal(err) }

		fmt.Printf("name\tpath\taddress\n========================================\n")
		for _, endpoint := range endpoints {
			fmt.Printf("%v\t%v\t%v\n", endpoint.Name, endpoint.Path, endpoint.Address)
		}
	},
}


func ListInit(parser *Command) {
	list := &Command{
		Name: "list",
		Branch: true,
	}

	list.AddCommand(&listUsers)
	list.AddCommand(&listSessions)
	list.AddCommand(&listEndpoints)
	parser.AddCommand(list)
}