laniak-core-api

Mule Configuration Image
<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd">
    <flow name="updateTaskWorkflowStatus" doc:id="e64a9b0e-0adf-47eb-8c9d-1400df11fbe3"> 
        <ee:transform doc:name="Transform Message" doc:id="4ec53f39-8f96-4f1c-aa68-da5ccb5e535f"> 
            <ee:message> 
                <ee:set-payload><![CDATA[%dw 2.0

output application/json

---

{

    taskId : payload.taskId,

    field: "TaskStatus",

    fieldValue: payload.newWorkflowState

}]]>    </ee:set-payload>
            </ee:message> 
        </ee:transform>  
        <flow-ref doc:name="updateTaskFields" doc:id="379cdc5f-8806-4284-9860-dd688b1bd623" name="updateTaskFields"/> 
    </flow>  
    <flow name="updateTaskWorkflowActivity" doc:id="3f30cab9-3cad-4078-9abe-5858ae67d3bc"> 
        <ee:transform doc:name="Transform Message" doc:id="c3f7a703-bcfc-493b-a6cc-25a556709190"> 
            <ee:message> 
                <ee:set-payload><![CDATA[%dw 2.0

output application/json

---

{

    "taskId" : payload.taskId,

    "userNameBy" : payload.userName,

    "userId" : payload.userId,

    "dateUpdated" : now(),

    "updateType" : "workflow",

    "prevWorkflowState" : payload.currentWorkflowState,

    "nextWorkflowState" : payload.newWorkflowState

}]]>    </ee:set-payload>
            </ee:message> 
        </ee:transform>  
        <flow-ref doc:name="updateTaskActivity" doc:id="46cb2ee9-5b99-43f7-8cf5-61a9878c0539" name="updateTaskActivity"/> 
    </flow>  
    <flow name="updateTaskCommentActivity" doc:id="01af8808-9f1e-4a8e-b992-20adb0281691"> 
        <ee:transform doc:name="Transform Message" doc:id="d9e0e407-898c-4bb8-b552-fffa4f253c1f"> 
            <ee:message> 
                <ee:set-payload><![CDATA[%dw 2.0

output application/json

---

{

    "taskId" : payload.taskId,

    "userNameBy" : payload.userName,

    "userId" : payload.userId,

    "dateUpdated" : now(),

    "updateType" : "comment",

    "activityData" : payload.data,

}]]>    </ee:set-payload>
            </ee:message> 
        </ee:transform>  
        <flow-ref doc:name="updateTaskActivity" doc:id="dfd1e76b-923d-4355-bbac-c1f1990bc6a9" name="updateTaskActivity"/> 
    </flow>  
    <flow name="updateTaskAttachmentActivity" doc:id="162de245-0abf-4e2a-bc6c-09c94784a7fc"> 
        <ee:transform doc:name="Transform Message" doc:id="6028dccc-2a23-4223-88b8-cff90bf1c708"> 
            <ee:message> 
                <ee:set-payload><![CDATA[%dw 2.0

output application/json

---

{

    "taskId" : payload.taskId,

    "userNameBy" : payload.userName,

    "userId" : payload.userId,

    "dateUpdated" : now(),

    "updateType" : "attachment",

    "comment" : payload.commentData,

    "fileName" : payload.fileName,

    "url" : payload.url

}]]>    </ee:set-payload>
            </ee:message> 
        </ee:transform>  
        <flow-ref doc:name="updateTaskActivity" doc:id="77528de2-4cb0-42bb-aba3-d650f7431e49" name="updateTaskActivity"/> 
    </flow>  
    <flow name="mainTaskActivityWorkflowUpdateFlow" doc:id="646e2031-8e50-4390-996b-bb81c3f6a2cc"> 
        <set-variable value="#[payload]" doc:name="Set backup_payload" doc:id="2a94f404-83f1-48d8-9df6-a9c4b80b51dc" variableName="backup_payload"/>  
        <choice doc:name="Choice" doc:id="abdc1e84-4558-44ba-b928-80b6539db4d0"> 
            <when expression="#[if (((typeOf(payload) ~= &quot;Array&quot;) and (payload[0].updateType == &quot;workflow&quot;)) or (payload.updateType == &quot;workflow&quot;)) true else false]"> 
                <choice doc:name="Choice" doc:id="8666121e-53a2-4f5c-b81d-19072b9f6922"> 
                    <when expression="#[typeOf(payload) ~= &quot;Array&quot;]"> 
                        <foreach doc:name="For Each" doc:id="b191c2f7-1147-4ecf-a255-2cad6d4f725b"> 
                            <try doc:name="Try" doc:id="a27e4bea-de6e-4153-b94a-a84e3e3c96f6" transactionalAction="ALWAYS_BEGIN"> 
                                <flow-ref doc:name="updateTaskWorkflowStatus" doc:id="e0020059-cb34-4fa3-abe0-55474709bb0d" name="updateTaskWorkflowStatus"/>  
                                <ee:transform doc:name="Transform Message" doc:id="bc1c5510-a2ef-4692-94f0-8a6e04d749f6"> 
                                    <ee:message> 
                                        <ee:set-payload><![CDATA[%dw 2.0

output application/json

---

vars.backup_payload[vars.counter - 1]]]>    </ee:set-payload>
                                    </ee:message> 
                                </ee:transform>  
                                <flow-ref doc:name="updateTaskWorkflowActivity" doc:id="6a530122-90b2-4ca7-8ccd-ba35f9464568" name="updateTaskWorkflowActivity"/> 
                            </try> 
                        </foreach> 
                    </when>  
                    <otherwise> 
                        <try doc:name="Try" doc:id="7fa5597a-0a99-4e2f-8da1-9ab846f53a69" transactionalAction="ALWAYS_BEGIN"> 
                            <flow-ref doc:name="updateTaskWorkflowStatus" doc:id="86623f67-a374-44ca-954f-eabd2d729172" name="updateTaskWorkflowStatus"/>  
                            <ee:transform doc:name="Transform Message" doc:id="ef86aa51-3ca3-474e-90a0-c699fc38eda7"> 
                                <ee:message> 
                                    <ee:set-payload><![CDATA[%dw 2.0

output application/json

---

vars.backup_payload]]>  </ee:set-payload>
                                </ee:message> 
                            </ee:transform>  
                            <flow-ref doc:name="updateTaskWorkflowActivity" doc:id="398f660e-09bc-4ef7-b834-6178fb4cc772" name="updateTaskWorkflowActivity"/> 
                        </try> 
                    </otherwise> 
                </choice> 
            </when>  
            <when expression="#[payload.updateType == &quot;attachment&quot;]"> 
                <flow-ref doc:name="updateTaskAttachmentActivity" doc:id="838777b6-3fd1-4d78-91cc-ecbca7151021" name="updateTaskAttachmentActivity"/> 
            </when>  
            <otherwise> 
                <flow-ref doc:name="updateTaskCommentActivity" doc:id="929b2cb6-f06a-4474-9f93-580654576b5b" name="updateTaskCommentActivity"/> 
            </otherwise> 
        </choice> 
    </flow> 
