goBlockchainDataAnalysis/serverRoutes.go
serverRoutes.goRaw
1package main
2
3import (
4 "encoding/json"
5 "fmt"
6 "net/http"
7)
8
9type Routes []Route
10
11var routes = Routes{
12 Route{
13 "Index",
14 "GET",
15 "/",
16 Index,
17 },
18 /* Route{
19 "Recommendations",
20 "GET",
21 "/r/{userid}/{nrec}",
22 Recommendations,
23 },
24 */
25 Route{
26 "NetworkMap",
27 "Get",
28 "/map",
29 NetworkMap,
30 },
31 /*
32 Route{
33 "SelectItem",
34 "GET",
35 "/selectItem/{userid}/{itemid}",
36 SelectItem,
37 },
38 */
39}
40
41//ROUTES
42
43func Index(w http.ResponseWriter, r *http.Request) {
44 fmt.Fprintln(w, "ask for recommendations in /r")
45 //http.FileServer(http.Dir("./web"))
46}
47
48/*
49func NewUser(w http.ResponseWriter, r *http.Request) {
50 ipFilter(w, r)
51 decoder := json.NewDecoder(r.Body)
52 var newUser UserModel
53 err := decoder.Decode(&newUser)
54 check(err)
55 defer r.Body.Close()
56
57 saveUser(userCollection, newUser)
58
59 fmt.Println(newUser)
60 fmt.Fprintln(w, "new user added: ", newUser.ID)
61}
62*/
63func NetworkMap(w http.ResponseWriter, r *http.Request) {
64 ipFilter(w, r)
65
66 nodes, err := getAllNodes()
67 check(err)
68 edges, err := getAllEdges()
69 check(err)
70
71 var network NetworkModel
72 network.Nodes = nodes
73 network.Edges = edges
74
75 //convert []resp struct to json
76 jNetwork, err := json.Marshal(network)
77 check(err)
78
79 fmt.Fprintln(w, string(jNetwork))
80}
81
82/*
83func SelectItem(w http.ResponseWriter, r *http.Request) {
84 ipFilter(w, r)
85 vars := mux.Vars(r)
86 userid := vars["userid"]
87 itemid := vars["itemid"]
88 //find item
89 item, err := getItemById(itemid)
90 if err != nil {
91 fmt.Fprintln(w, "item "+itemid+" not found")
92 }
93
94 //find user
95 user, err := getUserById(userid)
96 if err != nil {
97 fmt.Fprintln(w, "user "+userid+" not found")
98 }
99
100 //increase TActed in item
101 item.TActed = item.TActed + 1
102
103 //save item
104 item, err = updateItem(item)
105 check(err)
106 fmt.Println(item)
107
108 //add item to []Actions of user
109 user.Actions = append(user.Actions, itemid)
110
111 //save user
112 user, err = updateUser(user)
113 check(err)
114 fmt.Println(user)
115
116 fmt.Fprintln(w, "user: "+userid+", selects item: "+itemid)
117}
118*/