Skip to content

Commit 4695d45

Browse files
2 parents 8867d03 + 462539e commit 4695d45

File tree

2 files changed

+41
-25
lines changed

2 files changed

+41
-25
lines changed

docs/Scores - Salesforce Data API.postman_collection.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1245,15 +1245,15 @@
12451245
],
12461246
"body": {
12471247
"mode": "raw",
1248-
"raw": "{\n \"SessionDate\": \"2025-11-19\",\n \"SessionTopic\": \"Game Day\",\n \"TeamSeasonId\": \"a0qcX000000GEggQAG\",\n \"SessionStart\": \"16:00:00.000Z\",\n \"SessionEnd\": \"18:00:00.000Z\" \n}",
1248+
"raw": "{\n \"SessionDate\": \"2025-11-19\",\n \"SessionTopic\": \"Game Day\",\n \"TeamSeasonId\": \"a0qcX000000GEggQAG\",\n \"SessionStart\": \"16:00:00.000Z\",\n \"SessionEnd\": \"18:00:00.000Z\",\n \"CoachId\": \"003UQ00000EiAy9YAF\"\n}",
12491249
"options": {
12501250
"raw": {
12511251
"language": "json"
12521252
}
12531253
}
12541254
},
12551255
"url": {
1256-
"raw": "{{base_url_s}}/sessions?createAttendances=True",
1256+
"raw": "{{base_url_s}}/sessions?createAttendanceTask=true",
12571257
"host": [
12581258
"{{base_url_s}}"
12591259
],
@@ -1262,8 +1262,8 @@
12621262
],
12631263
"query": [
12641264
{
1265-
"key": "createAttendances",
1266-
"value": "True"
1265+
"key": "createAttendanceTask",
1266+
"value": "true"
12671267
}
12681268
]
12691269
}

src/main/mule/sessions.xml