</mule>
updateTaskWorkflowStatus image
<?xml version="1.0" encoding="UTF-8"?>

<flow name="updateTaskWorkflowStatus" doc:id="e64a9b0e-0adf-47eb-8c9d-1400df11fbe3">  
    <ee:transform doc:name="Transform Message" doc:id="4ec53f39-8f96-4f1c-aa68-da5ccb5e535f">  
        <ee:message> 
            <ee:set-payload><![CDATA[%dw 2.0

output application/json

---

{

    taskId : payload.taskId,

    field: "TaskStatus",

    fieldValue: payload.newWorkflowState

}]]>    </ee:set-payload>
        </ee:message> 
    </ee:transform>  
    <flow-ref doc:name="updateTaskFields" doc:id="379cdc5f-8806-4284-9860-dd688b1bd623" name="updateTaskFields"/> 
</flow>

updateTaskWorkflowActivity image
<?xml version="1.0" encoding="UTF-8"?>

<flow name="updateTaskWorkflowActivity" doc:id="3f30cab9-3cad-4078-9abe-5858ae67d3bc">  
    <ee:transform doc:name="Transform Message" doc:id="c3f7a703-bcfc-493b-a6cc-25a556709190">  
        <ee:message> 
            <ee:set-payload><![CDATA[%dw 2.0

output application/json

---

{

    "taskId" : payload.taskId,

    "userNameBy" : payload.userName,

    "userId" : payload.userId,

    "dateUpdated" : now(),

    "updateType" : "workflow",

    "prevWorkflowState" : payload.currentWorkflowState,

    "nextWorkflowState" : payload.newWorkflowState

}]]>    </ee:set-payload>
        </ee:message> 
    </ee:transform>  
    <flow-ref doc:name="updateTaskActivity" doc:id="46cb2ee9-5b99-43f7-8cf5-61a9878c0539" name="updateTaskActivity"/> 
</flow>

updateTaskCommentActivity image
<?xml version="1.0" encoding="UTF-8"?>

<flow name="updateTaskCommentActivity" doc:id="01af8808-9f1e-4a8e-b992-20adb0281691">  
    <ee:transform doc:name="Transform Message" doc:id="d9e0e407-898c-4bb8-b552-fffa4f253c1f">  
        <ee:message> 
            <ee:set-payload><![CDATA[%dw 2.0

output application/json

---

{

    "taskId" : payload.taskId,

    "userNameBy" : payload.userName,

    "userId" : payload.userId,

    "dateUpdated" : now(),

    "updateType" : "comment",

    "activityData" : payload.data,

}]]>    </ee:set-payload>
        </ee:message> 
    </ee:transform>  
    <flow-ref doc:name="updateTaskActivity" doc:id="dfd1e76b-923d-4355-bbac-c1f1990bc6a9" name="updateTaskActivity"/> 
