Skip to content

Commit 2802609

Browse files
Merge pull request #356 from AmericaSCORESBayArea/sandbox
New Endpoints: `GET /enrollments/dropreasons` and `GET /tasks/{coachId}/stats`
2 parents 15d4836 + a715da3 commit 2802609

13 files changed

+218
-30
lines changed

.github/workflows/on-push-build-and-deploy.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,8 @@ jobs:
125125
-Dslack.client_id="${{ secrets.SLACK_CLIENT_ID }}" \
126126
-Dslack.client_secret="${{ secrets.SLACK_CLIENT_SECRET }}" \
127127
-Dslack.enabled=true \
128+
-DworkerType=MEDIUM \
129+
-Dworkers=1 \
128130
-DskipTests
129131
130132

.github/workflows/production-on-push-build-and-deploy.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,8 @@ jobs:
125125
-Dslack.client_id="${{ secrets.SLACK_CLIENT_ID }}" \
126126
-Dslack.client_secret="${{ secrets.SLACK_CLIENT_SECRET }}" \
127127
-Dslack.enabled=true \
128+
-DworkerType=MEDIUM \
129+
-Dworkers=1 \
128130
-DskipTests
129131
130132

docs/Scores - Salesforce Data API.postman_collection.json

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -559,6 +559,39 @@
559559
},
560560
"response": []
561561
},
562+
{
563+
"name": "/enrollments/dropreasons",
564+
"request": {
565+
"method": "GET",
566+
"header": [
567+
{
568+
"key": "client_id",
569+
"value": "{{sandbox_client_id}}"
570+
},
571+
{
572+
"key": "client_secret",
573+
"value": "{{sandbox_client_secret}}"
574+
},
575+
{
576+
"key": "Origin",
577+
"value": "Postman",
578+
"type": "text"
579+
}
580+
],
581+
"url": {
582+
"raw": "{{base_url}}/enrollments/dropreasons",
583+
"host": [
584+
"{{base_url}}"
585+
],
586+
"path": [
587+
"enrollments",
588+
"dropreasons"
589+
]
590+
},
591+
"description": "Response example:\n\n\\[ \"Schedule Conflict\", \"Moved Away\", \"Lost Interest\", \"Health Reasons\", \"Disciplinary Action\", \"Other\"\\]"
592+
},
593+
"response": []
594+
},
562595
{
563596
"name": "/enrollments",
564597
"request": {
@@ -2208,6 +2241,40 @@
22082241
},
22092242
"response": []
22102243
},
2244+
{
2245+
"name": "/tasks/{coachId}/stats",
2246+
"request": {
2247+
"method": "GET",
2248+
"header": [
2249+
{
2250+
"key": "client_id",
2251+
"value": "{{sandbox_client_id}}"
2252+
},
2253+
{
2254+
"key": "client_secret",
2255+
"value": "{{sandbox_client_secret}}"
2256+
},
2257+
{
2258+
"key": "Origin",
2259+
"value": "Postman",
2260+
"type": "text"
2261+
}
2262+
],
2263+
"url": {
2264+
"raw": "{{base_url_s}}/tasks/003cX000008IZnXQAW/stats",
2265+
"host": [
2266+
"{{base_url_s}}"
2267+
],
2268+
"path": [
2269+
"tasks",
2270+
"003cX000008IZnXQAW",
2271+
"stats"
2272+
]
2273+
},
2274+
"description": "Response Example:\n\n{ \"Not Started\": 1, \"Started\": 0, \"Complete\": 41}"
2275+
},
2276+
"response": []
2277+
},
22112278
{
22122279
"name": "/tasks/{taskId}",
22132280
"request": {

mule-artifact.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
],
1010
"redeploymentEnabled": true,
1111
"name": "secure-properties",
12-
"minMuleVersion": "4.6.14",
12+
"minMuleVersion": "4.6.15",
1313
"requiredProduct": "MULE_EE",
1414
"classLoaderModelLoaderDescriptor": {
1515
"id": "mule",

src/main/mule/coach.xml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -474,7 +474,8 @@ payload map ( payload01 , indexOfPayload01 ) -> {
474474
SystemModstamp,
475475
Team_Season__c,
476476
Dropped__c,
477-
Drop_Reason__c
477+
Drop_Reason__c,
478+
Other_Drop_Reason_If_Selected__c
478479
FROM
479480
Enrollment__c
480481
WHERE
@@ -519,6 +520,7 @@ payload map ( payload01 , indexOfPayload01 ) -> {
519520
StudentRecordComplete: (payload01.Contact__r.Student_Record_Complete__c as String) as Boolean default false,
520521
Dropped: payload01.Dropped__c as Boolean default false,
521522
DropReason: payload01.Drop_Reason__c default "",
523+
OtherDropReason: payload01.Other_Drop_Reason_If_Selected__c default "",
522524
ParentInfo: {
523525
FirstName: payload01.Contact__r.Parent_First_Name__c default "",
524526
LastName: payload01.Contact__r.Parent_Last_Name__c default "",
@@ -721,8 +723,8 @@ output application/json
721723
<choice doc:name="Choice" doc:id="6d8e6d25-2088-410e-828e-51b13da45dd2" doc:description="TO_DELETE: Delete once all sessions have dates.">
722724
<when expression="#[isEmpty(vars.sessionDate)]">
723725
<set-variable value="#['SALESFORCE_TASK_CREATE:BAD_REQUEST']" doc:name="Set Custom Error Type" doc:id="52e68134-0915-494b-b10b-9d832344936f" variableName="errorCustomType" />
724-
<set-variable value="The given session doesnt have a date or does not exist. Cannot proceed with creating a task and attendance records." doc:name="Set Custom Error Message" doc:id="151cdac2-c9a1-4387-95da-8ec9bee0e995" variableName="errorCustomMessage" />
725-
<raise-error doc:name="Raise error" doc:id="e64e98e4-8893-4b7b-be3b-f03f5d774cef" type="CUSTOM:CUSTOM_ERROR" description="Something went while creating a task record." />
726+
<set-variable value="The given session doesn't have a date or does not exist. Cannot proceed with creating a task and attendance records." doc:name="Set Custom Error Message" doc:id="151cdac2-c9a1-4387-95da-8ec9bee0e995" variableName="errorCustomMessage" />
727+
<raise-error doc:name="Raise error" doc:id="e64e98e4-8893-4b7b-be3b-f03f5d774cef" type="CUSTOM:CUSTOM_ERROR" description="Something went wrong while creating a task record." />
726728
</when>
727729
</choice>
728730
<flow-ref doc:name="Call `createAttendancesForSessionBasedOnTeamSeasonId`" doc:id="d2c9a729-d4e7-454a-9891-0b02770a9749" name="createAttendancesForSessionBasedOnTeamSeasonId" />
@@ -1250,7 +1252,7 @@ payload map ( payload01 , indexOfPayload01 ) -> {
12501252
<when expression="#[payload.successful == false]">
12511253
<set-variable value="#['SALESFORCE_ATTENDANCE_UPDATE:' ++ (payload.items[0].statusCode default 'UNKNOWN')]" doc:name="Set Custom Error Type" doc:id="de0127f1-9543-4247-98f0-4919cad5e132" variableName="errorCustomType" />
12521254
<set-variable value='#[%dw 2.0&#10;output text/plain&#10;---&#10;(payload.items[0].message default "Error While Updating Attendances.") ++ &#10;(&#10; payload.items map ((payload01, indexOfPayload01) -&gt; &#10; " Message: " ++ write(payload01.payload default "", "application/json")&#10; ) joinBy ""&#10;)]' doc:name="Set Custom Error Message" doc:id="8d77c108-0e3c-4930-9f49-9734837df79c" variableName="errorCustomMessage" />
1253-
<raise-error doc:name="Raise error" doc:id="a938155b-3242-4787-a33d-46ab6e9cdfaa" type="CUSTOM:CUSTOM_ERROR" description="Something went while updating an attendance record." />
1255+
<raise-error doc:name="Raise error" doc:id="a938155b-3242-4787-a33d-46ab6e9cdfaa" type="CUSTOM:CUSTOM_ERROR" description="Something went wrong while updating an attendance record." />
12541256
</when>
12551257
</choice>
12561258
<ee:transform doc:name="Create Response" doc:id="fb3860fc-e16f-4661-ac7a-6df2a8cb4053" xsi:schemaLocation="http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd">
@@ -1311,7 +1313,7 @@ output application/json
13111313
<when expression="#[payload.successful == false]">
13121314
<set-variable value="#['SALESFORCE_ASSESSMENT_CREATE:' ++ (payload.items[0].statusCode default 'UNKNOWN')]" doc:name="Set Custom Error Type" doc:id="116d4fa4-38ec-4d54-aa7e-5a37736d91c3" variableName="errorCustomType" />
13131315
<set-variable value="#[payload.items[0].message default 'Unknown Error']" doc:name="Set Custom Error Message" doc:id="69573011-d907-4da1-9113-f1eff05db828" variableName="errorCustomMessage" />
1314-
<raise-error doc:name="Raise error" doc:id="2be38cb1-dd0f-47cc-be2f-6fa6cc505545" type="CUSTOM:CUSTOM_ERROR" description="Something went while creating an assessment record." />
1316+
<raise-error doc:name="Raise error" doc:id="2be38cb1-dd0f-47cc-be2f-6fa6cc505545" type="CUSTOM:CUSTOM_ERROR" description="Something went wrong while creating an assessment record." />
13151317
</when>
13161318
</choice>
13171319
<ee:transform xsi:schemaLocation="http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd" doc:name="Create Response" doc:id="aa2451bf-0b3f-4de0-9be9-fd354e65d674">

src/main/mule/contacts.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1146,7 +1146,7 @@ output application/java
11461146
<when expression="#[payload.successful == false]">
11471147
<set-variable value="#['SALESFORCE_CONTACT_UPDATE:' ++ (payload.items[0].statusCode default 'UNKNOWN')]" doc:name="Set Custom Error Type" doc:id="7ad844ad-82d9-4148-9596-96f4a5f508b1" variableName="errorCustomType" />
11481148
<set-variable value="#[payload.items[0].message default 'Unknown Error']" doc:name="Set Custom Error Message" doc:id="fd73d10f-89d1-4744-b11d-9c8e02b886d6" variableName="errorCustomMessage" />
1149-
<raise-error doc:name="Raise error" doc:id="42cf2f5b-f5ef-4d5b-9ef5-6eae1595fb5e" type="CUSTOM:CUSTOM_ERROR" description="Something went while updating a contact record." />
1149+
<raise-error doc:name="Raise error" doc:id="42cf2f5b-f5ef-4d5b-9ef5-6eae1595fb5e" type="CUSTOM:CUSTOM_ERROR" description="Something went wrong while updating a contact record." />
11501150
</when>
11511151
</choice>
11521152
<flow-ref name="get:\contacts\(contactId):salesforce-data-api-config"></flow-ref>
@@ -1474,13 +1474,13 @@ attributes.queryParams.'searchString' replace /[&|!(){}\[\]^"~*?:\\'+\-]/ with("
14741474
<set-variable value="SEARCH:BAD_REQUEST" doc:name="Set Custom Error Type" doc:id="93817aa7-88f2-480e-b17e-172c65934d04" variableName="errorCustomType" />
14751475
<set-variable value="`searchString` is empty or includes only special characters" doc:name="Set Custom Error Message" doc:id="2bd394d4-e6fc-4155-ae4b-f7de594c0286" variableName="errorCustomMessage" />
14761476
<set-variable value="400" doc:name="Set Status Code" doc:id="0c98deb5-8566-4366-832d-f7f2ca65ed3e" variableName="httpStatus" />
1477-
<raise-error doc:name="Raise error1" doc:id="5ddc84e5-66a7-4edb-a986-c4990d471b8e" type="CUSTOM:CUSTOM_ERROR" description="Something went while performing a search." />
1477+
<raise-error doc:name="Raise error1" doc:id="5ddc84e5-66a7-4edb-a986-c4990d471b8e" type="CUSTOM:CUSTOM_ERROR" description="Something went wrong while performing a search." />
14781478
</when>
14791479
<when expression="#[sizeOf(vars.searchString) == 1]">
14801480
<set-variable value="SEARCH:BAD_REQUEST" doc:name="Set Custom Error Type" doc:id="907c8a99-990b-43e2-a2a9-90a8d01f14b7" variableName="errorCustomType" />
14811481
<set-variable value="`searchString` must be more than 1 character after cleaning from special characters." doc:name="Set Custom Error Message" doc:id="0617dfe4-bb94-47de-993c-547978c7ef6e" variableName="errorCustomMessage" />
14821482
<set-variable value="422" doc:name="Set Status Code" doc:id="dd0a4f31-e1a3-49ed-ba19-dfdfba7d1fd2" variableName="httpStatus" />
1483-
<raise-error doc:name="Raise error1" doc:id="23438120-62a7-4e1c-8dfe-e517777ff937" type="CUSTOM:CUSTOM_ERROR" description="Something went while performing a search." />
1483+
<raise-error doc:name="Raise error1" doc:id="23438120-62a7-4e1c-8dfe-e517777ff937" type="CUSTOM:CUSTOM_ERROR" description="Something went wrong while performing a search." />
14841484
</when>
14851485
</choice>
14861486
<salesforce:search config-ref="Salesforce_Config" doc:id="count-query" doc:name="Get Total Count">

src/main/mule/enrollments.xml

Lines changed: 31 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@ http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/
4545
Start_Date__c,
4646
Team_Season__c,
4747
Dropped__c,
48-
Drop_Reason__c
48+
Drop_Reason__c,
49+
Other_Drop_Reason_If_Selected__c
4950
FROM
5051
Enrollment__c
5152
WHERE
@@ -83,7 +84,8 @@ payload map ( payload01 , indexOfPayload01 ) -> {
8384
ParentFirstName: payload01.Contact__r.Parent_First_Name__c default "",
8485
ParentLastName: payload01.Contact__r.Parent_Last_Name__c default "",
8586
Dropped: payload01.Dropped__c as Boolean default false,
86-
DropReason: payload01.Drop_Reason__c default ""
87+
DropReason: payload01.Drop_Reason__c default "",
88+
OtherDropReason: payload01.Other_Drop_Reason_If_Selected__c default ""
8789
}]]></ee:set-payload>
8890
</ee:message>
8991
</ee:transform>
@@ -93,6 +95,21 @@ payload map ( payload01 , indexOfPayload01 ) -> {
9395
doc:id="23d190d2-b7d1-4e34-ac23-2b48a62d2b98"
9496
message="#[payload]" />
9597
</flow>
98+
<flow name="get:\enrollments\dropreasons:salesforce-data-api-config" doc:id="d609ae10-5ce1-43f1-8756-e09b41d942b2" >
99+
<salesforce:describe-sobject doc:name="Describe sobject" doc:id="657c0c7d-b832-4b3f-b28c-8a81eca2be28" config-ref="Salesforce_Config" type="Enrollment__c"/>
100+
<ee:transform doc:name="Transform Message" doc:id="d59d23e8-5f54-4874-9824-1f1392c37307" >
101+
<ee:message >
102+
<ee:set-payload ><![CDATA[%dw 2.0
103+
output application/json
104+
---
105+
(
106+
payload.fields
107+
filter (field) -> field.name == "Drop_Reason__c"
108+
)[0].picklistValues
109+
map (item) -> item.value]]></ee:set-payload>
110+
</ee:message>
111+
</ee:transform>
112+
</flow>
96113
<flow
97114
name="get:\enrollments\(enrollmentId):salesforce-data-api-config">
98115
<logger
@@ -127,7 +144,8 @@ payload map ( payload01 , indexOfPayload01 ) -> {
127144
Start_Date__c,
128145
Team_Season__c,
129146
Dropped__c,
130-
Drop_Reason__c
147+
Drop_Reason__c,
148+
Other_Drop_Reason_If_Selected__c
131149
FROM
132150
Enrollment__c
133151
WHERE
@@ -163,7 +181,8 @@ payload map ( payload01 , indexOfPayload01 ) -> {
163181
Ethnicity: payload01.Contact__r.Ethnicity__c default "",
164182
ZipCode: payload01.Contact__r.Zip_First_Five_Digits__c default "",
165183
Dropped: payload01.Dropped__c as Boolean default false,
166-
DropReason: payload01.Drop_Reason__c default ""
184+
DropReason: payload01.Drop_Reason__c default "",
185+
OtherDropReason: payload01.Other_Drop_Reason_If_Selected__c default ""
167186
}]]>
168187
</ee:set-payload>
169188
</ee:message>
@@ -196,7 +215,8 @@ payload map ( payload01 , indexOfPayload01 ) -> {
196215
Ethnicity: payload01.Ethnicity default "",
197216
ZipCode: payload01.ZipCode default "",
198217
Dropped: payload01.Dropped as Boolean default false,
199-
DropReason: payload01.DropReason default ""
218+
DropReason: payload01.DropReason default "",
219+
OtherDropReason: payload01.OtherDropReason default ""
200220
}]]>
201221
</ee:set-payload>
202222
</ee:message>
@@ -255,7 +275,8 @@ output application/java
255275
(End_Date__c: payload.EndDate as Date {format: 'yyyy-MM-dd'}) if payload.EndDate != null,
256276
(Team_Season__c: payload.TeamSeasonId) if payload.TeamSeasonId != null,
257277
(Dropped__c: payload.Dropped) if payload.Dropped != null,
258-
(Drop_Reason__c: payload.DropReason) if payload.DropReason != null
278+
(Drop_Reason__c: payload.DropReason) if payload.DropReason != null,
279+
(Other_Drop_Reason_If_Selected__c: payload.OtherDropReason) if payload.OtherDropReason != null
259280
}]]]></ee:set-payload>
260281
</ee:message>
261282
</ee:transform>
@@ -268,7 +289,7 @@ output application/java
268289
<when expression="#[payload.successful == false]">
269290
<set-variable value="#['SALESFORCE_ENROLLMENT_UPDATE:' ++ (payload.items[0].statusCode default 'UNKNOWN')]" doc:name="Set Custom Error Type" doc:id="b9040877-1f5b-4788-a786-b5384e68f239" variableName="errorCustomType" />
270291
<set-variable value="#[payload.items[0].message default 'Unknown Error']" doc:name="Set Custom Error Message" doc:id="7c6fec7f-dbc4-46a3-917a-183fd5bc796b" variableName="errorCustomMessage" />
271-
<raise-error doc:name="Raise error" doc:id="844ccc3d-6ada-4719-aa14-1fad90ea1000" type="CUSTOM:CUSTOM_ERROR" description="Something went while updating an enrollment record." />
292+
<raise-error doc:name="Raise error" doc:id="844ccc3d-6ada-4719-aa14-1fad90ea1000" type="CUSTOM:CUSTOM_ERROR" description="Something went wrong while updating an enrollment record." />
272293
</when>
273294
</choice>
274295
<ee:transform xsi:schemaLocation="http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd" doc:name="Create Response" doc:id="5cd8fa6a-e3d1-44de-9625-aff048e5fc8f">
@@ -307,15 +328,16 @@ output application/java
307328
(Start_Date__c: payload.StartDate as Date {format: 'yyyy-MM-dd'}) if payload.StartDate != null,
308329
(End_Date__c: payload.EndDate as Date {format: 'yyyy-MM-dd'}) if payload.EndDate != null,
309330
(Dropped__c: payload.Dropped) if payload.Dropped != null,
310-
(Drop_Reason__c: payload.DropReason) if payload.DropReason != null
331+
(Drop_Reason__c: payload.DropReason) if payload.DropReason != null,
332+
(Other_Drop_Reason_If_Selected__c: payload.OtherDropReason) if payload.OtherDropReason != null
311333
}]]]></ee:set-payload>
312334
</ee:message>
313335
</ee:transform>
314336
<until-successful maxRetries="5" doc:name="Until Successful" doc:id="5b2baa1f-a36c-4ca0-a4fa-9c6b033f132d" millisBetweenRetries="2500">
315337
<salesforce:create type="Enrollment__c" doc:name="Create" doc:id="c3404357-77e8-49ee-80c6-499595b2b643" config-ref="Salesforce_Config" />
316338
<choice doc:name="Enrollment creation successful?" doc:id="ee82b0c8-2c09-4456-a51a-80fba2c1e448">
317339
<when expression="#[payload.items[0].successful == false]">
318-
<set-variable value="#['SALESFORCE_ENROLLMENT_CREATE:' ++ (payload.items[0].statusCode default 'UNKNOWN')]" doc:name="Set Custom Error Type" doc:id="d5c68077-bb4c-4245-b6c5-68396295759c" variableName="errorCustomType" />
340+
<set-variable value="#['SALESFORCE_ENROLLMENT_CREATE:' ++ (payload.items[0].statusCode default 'UNKNOWN')]" doc:name="Set Custom Error Type" doc:id="d5c68077-bb4c-4245-b6c5-68396295759c" variableName="errorCustomType" />
319341
<set-variable value="#[payload.items[0].message default 'Unknown Error']" doc:name="Set Custom Error Message" doc:id="f52e5839-b9ee-4a28-8944-62b63c974bc6" variableName="errorCustomMessage" />
320342
<raise-error doc:name="Raise error" doc:id="20ccb42b-2476-402d-a634-7c7ae8243959" type="CUSTOM:CUSTOM_ERROR" description="Something went wrong while creating an enrollment record. " />
321343
</when>

0 commit comments

Comments
 (0)