arnaucube
arnaucube/goBlockchainDataAnalysisPublic Self-hosted repository
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*/