</flow>

updateTaskAttachmentActivity image
<?xml version="1.0" encoding="UTF-8"?>

<flow name="updateTaskAttachmentActivity" doc:id="162de245-0abf-4e2a-bc6c-09c94784a7fc">  
    <ee:transform doc:name="Transform Message" doc:id="6028dccc-2a23-4223-88b8-cff90bf1c708">  
        <ee:message> 
            <ee:set-payload><![CDATA[%dw 2.0

output application/json

---

{

    "taskId" : payload.taskId,

    "userNameBy" : payload.userName,

    "userId" : payload.userId,

    "dateUpdated" : now(),

    "updateType" : "attachment",

    "comment" : payload.commentData,

    "fileName" : payload.fileName,

    "url" : payload.url

}]]>    </ee:set-payload>
        </ee:message> 
    </ee:transform>  
    <flow-ref doc:name="updateTaskActivity" doc:id="77528de2-4cb0-42bb-aba3-d650f7431e49" name="updateTaskActivity"/> 
</flow>

mainTaskActivityWorkflowUpdateFlow image
<?xml version="1.0" encoding="UTF-8"?>

<flow name="mainTaskActivityWorkflowUpdateFlow" doc:id="646e2031-8e50-4390-996b-bb81c3f6a2cc">  
    <set-variable value="#[payload]" doc:name="Set backup_payload" doc:id="2a94f404-83f1-48d8-9df6-a9c4b80b51dc" variableName="backup_payload"/>  
    <choice doc:name="Choice" doc:id="abdc1e84-4558-44ba-b928-80b6539db4d0"> 
        <when expression="#[if (((typeOf(payload) ~= &quot;Array&quot;) and (payload[0].updateType == &quot;workflow&quot;)) or (payload.updateType == &quot;workflow&quot;)) true else false]"> 
            <choice doc:name="Choice" doc:id="8666121e-53a2-4f5c-b81d-19072b9f6922"> 
                <when expression="#[typeOf(payload) ~= &quot;Array&quot;]"> 
                    <foreach doc:name="For Each" doc:id="b191c2f7-1147-4ecf-a255-2cad6d4f725b"> 
                        <try doc:name="Try" doc:id="a27e4bea-de6e-4153-b94a-a84e3e3c96f6" transactionalAction="ALWAYS_BEGIN"> 
                            <flow-ref doc:name="updateTaskWorkflowStatus" doc:id="e0020059-cb34-4fa3-abe0-55474709bb0d" name="updateTaskWorkflowStatus"/>  
                            <ee:transform doc:name="Transform Message" doc:id="bc1c5510-a2ef-4692-94f0-8a6e04d749f6">  
                                <ee:message> 
                                    <ee:set-payload><![CDATA[%dw 2.0

output application/json

---

vars.backup_payload[vars.counter - 1]]]>    </ee:set-payload>
                                </ee:message> 
                            </ee:transform>  
                            <flow-ref doc:name="updateTaskWorkflowActivity" doc:id="6a530122-90b2-4ca7-8ccd-ba35f9464568" name="updateTaskWorkflowActivity"/> 
                        </try> 
                    </foreach> 
                </when>  
                <otherwise> 
                    <try doc:name="Try" doc:id="7fa5597a-0a99-4e2f-8da1-9ab846f53a69" transactionalAction="ALWAYS_BEGIN"> 
                        <flow-ref doc:name="updateTaskWorkflowStatus" doc:id="86623f67-a374-44ca-954f-eabd2d729172" name="updateTaskWorkflowStatus"/>  
                        <ee:transform doc:name="Transform Message" doc:id="ef86aa51-3ca3-474e-90a0-c699fc38eda7">  
                            <ee:message> 
                                <ee:set-payload><![CDATA[%dw 2.0

output application/json

---

vars.backup_payload]]>  </ee:set-payload>
                            </ee:message> 
                        </ee:transform>  
                        <flow-ref doc:name="updateTaskWorkflowActivity" doc:id="398f660e-09bc-4ef7-b834-6178fb4cc772" name="updateTaskWorkflowActivity"/> 
                    </try> 
                </otherwise> 
            </choice> 
        </when>  
        <when expression="#[payload.updateType == &quot;attachment&quot;]"> 
            <flow-ref doc:name="updateTaskAttachmentActivity" doc:id="838777b6-3fd1-4d78-91cc-ecbca7151021" name="updateTaskAttachmentActivity"/> 
        </when>  
        <otherwise> 
            <flow-ref doc:name="updateTaskCommentActivity" doc:id="929b2cb6-f06a-4474-9f93-580654576b5b" name="updateTaskCommentActivity"/> 
        </otherwise> 
    </choice> 
</flow>