Fixed SMS and Email cloud services
This commit is contained in:
@@ -6644,6 +6644,7 @@ type CloudSyncJob struct {
|
|||||||
SecondaryItem string `json:"secondary_item" datastore:"secondary_item"`
|
SecondaryItem string `json:"secondary_item" datastore:"secondary_item"`
|
||||||
ThirdItem string `json:"third_item" datastore:"third_item"`
|
ThirdItem string `json:"third_item" datastore:"third_item"`
|
||||||
FourthItem string `json:"fourth_item" datastore:"fourth_item"`
|
FourthItem string `json:"fourth_item" datastore:"fourth_item"`
|
||||||
|
FifthItem string `json:"fifth_item" datastore:"fifth_item"`
|
||||||
Created string `json:"created" datastore:"created"`
|
Created string `json:"created" datastore:"created"`
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -7231,7 +7232,7 @@ func runInit(ctx context.Context) {
|
|||||||
job := func() {
|
job := func() {
|
||||||
err := remoteOrgJobHandler(org, interval)
|
err := remoteOrgJobHandler(org, interval)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("Failed request with remote org setup (2): %s", err)
|
log.Printf("[ERROR] Failed request with remote org setup (2): %s", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -7844,7 +7845,7 @@ func handleCloudSetup(resp http.ResponseWriter, request *http.Request) {
|
|||||||
job := func() {
|
job := func() {
|
||||||
err := remoteOrgJobHandler(*org, interval)
|
err := remoteOrgJobHandler(*org, interval)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("Failed request with remote org setup (1): %s", err)
|
log.Printf("[ERROR] Failed request with remote org setup (1): %s", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1817,6 +1817,108 @@ func saveWorkflow(resp http.ResponseWriter, request *http.Request) {
|
|||||||
} else if hook.Id == "" {
|
} else if hook.Id == "" {
|
||||||
trigger.Status = "stopped"
|
trigger.Status = "stopped"
|
||||||
}
|
}
|
||||||
|
} else if trigger.TriggerType == "USERINPUT" {
|
||||||
|
// E.g. check email
|
||||||
|
sms := ""
|
||||||
|
email := ""
|
||||||
|
triggerType := ""
|
||||||
|
triggerInformation := ""
|
||||||
|
for _, item := range trigger.Parameters {
|
||||||
|
if item.Name == "alertinfo" {
|
||||||
|
triggerInformation = item.Value
|
||||||
|
} else if item.Name == "type" {
|
||||||
|
triggerType = item.Value
|
||||||
|
} else if item.Name == "email" {
|
||||||
|
email = item.Value
|
||||||
|
} else if item.Name == "sms" {
|
||||||
|
sms = item.Value
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// FIXME: This is not the right time to send them, BUT it's well served for testing. Save -> send email / sms
|
||||||
|
if strings.Contains(triggerType, "email") {
|
||||||
|
if email == "test@test.com" {
|
||||||
|
log.Printf("Email isn't specified during save.")
|
||||||
|
resp.WriteHeader(401)
|
||||||
|
resp.Write([]byte(fmt.Sprintf(`{"success": false, "reason": "Email field in user input can't be empty"}`)))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// triggerid, start node, workflowid, argument
|
||||||
|
/*
|
||||||
|
startNode := ""
|
||||||
|
referenceExecutionId := ""
|
||||||
|
action := CloudSyncJob{
|
||||||
|
Type: "user_input",
|
||||||
|
Action: "send_email",
|
||||||
|
OrgId: user.ActiveOrg.Id,
|
||||||
|
PrimaryItemId: workflow.ID,
|
||||||
|
SecondaryItem: startNode,
|
||||||
|
ThirdItem: triggerInformation,
|
||||||
|
FourthItem: email,
|
||||||
|
FifthItem: referenceExecutionId,
|
||||||
|
}
|
||||||
|
|
||||||
|
org, err := getOrg(ctx, user.ActiveOrg.Id)
|
||||||
|
if err != nil {
|
||||||
|
log.Printf("Failed email send to cloud", err)
|
||||||
|
resp.WriteHeader(401)
|
||||||
|
resp.Write([]byte(fmt.Sprintf(`{"success": false, "reason": "%s"}`, err)))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
err = executeCloudAction(action, org.SyncConfig.Apikey)
|
||||||
|
if err != nil {
|
||||||
|
log.Printf("Failed email send to cloud", err)
|
||||||
|
resp.WriteHeader(401)
|
||||||
|
resp.Write([]byte(fmt.Sprintf(`{"success": false, "reason": "%s"}`, err)))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
log.Printf("Should send email to %s during execution.", email)
|
||||||
|
}
|
||||||
|
if strings.Contains(triggerType, "sms") {
|
||||||
|
if sms == "0000000" {
|
||||||
|
log.Printf("Email isn't specified during save.")
|
||||||
|
resp.WriteHeader(401)
|
||||||
|
resp.Write([]byte(fmt.Sprintf(`{"success": false, "reason": "SMS field in user input can't be empty"}`)))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
startNode := ""
|
||||||
|
referenceExecutionId := ""
|
||||||
|
action := CloudSyncJob{
|
||||||
|
Type: "user_input",
|
||||||
|
Action: "send_sms",
|
||||||
|
OrgId: user.ActiveOrg.Id,
|
||||||
|
PrimaryItemId: workflow.ID,
|
||||||
|
SecondaryItem: startNode,
|
||||||
|
ThirdItem: triggerInformation,
|
||||||
|
FourthItem: sms,
|
||||||
|
FifthItem: referenceExecutionId,
|
||||||
|
}
|
||||||
|
|
||||||
|
org, err := getOrg(ctx, user.ActiveOrg.Id)
|
||||||
|
if err != nil {
|
||||||
|
log.Printf("Failed email send to cloud", err)
|
||||||
|
resp.WriteHeader(401)
|
||||||
|
resp.Write([]byte(fmt.Sprintf(`{"success": false, "reason": "%s"}`, err)))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
err = executeCloudAction(action, org.SyncConfig.Apikey)
|
||||||
|
if err != nil {
|
||||||
|
log.Printf("Failed email send to cloud", err)
|
||||||
|
resp.WriteHeader(401)
|
||||||
|
resp.Write([]byte(fmt.Sprintf(`{"success": false, "reason": "%s"}`, err)))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
log.Printf("Should send SMS to %s during execution.", sms)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//log.Println("TRIGGERS")
|
//log.Println("TRIGGERS")
|
||||||
|
|||||||
@@ -1924,7 +1924,7 @@ const AngularWorkflow = (props) => {
|
|||||||
"errors": null,
|
"errors": null,
|
||||||
"is_valid": true,
|
"is_valid": true,
|
||||||
"label": "User input",
|
"label": "User input",
|
||||||
"environment": "onprem",
|
"environment": "cloud",
|
||||||
"long_description": "Take user input to continue execution",
|
"long_description": "Take user input to continue execution",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -4995,7 +4995,8 @@ const AngularWorkflow = (props) => {
|
|||||||
fullWidth
|
fullWidth
|
||||||
color="primary"
|
color="primary"
|
||||||
placeholder={"mail1@company.com,mail2@company.com"}
|
placeholder={"mail1@company.com,mail2@company.com"}
|
||||||
onChange={(event) => {
|
defaultValue={workflow.triggers[selectedTriggerIndex].parameters[3].value}
|
||||||
|
onBlur={(event) => {
|
||||||
workflow.triggers[selectedTriggerIndex].parameters[3].value = event.target.value
|
workflow.triggers[selectedTriggerIndex].parameters[3].value = event.target.value
|
||||||
setWorkflow(workflow)
|
setWorkflow(workflow)
|
||||||
setUpdate(Math.random())
|
setUpdate(Math.random())
|
||||||
@@ -5018,7 +5019,8 @@ const AngularWorkflow = (props) => {
|
|||||||
fullWidth
|
fullWidth
|
||||||
color="primary"
|
color="primary"
|
||||||
placeholder={"+474823212,+460203042"}
|
placeholder={"+474823212,+460203042"}
|
||||||
onChange={(event) => {
|
defaultValue={workflow.triggers[selectedTriggerIndex].parameters[4].value}
|
||||||
|
onBlur={(event) => {
|
||||||
workflow.triggers[selectedTriggerIndex].parameters[4].value = event.target.value
|
workflow.triggers[selectedTriggerIndex].parameters[4].value = event.target.value
|
||||||
setWorkflow(workflow)
|
setWorkflow(workflow)
|
||||||
setUpdate(Math.random())
|
setUpdate(Math.random())
|
||||||
|
|||||||
Reference in New Issue
Block a user