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}
 46
 47/*
 48func NewUser(w http.ResponseWriter, r *http.Request) {
 49	ipFilter(w, r)
 50	decoder := json.NewDecoder(r.Body)
 51	var newUser UserModel
 52	err := decoder.Decode(&newUser)
 53	check(err)
 54	defer r.Body.Close()
 55
 56	saveUser(userCollection, newUser)
 57
 58	fmt.Println(newUser)
 59	fmt.Fprintln(w, "new user added: ", newUser.ID)
 60}
 61*/
 62func NetworkMap(w http.ResponseWriter, r *http.Request) {
 63	ipFilter(w, r)
 64
 65	nodes, err := getAllNodes()
 66	check(err)
 67	edges, err := getAllEdges()
 68	check(err)
 69
 70	var network NetworkModel
 71	network.Nodes = nodes
 72	network.Edges = edges
 73
 74	//convert []resp struct to json
 75	jNetwork, err := json.Marshal(network)
 76	check(err)
 77
 78	fmt.Fprintln(w, string(jNetwork))
 79}
 80
 81/*
 82func SelectItem(w http.ResponseWriter, r *http.Request) {
 83	ipFilter(w, r)
 84	vars := mux.Vars(r)
 85	userid := vars["userid"]
 86	itemid := vars["itemid"]
 87	//find item
 88	item, err := getItemById(itemid)
 89	if err != nil {
 90		fmt.Fprintln(w, "item "+itemid+" not found")
 91	}
 92
 93	//find user
 94	user, err := getUserById(userid)
 95	if err != nil {
 96		fmt.Fprintln(w, "user "+userid+" not found")
 97	}
 98
 99	//increase TActed in item
100	item.TActed = item.TActed + 1
101
102	//save item
103	item, err = updateItem(item)
104	check(err)
105	fmt.Println(item)
106
107	//add item to []Actions of user
108	user.Actions = append(user.Actions, itemid)
109
110	//save user
111	user, err = updateUser(user)
112	check(err)
113	fmt.Println(user)
114
115	fmt.Fprintln(w, "user: "+userid+", selects item: "+itemid)
116}
117*/