|
1 | 1 | <mule xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core" xmlns:salesforce="http://www.mulesoft.org/schema/mule/salesforce" 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/salesforce http://www.mulesoft.org/schema/mule/salesforce/current/mule-salesforce.xsd http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd">
|
2 | 2 | <flow name="get:\tasks:salesforce-data-api-config">
|
3 | 3 | <logger level="INFO" message="get:\tasks:salesforce-data-api-config"></logger>
|
4 |
| - <ee:transform doc:id="7e56aada-f163-47f0-8ffc-213f3acd09a8" doc:name="Store Query parameters"> |
| 4 | + <set-variable value="#[attributes.queryParams.'contactId']" doc:name='Set "contactId"' doc:id="9edba73a-8441-465f-ab43-02a563d58f06" variableName="contactId" /> |
| 5 | + <set-variable value="#[attributes.queryParams.'sessionId']" doc:name='Set "sessionId"' doc:id="15c7e2f2-87f5-4235-861f-7b758e9374e3" variableName="sessionId"/> |
| 6 | + <set-variable value="#[attributes.queryParams.'seasonId']" doc:name='Set "seasonId"' doc:id="3f28c949-f7c8-4538-9995-c72483a940fa" variableName="seasonId" /> |
| 7 | + <set-variable value="#[attributes.queryParams.'teamSeasonId']" doc:name='Set "teamSeasonId"' doc:id="6f013944-30d7-4750-9967-11eb07fb78d1" variableName="teamSeasonId" /> |
| 8 | + <set-variable value="#[attributes.queryParams.'startDate']" doc:name='Set "startDate"' doc:id="64150931-2428-43e4-94f9-ffd231cc8b27" variableName="startDate" /> |
| 9 | + <set-variable value="#[attributes.queryParams.'endDate']" doc:name='Set "endDate"' doc:id="324821c3-2447-4d4d-adca-d15fca536163" variableName="endDate" /> |
| 10 | + <ee:transform doc:id="7e56aada-f163-47f0-8ffc-213f3ecd09a8" doc:name="Prepare Query Condition"> |
5 | 11 | <ee:variables>
|
6 |
| - <ee:set-variable variableName="contactId"> |
7 |
| - <![CDATA[attributes.queryParams.'contactId']]> |
8 |
| - </ee:set-variable> |
9 |
| - <ee:set-variable variableName="sessionId"> |
10 |
| - <![CDATA[attributes.queryParams.'sessionId']]> |
11 |
| - </ee:set-variable> |
12 |
| - </ee:variables> |
13 |
| - </ee:transform> |
14 |
| - <ee:transform doc:id="7e56aada-f163-47f0-8ffc-213f3ecd09a8" doc:name="Prepare Query Condition"> |
15 |
| - <ee:variables> |
16 |
| - <ee:set-variable variableName="query"> |
17 |
| - <![CDATA[ |
18 |
| - %dw 2.0 |
19 |
| - output application/json |
20 |
| - --- |
21 |
| - if (vars.sessionId != null) |
22 |
| - "Assigned_To__c = '" ++ (vars.contactId default "") ++ "' AND Session__c = '" ++ (vars.sessionId default "") ++ "'" |
23 |
| - else |
24 |
| - "Assigned_To__c = '" ++ (vars.contactId default "") ++ "'" |
25 |
| - ]]> |
| 12 | + <ee:set-variable variableName="query"><![CDATA[ |
| 13 | +%dw 2.0 |
| 14 | +output application/json |
| 15 | +
|
| 16 | +var assignedToCond = |
| 17 | + if (vars.contactId != null) |
| 18 | + "Assigned_To__c = '" ++ (vars.contactId default "not_provided") ++ "'" |
| 19 | + else |
| 20 | + "" |
| 21 | + |
| 22 | +var sessionCond = |
| 23 | + if (vars.sessionId != null) |
| 24 | + "Session__c = '" ++ (vars.sessionId default "not_provided") ++ "'" |
| 25 | + else |
| 26 | + "" |
| 27 | +
|
| 28 | +var teamSeasonCond = |
| 29 | + if (vars.teamSeasonId != null) |
| 30 | + "Session__r.Team_Season__c = '" ++ (vars.teamSeasonId default "not_provided") ++ "'" |
| 31 | + else |
| 32 | + "" |
| 33 | + |
| 34 | +var seasonCond = |
| 35 | + if (vars.seasonId != null) |
| 36 | + "Session__r.Team_Season__r.Season__c = '" ++ (vars.seasonId default "not_provided") ++ "'" |
| 37 | + else |
| 38 | + "" |
| 39 | + |
| 40 | +var sessionStartDateCond = |
| 41 | + if (vars.startDate != null) |
| 42 | + "Session__r.Session_Date__c >= " ++ (vars.startDate default "not_provided") |
| 43 | + else |
| 44 | + "" |
| 45 | + |
| 46 | +var sessionEndDateCond = |
| 47 | + if (vars.endDate != null) |
| 48 | + "Session__r.Session_Date__c <= " ++ (vars.endDate default "not_provided") |
| 49 | + else |
| 50 | + "" |
| 51 | +
|
| 52 | +var conditions = |
| 53 | +[assignedToCond, sessionCond, teamSeasonCond, seasonCond, sessionStartDateCond, sessionEndDateCond] |
| 54 | +filter (item) -> item != "" |
| 55 | +
|
| 56 | +--- |
| 57 | +conditions joinBy " AND "]]> |
26 | 58 | </ee:set-variable>
|
27 | 59 | </ee:variables>
|
28 | 60 | </ee:transform>
|
29 |
| - <salesforce:query config-ref="Salesforce_Config" doc:id="1d085a1a-e15b-412b-a836-1014557a9abd" doc:name="Query to get tasks by contactId"> |
| 61 | + <salesforce:query config-ref="Salesforce_Config" doc:id="1d085a1a-e15b-412b-a836-1014557a9abd" doc:name="Query to get tasks by contactId"> |
30 | 62 | <salesforce:salesforce-query><![CDATA[
|
31 | 63 | SELECT
|
32 | 64 | Id,
|
|
43 | 75 | Priority_Icon__c,
|
44 | 76 | Resource_Link__c,
|
45 | 77 | Session__c,
|
| 78 | + Session__r.Session_Date__c, |
46 | 79 | Name,
|
47 | 80 | Task_Status__c,
|
48 |
| - Task_Type__c |
| 81 | + Task_Type__c, |
| 82 | + Session__r.Team_Season__c, |
| 83 | + Session__r.Team_Season__r.Season__c |
49 | 84 | FROM
|
50 | 85 | SCORES_Task__c
|
51 | 86 | WHERE
|
|
59 | 94 | }]]]>
|
60 | 95 | </salesforce:parameters>
|
61 | 96 | </salesforce:query>
|
62 |
| - <ee:transform doc:id="cca12834-e1ee-4339-90ef-91c9be555af9" doc:name="Transform Message"> |
| 97 | + <ee:transform doc:id="cca12834-e1ee-4339-90ef-91c9be555af9" doc:name="Transform Message"> |
63 | 98 | <ee:message>
|
64 |
| - <ee:set-payload> |
65 |
| - <![CDATA[%dw 2.0 |
| 99 | + <ee:set-payload><![CDATA[%dw 2.0 |
66 | 100 | output application/json
|
67 | 101 | ---
|
68 | 102 | payload map ( payload01 , indexOfpayload01 ) -> {
|
|
80 | 114 | "PriorityIcon": payload01.Priority_Icon__c as String default "",
|
81 | 115 | "ResourceLink": payload01.Resource_Link__c as String default "",
|
82 | 116 | "Session": payload01.Session__c as String default "",
|
| 117 | + "SessionDate": payload01.Session__r.Session_Date__c as String default "", |
83 | 118 | "Name": payload01.Name as String default "",
|
84 | 119 | "TaskStatus": payload01.Task_Status__c as String default "",
|
85 |
| - "TaskType": payload01.Task_Type__c as String default "" |
| 120 | + "TaskType": payload01.Task_Type__c as String default "", |
| 121 | + "TeamSeason": payload01.Session__r.Team_Season__c as String default "", |
| 122 | + "Season": payload01.Session__r.Team_Season__r.Season__c as String default "" |
86 | 123 | }]]>
|
87 | 124 | </ee:set-payload>
|
88 | 125 | </ee:message>
|
|
112 | 149 | Priority_Icon__c,
|
113 | 150 | Resource_Link__c,
|
114 | 151 | Session__c,
|
| 152 | + Session__r.Session_Date__c, |
115 | 153 | Name,
|
116 | 154 | Task_Status__c,
|
117 |
| - Task_Type__c |
| 155 | + Task_Type__c, |
| 156 | + Session__r.Team_Season__c, |
| 157 | + Session__r.Team_Season__r.Season__c |
118 | 158 | FROM
|
119 | 159 | SCORES_Task__c
|
120 | 160 | WHERE
|
@@ -147,9 +187,12 @@ payload map ( payload01 , indexOfpayload01 ) -> {
|
147 | 187 | "PriorityIcon": payload01.Priority_Icon__c as String default "",
|
148 | 188 | "ResourceLink": payload01.Resource_Link__c as String default "",
|
149 | 189 | "Session": payload01.Session__c as String default "",
|
| 190 | + "SessionDate": payload01.Session__r.Session_Date__c as String default "", |
150 | 191 | "Name": payload01.Name as String default "",
|
151 | 192 | "TaskStatus": payload01.Task_Status__c as String default "",
|
152 |
| - "TaskType": payload01.Task_Type__c as String default "" |
| 193 | + "TaskType": payload01.Task_Type__c as String default "", |
| 194 | + "TeamSeason": payload01.Session__r.Team_Season__c, |
| 195 | + "Season": payload01.Session__r.Team_Season__r.Season__c |
153 | 196 | }]]></ee:set-payload>
|
154 | 197 | </ee:message>
|
155 | 198 | </ee:transform>
|
|
0 commit comments