4
4
"net/http"
5
5
"os"
6
6
"strconv"
7
- "strings"
8
7
"time"
9
8
10
9
"github.com/NetSepio/erebrus/api/v1/middleware"
@@ -31,31 +30,26 @@ var resp map[string]interface{}
31
30
// addTunnel adds new tunnel config
32
31
func addServices (c * gin.Context ) {
33
32
//post form parameters
34
- name := strings .ToLower (c .PostForm ("name" ))
35
- ipAddress := c .PostForm ("ip_address" )
33
+ var payload ServicePayload
36
34
37
- port := c .PostForm ("port" )
35
+ // Bind JSON payload to the struct
36
+ if err := c .ShouldBindJSON (& payload ); err != nil {
37
+ c .JSON (http .StatusBadRequest , gin.H {"error" : err .Error ()})
38
+ return
39
+ }
38
40
39
41
// convert port string to int
40
- portInt , err := strconv .Atoi (port )
42
+ portInt , err := strconv .Atoi (payload . Port )
41
43
if err != nil {
42
44
resp = util .Message (400 , "Invalid Port" )
43
45
c .JSON (http .StatusInternalServerError , resp )
44
46
return
45
47
}
46
48
47
- // port allocation
48
- // max, _ := strconv.Atoi(os.Getenv("CADDY_UPPER_RANGE"))
49
- // min, _ := strconv.Atoi(os.Getenv("CADDY_LOWER_RANGE"))
50
-
51
49
for {
52
- // port, err := core.GetPort(max, min)
53
- // if err != nil {
54
- // panic(err)
55
- // }
56
50
57
51
// check validity of Services name and port
58
- value , msg , err := middleware .IsValidService (name , portInt , ipAddress )
52
+ value , msg , err := middleware .IsValidService (payload . Name , portInt , payload . IPAddress )
59
53
60
54
if err != nil {
61
55
resp = util .Message (500 , "Server error, Try after some time or Contact Admin..." + err .Error ())
@@ -72,11 +66,11 @@ func addServices(c *gin.Context) {
72
66
} else if value == 1 {
73
67
//create a Services struct object
74
68
var data model.Service
75
- data .Name = name
69
+ data .Name = payload . Name
76
70
data .Type = os .Getenv ("NODE_TYPE" )
77
- data .Port = port
71
+ data .Port = payload . Port
78
72
data .Domain = os .Getenv ("DOMAIN" )
79
- data .IpAddress = ipAddress
73
+ data .IpAddress = payload . IPAddress
80
74
data .CreatedAt = time .Now ().UTC ().Format (time .RFC3339 )
81
75
82
76
//to add Services config
0 commit comments