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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
| package controller
|
| import (
| "bee-config/models"
| "bee-config/routers"
| "bee-config/service"
| "github.com/gin-gonic/gin"
| "net/http"
| "path"
| )
|
| type (
| NodeRouter struct {
| routers.Router
| }
| )
|
| const (
| basePath = "/nodes"
| )
|
| var (
| AddNode *NodeRouter
| QueryNode *NodeRouter
| )
|
| func init() {
| AddNode = &NodeRouter{
| routers.Router{
| Methods: []string{http.MethodGet, http.MethodPost},
| Path: "add",
| Handles: []gin.HandlerFunc{addNode},
| },
| }
|
| QueryNode = &NodeRouter{
| routers.Router{
| Methods: []string{http.MethodGet},
| Path: "query",
| Handles: []gin.HandlerFunc{queryNode},
| },
| }
| }
|
| func (r *NodeRouter)GetPath() string {
| return path.Join(basePath, r.Path)
| }
|
| func addNode(c *gin.Context) {
| address, err := service.AddNode()
| if nil != err {
| c.JSON(http.StatusOK, gin.H {
| "code": 600,
| "msg": err.Error(),
| "data": &struct {
| }{},
| })
| } else {
| data := map[string]interface{}{}
| data["address"] = address
|
| c.JSON(http.StatusOK, gin.H {
| "code": http.StatusOK,
| "msg": "ok",
| "data": data,
| })
| }
| }
|
| func queryNode(c *gin.Context) {
| var node models.BeeNode
| arr, err := node.FindAll()
| if nil != err {
| c.JSON(http.StatusOK, gin.H {
| "code": 600,
| "msg": err.Error(),
| "data": &struct {
| }{},
| })
| } else {
| c.JSON(http.StatusOK, gin.H {
| "code": http.StatusOK,
| "msg": "ok",
| "data": arr,
| })
| }
| }
|
|