|
1 |
| -<?xml version="1.0" encoding="UTF-8"?> |
2 |
| - |
3 |
| -<mule xmlns:salesforce="http://www.mulesoft.org/schema/mule/salesforce" xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core" |
4 |
| - xmlns="http://www.mulesoft.org/schema/mule/core" |
5 |
| - 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 |
6 |
| -http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd |
7 |
| -http://www.mulesoft.org/schema/mule/salesforce http://www.mulesoft.org/schema/mule/salesforce/current/mule-salesforce.xsd"> |
8 |
| - <flow name="get:\waiver:salesforce-data-api-config" doc:id="dd4a0323-53eb-475f-8d22-1e47cef4fe56" > |
9 |
| - <flow-ref doc:name="entry-flow" doc:id="b1e71f84-e7aa-432a-96ce-1a44bc65e41c" name="entry-flow"/> |
10 |
| - <ee:transform doc:name="Transform Message" doc:id="0955be0d-6f6d-43f2-93d8-db11c0e90793" > |
11 |
| - <ee:message > |
12 |
| - </ee:message> |
13 |
| - <ee:variables > |
14 |
| - <ee:set-variable variableName="region" ><![CDATA[attributes.queryParams.'region']]></ee:set-variable> |
15 |
| - </ee:variables> |
16 |
| - </ee:transform> |
17 |
| - <salesforce:query doc:name="Query" doc:id="f7eea34a-c7f6-4ff7-ba4b-e76c55c9d153" config-ref="Salesforce_Config"> |
18 |
| - <salesforce:salesforce-query ><![CDATA[SELECT Id,Name,WaiverRegion__c,WaiverSource_email__c,WaiverSource__c,WaiverText__c,Waiver_Active_End__c,Waiver_Active_Start__c FROM Waiver__c WHERE WaiverRegion__c = ':region']]></salesforce:salesforce-query> |
19 |
| - <salesforce:parameters ><![CDATA[#[output application/java |
| 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/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd http://www.mulesoft.org/schema/mule/salesforce http://www.mulesoft.org/schema/mule/salesforce/current/mule-salesforce.xsd"> |
| 2 | + <flow doc:id="dd4a0323-53eb-475f-8d22-1e47cef4fe56" name="get:\waiver:salesforce-data-api-config"> |
| 3 | + <flow-ref doc:id="b1e71f84-e7aa-432a-96ce-1a44bc65e41c" doc:name="entry-flow" name="entry-flow"></flow-ref> |
| 4 | + <ee:transform doc:id="0955be0d-6f6d-43f2-93d8-db11c0e90793" doc:name="Transform Message"> |
| 5 | + <ee:message></ee:message> |
| 6 | + <ee:variables> |
| 7 | + <ee:set-variable variableName="region"> |
| 8 | + <![CDATA[attributes.queryParams.'region']]> |
| 9 | + </ee:set-variable> |
| 10 | + </ee:variables> |
| 11 | + </ee:transform> |
| 12 | + <salesforce:query config-ref="Salesforce_Config" doc:id="f7eea34a-c7f6-4ff7-ba4b-e76c55c9d153" doc:name="Query"> |
| 13 | + <salesforce:salesforce-query> |
| 14 | + <![CDATA[SELECT Id,Name,WaiverRegion__c,WaiverSource_email__c,WaiverSource__c,WaiverText__c,Waiver_Active_End__c,Waiver_Active_Start__c, Archived__c FROM Waiver__c WHERE WaiverRegion__c = ':region']]> |
| 15 | + </salesforce:salesforce-query> |
| 16 | + <salesforce:parameters> |
| 17 | + <![CDATA[#[output application/java |
20 | 18 | ---
|
21 | 19 | {
|
22 | 20 | region : vars.region
|
23 |
| -}]]]></salesforce:parameters> |
24 |
| - </salesforce:query> |
25 |
| - <ee:transform doc:name="Transform Message" doc:id="07e0a122-9cec-42b7-8487-a2be14f422b2"> |
26 |
| - <ee:message> |
27 |
| - <ee:set-payload><![CDATA[%dw 2.0 |
| 21 | +}]]]> |
| 22 | + </salesforce:parameters> |
| 23 | + </salesforce:query> |
| 24 | + <ee:transform doc:id="filter-transform" doc:name="Filter Archived Items"> |
| 25 | + <ee:message> |
| 26 | + <ee:set-payload> |
| 27 | + <![CDATA[%dw 2.0 |
28 | 28 | output application/json
|
29 | 29 | ---
|
30 |
| -payload map ( payload01 ,indexOfPayload01 ) -> { |
31 |
| - WaiverId: payload01.Id as String default "", |
32 |
| - Name: payload01.Name as String default "", |
33 |
| - Region: payload01.WaiverRegion__c as String default "", |
34 |
| - SourceEmail: payload01.WaiverSource_email__c as String default "", |
35 |
| - Source: payload01.WaiverSource__c as String default "", |
36 |
| - Content: payload01.WaiverText__c as String default "", |
37 |
| - ValidFrom: payload01.Waiver_Active_End__c as String default "", |
38 |
| - ValidUntil: payload01.Waiver_Active_Start__c as String default "", |
39 |
| - PaperReceived: payload01.Paper_Form_Received__c as Boolean default false |
40 |
| -}]]></ee:set-payload> |
41 |
| - </ee:message> |
42 |
| - </ee:transform> |
43 |
| - <flow-ref doc:name="exit-flow" doc:id="00c2dda1-3348-4a07-90c8-7840a86d048d" name="exit-flow"/> |
44 |
| - </flow> |
45 |
| - <flow name="post:\waiver\(waiverId):application\json:salesforce-data-api-config" doc:id="8b1473c4-3931-4408-9c18-5d77ac8fc694" > |
46 |
| - <flow-ref doc:name="entry-flow" doc:id="4e9a74ac-9da5-4a28-ab4c-1f74f9c952cd" name="entry-flow" /> |
47 |
| - <choice doc:name="Choice" doc:id="bplsbn" > |
48 |
| - <when expression="#[vars.waiverId == null]"> |
49 |
| - <ee:transform doc:name="Transform Message" doc:id="72ce180c-ba71-4658-ad7a-4162acfea0a9" > |
50 |
| - <ee:variables > |
51 |
| - <ee:set-variable variableName="waiverId" ><![CDATA[attributes.uriParams.'waiverId']]></ee:set-variable> |
52 |
| - </ee:variables> |
53 |
| - </ee:transform> |
54 |
| - </when> |
55 |
| - </choice> |
56 |
| - <salesforce:create doc:name="Create" doc:id="152574e4-872a-4c9e-89d9-bbf784f017c0" config-ref="Salesforce_Config" type="Waiver_History__c"> |
57 |
| - <salesforce:records ><![CDATA[#[output application/java |
| 30 | +(payload default []) |
| 31 | + // Filter out archived items |
| 32 | + filter (payload01) -> not (payload01.Archived__c as Boolean) |
| 33 | +]]> |
| 34 | + </ee:set-payload> |
| 35 | + </ee:message> |
| 36 | + </ee:transform> |
| 37 | + <ee:transform doc:id="map-transform" doc:name="Map Filtered Items"> |
| 38 | + <ee:message> |
| 39 | + <ee:set-payload> |
| 40 | + <![CDATA[%dw 2.0 |
| 41 | +output application/json |
| 42 | +--- |
| 43 | +payload |
| 44 | + // Map the filtered items to the desired format |
| 45 | + map (payload01) -> { |
| 46 | + WaiverId: payload01.Id as String default "", |
| 47 | + Name: payload01.Name as String default "", |
| 48 | + Region: payload01.WaiverRegion__c as String default "", |
| 49 | + SourceEmail: payload01.WaiverSource_email__c as String default "", |
| 50 | + Source: payload01.WaiverSource__c as String default "", |
| 51 | + Content: payload01.WaiverText__c as String default "", |
| 52 | + ValidFrom: payload01.Waiver_Active_End__c as String default "", |
| 53 | + ValidUntil: payload01.Waiver_Active_Start__c as String default "", |
| 54 | + Archived: payload01.Archived__c as Boolean default false |
| 55 | + } |
| 56 | +]]> |
| 57 | + </ee:set-payload> |
| 58 | + </ee:message> |
| 59 | + </ee:transform> |
| 60 | + <flow-ref doc:id="00c2dda1-3348-4a07-90c8-7840a86d048d" doc:name="exit-flow" name="exit-flow"></flow-ref> |
| 61 | + </flow> |
| 62 | + <flow doc:id="8b1473c4-3931-4408-9c18-5d77ac8fc694" name="post:\waiver\(waiverId):application\json:salesforce-data-api-config"> |
| 63 | + <flow-ref doc:id="4e9a74ac-9da5-4a28-ab4c-1f74f9c952cd" doc:name="entry-flow" name="entry-flow"></flow-ref> |
| 64 | + <choice doc:id="bplsbn" doc:name="Choice"> |
| 65 | + <when expression="#[vars.waiverId == null]"> |
| 66 | + <ee:transform doc:id="72ce180c-ba71-4658-ad7a-4162acfea0a9" doc:name="Transform Message"> |
| 67 | + <ee:variables> |
| 68 | + <ee:set-variable variableName="waiverId"> |
| 69 | + <![CDATA[attributes.uriParams.'waiverId']]> |
| 70 | + </ee:set-variable> |
| 71 | + </ee:variables> |
| 72 | + </ee:transform> |
| 73 | + </when> |
| 74 | + </choice> |
| 75 | + <salesforce:create config-ref="Salesforce_Config" doc:id="152574e4-872a-4c9e-89d9-bbf784f017c0" doc:name="Create" type="Waiver_History__c"> |
| 76 | + <salesforce:records> |
| 77 | + <![CDATA[#[output application/java |
58 | 78 | ---
|
59 | 79 | [{
|
60 | 80 | Waiver__c: vars.waiverId,
|
61 | 81 | WaiverEvent__c: payload.waiverResponse,
|
62 | 82 | WaiverEvent_DateTime__c: payload.datetime as DateTime {format: "yyyy-MM-dd'T'HH:mm:ssz"},
|
63 | 83 | Waiver_Contact__c: payload.contactId,
|
64 | 84 | WaiverSignature_email__c: payload.contactEmail,
|
65 |
| - Paper_Form_Received__c: payload.PaperReceived |
66 |
| -}]]]]></salesforce:records> |
67 |
| - </salesforce:create> |
68 |
| - <choice doc:name="Choice" doc:id="b35bd46b-d29e-4976-8e2b-b74f74afa199"> |
69 |
| - <when expression="#[payload.successful == false and payload..errors != null]"> |
70 |
| - <logger level="INFO" doc:name="Logger" doc:id="2b354024-fa67-4edf-9d72-97886e5b084e" message="#[payload.items[0].message]" /> |
71 |
| - <ee:transform doc:name="Transform Message" doc:id="bce41c8d-176f-45bd-b28f-8e1fb95f3744"> |
72 |
| - <ee:message> |
73 |
| - <ee:set-payload><![CDATA[%dw 2.0 |
| 85 | + Signed_Paper_Form_Received__c: payload.PaperReceived |
| 86 | +}]]]]> |
| 87 | + </salesforce:records> |
| 88 | + </salesforce:create> |
| 89 | + <choice doc:id="b35bd46b-d29e-4976-8e2b-b74f74afa199" doc:name="Choice"> |
| 90 | + <when expression="#[payload.successful == false and payload..errors != null]"> |
| 91 | + <logger doc:id="2b354024-fa67-4edf-9d72-97886e5b084e" doc:name="Logger" level="INFO" message="#[payload.items[0].message]"></logger> |
| 92 | + <ee:transform doc:id="bce41c8d-176f-45bd-b28f-8e1fb95f3744" doc:name="Transform Message"> |
| 93 | + <ee:message> |
| 94 | + <ee:set-payload> |
| 95 | + <![CDATA[%dw 2.0 |
74 | 96 | output application/json
|
75 | 97 | ---
|
76 |
| -message: "Waiver History creation failed"]]></ee:set-payload> |
77 |
| - </ee:message> |
78 |
| - </ee:transform> |
79 |
| - <raise-error doc:name="Raise error" doc:id="d316eae0-0b40-413b-8346-38a855763a8f" type="CREATECONTACT:CONFLICT" /> |
80 |
| - </when> |
81 |
| - <otherwise> |
82 |
| - <ee:transform doc:name="Create response" doc:id="e46654f4-c283-433b-ae4d-d2a4ae4ae206" xsi:schemaLocation="http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd"> |
83 |
| - <ee:message> |
84 |
| - <ee:set-payload><![CDATA[%dw 2.0 |
| 98 | +message: "Waiver History creation failed"]]> |
| 99 | + </ee:set-payload> |
| 100 | + </ee:message> |
| 101 | + </ee:transform> |
| 102 | + <raise-error doc:id="d316eae0-0b40-413b-8346-38a855763a8f" doc:name="Raise error" type="CREATECONTACT:CONFLICT"></raise-error> |
| 103 | + </when> |
| 104 | + <otherwise> |
| 105 | + <ee:transform doc:id="e46654f4-c283-433b-ae4d-d2a4ae4ae206" doc:name="Create response" xsi:schemaLocation="http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd"> |
| 106 | + <ee:message> |
| 107 | + <ee:set-payload> |
| 108 | + <![CDATA[%dw 2.0 |
85 | 109 | output application/json
|
86 | 110 | ---
|
87 | 111 | {
|
88 | 112 | WaiverHistory: payload.items[0].id
|
89 |
| -}]]></ee:set-payload> |
90 |
| - </ee:message> |
91 |
| - <ee:variables /> |
92 |
| - </ee:transform> |
93 |
| - </otherwise> |
94 |
| - </choice> |
95 |
| - </flow> |
| 113 | +}]]> |
| 114 | + </ee:set-payload> |
| 115 | + </ee:message> |
| 116 | + <ee:variables></ee:variables> |
| 117 | + </ee:transform> |
| 118 | + </otherwise> |
| 119 | + </choice> |
| 120 | + </flow> |
| 121 | + <flow name="get:\waiverHistory:salesforce-data-api-config"> |
| 122 | + <ee:transform doc:id="0955be0d-6f6d-43f2-933d8-db11c0e90793" doc:name="Get ContactID"> |
| 123 | + <ee:message></ee:message> |
| 124 | + <ee:variables> |
| 125 | + <ee:set-variable variableName="contactId"> |
| 126 | + <![CDATA[attributes.queryParams.'contactId']]> |
| 127 | + </ee:set-variable> |
| 128 | + </ee:variables> |
| 129 | + </ee:transform> |
| 130 | + <salesforce:query config-ref="Salesforce_Config" doc:id="f37eea34a-c7f6-4ff7-ba4b-e76c55c9d153" doc:name="Query to Retrieve `Waiver_History__c`"> |
| 131 | + <salesforce:salesforce-query> |
| 132 | + <![CDATA[SELECT Id, Name, Waiver__c, Signed_Paper_Form_Received__c, Waiver_Contact__c, WaiverSignature_email__c, Date_Signed_Paper_Form_Received__c, Waiver_Creation_Date__c FROM Waiver_History__c WHERE Waiver_Contact__c = ':region']]> |
| 133 | + </salesforce:salesforce-query> |
| 134 | + <salesforce:parameters> |
| 135 | + <![CDATA[#[output application/java |
| 136 | + --- |
| 137 | + { |
| 138 | + region : vars.contactId |
| 139 | + }]]]> |
| 140 | + </salesforce:parameters> |
| 141 | + </salesforce:query> |
| 142 | + <ee:transform doc:id="map-transform-2" doc:name="Map Items"> |
| 143 | + <ee:message> |
| 144 | + <ee:set-payload> |
| 145 | + <![CDATA[%dw 2.0 |
| 146 | + output application/json |
| 147 | + --- |
| 148 | + payload |
| 149 | + // Map the filtered items to the desired format |
| 150 | + map (payload01) -> { |
| 151 | + WaiverHistoryId: payload01.Id as String default "", |
| 152 | + Name: payload01.Name as String default "", |
| 153 | + WaiverId: payload01.Waiver__c as String default "", |
| 154 | + PaperReceived: payload01.Signed_Paper_Form_Received__c as Boolean default false, |
| 155 | + ContactId: payload01.Waiver_Contact__c as String default "", |
| 156 | + ContactEmail: payload01.WaiverSignature_email__c as String default "", |
| 157 | + PaperReceivedDate: payload01.Date_Signed_Paper_Form_Received__c as String default "", |
| 158 | + WaiverCreationDate: payload01.Waiver_Creation_Date__c as String default "" |
| 159 | + } |
| 160 | + ]]> |
| 161 | + </ee:set-payload> |
| 162 | + </ee:message> |
| 163 | + </ee:transform> |
| 164 | + </flow> |
96 | 165 | </mule>
|
0 commit comments