bitbucket.org/Aishee/synsec@v0.0.0-20210414005726-236fc01a153d/pkg/apiserver/controllers/v1/machines.go (about) 1 package v1 2 3 import ( 4 "net/http" 5 6 "bitbucket.org/Aishee/synsec/pkg/models" 7 "bitbucket.org/Aishee/synsec/pkg/types" 8 "github.com/gin-gonic/gin" 9 "github.com/go-openapi/strfmt" 10 ) 11 12 func (c *Controller) CreateMachine(gctx *gin.Context) { 13 defer types.CatchPanic("synsec/controllersV1/CreateMachine") 14 var err error 15 var input models.WatcherRegistrationRequest 16 if err = gctx.ShouldBindJSON(&input); err != nil { 17 gctx.JSON(http.StatusBadRequest, gin.H{"message": err.Error()}) 18 return 19 } 20 if err = input.Validate(strfmt.Default); err != nil { 21 c.HandleDBErrors(gctx, err) 22 return 23 } 24 25 _, err = c.DBClient.CreateMachine(input.MachineID, input.Password, gctx.ClientIP(), false, false) 26 if err != nil { 27 c.HandleDBErrors(gctx, err) 28 return 29 } 30 31 gctx.Status(http.StatusCreated) 32 return 33 }