Lines changed: 37 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -217,9 +217,10 @@ output application/json
217217
doc:name="Log entry-flow"
218218
doc:id="eeb32be2-c86a-4bb7-a34d-7258ee797f6a"
219219
message="Method and Request Path stored as vars: method=#[vars.method], request path=#[vars.requestPath]. queryparams=#[attributes.queryParams]" />
220-
<set-variable value="#[attributes.queryParams.createAttendances as Boolean default false]" doc:name="Set CreateAttendances" doc:id="8728d853-7e61-4646-86cb-d1cfd593450a" variableName="createAttendances"/>
221220
<set-variable value="#[payload.TeamSeasonId]" doc:name="Set TeamSeasonId" doc:id="e19555a7-5f6e-4b6c-9e7c-0d66f9b6bf8f" variableName="teamSeasonId" />
222221
<set-variable value="#[payload.SessionDate]" doc:name="Set SessionDate" doc:id="d52910ea-c4e3-47b8-9b98-e043c13b4d85" variableName="sessionDate" />
222+
<set-variable value="#[payload.CoachId]" doc:name="Set Coach" doc:id="71ea2ada-69c8-4564-b64b-0ba92f60882b" variableName="coachId" />
223+
<set-variable value="#[attributes.queryParams.createAttendanceTask]" doc:name='Set Variable "createAttendanceTask"' doc:id="1b9a368e-4346-46e0-b7bc-3083b2c1a243" variableName="createAttendanceTask"/>
223224
<ee:transform
224225
doc:name="Create Request"
225226
doc:id="38bd186d-e6af-481c-9dd1-3405eba1e8d8">
@@ -249,36 +250,36 @@ output application/java
249250
</when>
250251
</choice>
251252
<set-variable value="#[payload.items[0].id]" doc:name="Set SessionId" doc:id="1bb65f85-ccb1-44dd-a649-6037aca328c7" variableName="sessionId" />
252-
<choice doc:name="Choice" doc:id="636e0665-a408-4d9e-9339-8b0345da5589" >
253-
<when expression="#[vars.createAttendances]">
254-
<flow-ref doc:name="Call `createAttendancesForSessionBasedOnTeamSeasonId`" doc:id="26220665-5702-4b5f-9199-6ed08d3c4191" name="createAttendancesForSessionBasedOnTeamSeasonId" />
255-
<ee:transform doc:name="Create Response" doc:id="a4e94cf9-897d-425c-8a69-8fea59b8728b" xsi:schemaLocation="http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd">
256-
<ee:message>
257-
<ee:set-payload><![CDATA[%dw 2.0
253+
<choice doc:name="Choice" doc:id="ad29689f-5ade-4792-a9ea-dea7eb927af2">
254+
<when expression="#[vars.coachId != null and ((vars.createAttendanceTask as Boolean) default true)]" >
255+
<set-payload value='#[%dw 2.0
258256
output application/json
259257
---
260258
{
261-
"SessionId": vars.sessionId,
262-
"Attendances": payload
263-
}
264-
]]></ee:set-payload>
265-
</ee:message>
266-
</ee:transform>
259+
"AssignedTo": vars.coachId,
260+
"CreatedByContact": vars.coachId,
261+
"DueDate": vars.sessionDate,
262+
"LastModifiedBy": vars.coachId,
263+
"OwnerId": "0051T000009eHfvQAE",
264+
"Session": vars.sessionId,
265+
"TaskType": "Take Attendance",
266+
"Name": "Take attendance " ++ (vars.sessionDate as Date) as String default ""
267+
}]' doc:name="Set Payload" doc:id="1f7ed8e0-874b-485a-b9bf-a02c35ff996a" />
268+
<flow-ref doc:name="Flow Reference" doc:id="46118eaf-9e3c-4c76-804b-4f5ace196354" name="post:\tasks:application\json:salesforce-data-api-config"/>
267269
</when>
268-
<otherwise >
269-
<ee:transform doc:name="Create Response" doc:id="bb26a451-14f2-416c-9d61-2c9e0953227d" xsi:schemaLocation="http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd" >
270+
</choice>
271+
<ee:transform doc:name="Create Response" doc:id="55d45f1a-8a01-4141-a272-b76c478eb509" xsi:schemaLocation="http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd" >
270272
<ee:message >
271273
<ee:set-payload ><![CDATA[%dw 2.0
272274
output application/json
273275
---
274276
{
275277
"SessionId": vars.sessionId,
276-
"Attendances": []
278+
"TaskId": payload.TaskId default null,
279+
"Attendances": payload.Attendances default []
277280
}]]></ee:set-payload>
278281
</ee:message>
279282
</ee:transform>
280-
</otherwise>
281-
</choice>
282283
<logger level="INFO" doc:name="Log Created Response" doc:id="640a58eb-a8ab-40f9-bcc2-a9cadcf86bb5" message="#[payload]" />
283284
</flow>
284285
<flow name="delete:\sessions\(sessionId):salesforce-data-api-config" doc:id="d97b31a5-0ea7-46d3-a346-cbca136228e3" >
@@ -330,7 +331,9 @@ payload]">
330331
sessionId : vars.sessionId
331332
}]]]></salesforce:parameters>
332333
</salesforce:query>
333-
<salesforce:query doc:name="Select Query with sessionId from SCORES_Task Object" doc:id="d60136d3-1af9-4f3e-8d6d-55a308800149" config-ref="Salesforce_Config" target="tasksResponse" targetValue="#[output application/json &#10;---&#10;payload]">
334+
<salesforce:query doc:name="Select Query with sessionId from SCORES_Task Object" doc:id="d60136d3-1af9-4f3e-8d6d-55a308800149" config-ref="Salesforce_Config" target="tasksResponse" targetValue="#[output application/json
335+
---
336+
payload]">
334337
<salesforce:salesforce-query><![CDATA[SELECT Id, Session__c FROM SCORES_Task__c WHERE Session__c = ':sessionId'
335338
]]></salesforce:salesforce-query>
336339
<salesforce:parameters><![CDATA[#[output application/java
@@ -350,8 +353,21 @@ payload]">
350353
sessionId : vars.sessionId
351354
}]]]></salesforce:parameters>
352355
</salesforce:query>
353-
<set-variable value='#[%dw 2.0&#10;output application/json&#10;---&#10;{&#10; ids: vars.tasksResponse map (item, itemIndex) -&gt; (item.Id) default [],&#10;}]' doc:name="Set Tasks Ids" doc:id="63c78d85-abc5-4fe8-8dbf-d900258c9935" variableName="tasksResponsePrepared" />
354-
<set-variable value='#[%dw 2.0&#10;output application/json&#10;var attendedTrue = vars.attendanceResponse filter (item, itemIndex) -&gt; (item.Attended__c == "true")&#10;---&#10;{&#10; toRemove: isEmpty(attendedTrue),&#10; ids: vars.attendanceResponse map (item, itemIndex) -&gt; (item.Id) default [],&#10; idsTrue: attendedTrue map (item, itemIndex) -&gt; (item.Id) default []&#10;}]' doc:name="Set Attendances `toRemove` and `Ids`" doc:id="803dbfac-430e-491a-9576-ba7644ba9ccd" variableName="attendanceResponsePrepared"/>
356+
<set-variable value='#[%dw 2.0
357+
output application/json
358+
---
359+
{
360+
ids: vars.tasksResponse map (item, itemIndex) -&gt; (item.Id) default [],
361+
}]' doc:name="Set Tasks Ids" doc:id="63c78d85-abc5-4fe8-8dbf-d900258c9935" variableName="tasksResponsePrepared" />
362+
<set-variable value='#[%dw 2.0
363+
output application/json
364+
var attendedTrue = vars.attendanceResponse filter (item, itemIndex) -&gt; (item.Attended__c == "true")
365+
---
366+
{
367+
toRemove: isEmpty(attendedTrue),
368+
ids: vars.attendanceResponse map (item, itemIndex) -&gt; (item.Id) default [],
369+
idsTrue: attendedTrue map (item, itemIndex) -&gt; (item.Id) default []
370+
}]' doc:name="Set Attendances `toRemove` and `Ids`" doc:id="803dbfac-430e-491a-9576-ba7644ba9ccd" variableName="attendanceResponsePrepared"/>
355371
<choice doc:name="Choice" doc:id="92f74e31-c84b-4d92-96a8-a54282a8f912">
356372
<when expression="#[isEmpty(vars.assesmentResponse) and vars.attendanceResponsePrepared.toRemove]">
357373
<ee:transform doc:name="tasksIds + attendancesIds + sessionId" doc:id="0fbc4a8b-63a7-4921-a442-cb27583294c7">

0 commit comments

Comments
 (0)