62 lines
1.3 KiB
Go
62 lines
1.3 KiB
Go
package controllers
|
|
|
|
import (
|
|
"strings"
|
|
|
|
"git.preston-baxter.com/Preston_PLB/capstone/frontend-service/db/models"
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
func AddActionFromForm(c *gin.Context) {
|
|
user := getUserFromContext(c)
|
|
if user == nil {
|
|
log.Warnf("Could not find user in context. Trying to redner Action form")
|
|
badRequest(c, "No user available in context")
|
|
return
|
|
}
|
|
//parse the form
|
|
c.Request.ParseForm()
|
|
var source []string
|
|
var action []string
|
|
|
|
//validate source
|
|
if str := c.Request.FormValue("source"); str != "" {
|
|
source = strings.Split(str, ".")
|
|
} else {
|
|
log.Warnf("Form request was partially or fully blank")
|
|
badRequest(c, "Form request was partially or fully blank")
|
|
return
|
|
}
|
|
|
|
//validate action
|
|
if str := c.Request.FormValue("action"); str != "" {
|
|
action = strings.Split(str, ".")
|
|
} else {
|
|
log.Warnf("Form request was partially or fully blank")
|
|
badRequest(c, "Form request was partially or fully blank")
|
|
return
|
|
}
|
|
|
|
//setup action
|
|
|
|
//
|
|
|
|
am := &models.ActionMapping{
|
|
UserId: user.Id,
|
|
SourceEvent: &models.Event{
|
|
VendorName: source[0],
|
|
Key: source[1],
|
|
Fields: map[string]string{},
|
|
},
|
|
Action: &models.Action{
|
|
VendorName: action[0],
|
|
Type: action[1],
|
|
Fields: map[string]string{},
|
|
},
|
|
}
|
|
|
|
mongo.SaveModel(am)
|
|
|
|
c.Redirect(302, "/dashboard")
|
|
}
|