Skip to content

Commit f3422df

Browse files
authored
Merge pull request #330 from AmericaSCORESBayArea/refactor/remove_old_search
Sandbox: Remove old search (`search`) and rename the new from `searchSOSL` to `search`
2 parents 46b3ef3 + 8c72df7 commit f3422df

File tree

3 files changed

+4
-264
lines changed

3 files changed

+4
-264
lines changed

docs/Scores - Salesforce Data API.postman_collection.json

Lines changed: 3 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -784,45 +784,6 @@
784784
},
785785
"response": []
786786
},
787-
{
788-
"name": "/contacts/search",
789-
"request": {
790-
"method": "GET",
791-
"header": [
792-
{
793-
"key": "client_id",
794-
"value": "{{sandbox_client_id}}"
795-
},
796-
{
797-
"key": "client_secret",
798-
"value": "{{sandbox_client_secret}}"
799-
},
800-
{
801-
"key": "Origin",
802-
"value": "Postman",
803-
"type": "text"
804-
}
805-
],
806-
"url": {
807-
"raw": "{{base_url}}/contacts/search?searchString=Aleksandr",
808-
"host": [
809-
"{{base_url}}"
810-
],
811-
"path": [
812-
"contacts",
813-
"search"
814-
],
815-
"query": [
816-
{
817-
"key": "searchString",
818-
"value": "Aleksandr"
819-
}
820-
]
821-
},
822-
"description": "BODY/JSON:\n\n{ \n\"TeamSeasonName\": \"\", \n\"TeamId\": \"\", \n\"SeasonId\": \"\", \n\"SchoolSite\": \"\", \n\"Partnership\": \"\", \n\"TotalNoOfPlayers\": 0, \n\"TotalNoOfSessions\": 0, \n\"SeasonStartDate\": \"\", \n\"SeasonEndDate\": \"\", \n\"CoachSoccer\": \"\", \n\"CoachWriting\": \"\", \n\"ProgramCoordinator\": \"\", \n\"ProgramManager\": \"\" \n}"
823-
},
824-
"response": []
825-
},
826787
{
827788
"name": "/contacts/searchByPhoneNumber",
828789
"request": {
@@ -1012,7 +973,7 @@
1012973
"response": []
1013974
},
1014975
{
1015-
"name": "/contacts/searchSOSL",
976+
"name": "/contacts/search",
1016977
"request": {
1017978
"method": "GET",
1018979
"header": [
@@ -1031,13 +992,13 @@
1031992
}
1032993
],
1033994
"url": {
1034-
"raw": "{{base_url}}/contacts/searchSOSL?searchString=John&region=San Francisco Crocker&page=1&pageSize=8",
995+
"raw": "{{base_url}}/contacts/search?searchString=John&region=San Francisco Crocker&page=1&pageSize=8",
1035996
"host": [
1036997
"{{base_url}}"
1037998
],
1038999
"path": [
10391000
"contacts",
1040-
"searchSOSL"
1001+
"search"
10411002
],
10421003
"query": [
10431004
{

src/main/mule/contacts.xml

Lines changed: 1 addition & 202 deletions
Original file line numberDiff line numberDiff line change
@@ -690,207 +690,6 @@ payload map ( payload01 , indexOfPayload01 ) -> {
690690
</otherwise>
691691
</choice>
692692
</flow>
693-
<flow name="get:\contacts\search:salesforce-data-api-config">
694-
<logger doc:id="127d162c-eb82-4c68-858e-cba3a849db5c" doc:name="Log entry-flow" level="INFO" message="Method and Request Path stored as vars: method=#[vars.method], request path=#[vars.requestPath]. queryparams=#[attributes.queryParams]"></logger>
695-
<ee:transform doc:id="06bf0ffb-bedf-4d91-afb9-accd04fb3580" doc:name="Store Query parameters">
696-
<ee:variables>
697-
<ee:set-variable variableName="searchString">
698-
<![CDATA[%dw 2.0
699-
import * from dw::core::Strings
700-
output application/json
701-
---
702-
attributes.queryParams.'searchString' replace /[&|!(){}\[\]^"~*?:\\'+\-]/ with("")]]>
703-
</ee:set-variable>
704-
<ee:set-variable variableName="region">
705-
706-
707-
<![CDATA[attributes.queryParams.'region']]>
708-
709-
710-
</ee:set-variable>
711-
</ee:variables>
712-
</ee:transform>
713-
<choice doc:name="Choice">
714-
<when expression="#[isEmpty(vars.region)]">
715-
<set-variable value="" variableName="regionQueryCondition"></set-variable>
716-
</when>
717-
<otherwise>
718-
<set-variable value="#[' AND Account.Region__c = \'' ++ (vars.region default '') ++ '\'']" variableName="regionQueryCondition"></set-variable>
719-
</otherwise>
720-
</choice>
721-
<choice doc:name="Choice1" doc:id="96cea7f6-14a1-4d76-8cf9-8e1d736b29b6">
722-
<when expression="#[isEmpty(vars.searchString)]">
723-
<set-variable value="SEARCH:BAD_REQUEST" doc:name="Set Custom Error Type" doc:id="57e888c4-bb95-4039-9807-624f70a3249e" variableName="errorCustomType" />
724-
<set-variable value="`searchString` is empty or includes only special characters" doc:name="Set Custom Error Message" doc:id="6a74df74-a9d5-48c4-9c32-b061d11fad2d" variableName="errorCustomMessage" />
725-
<set-variable value="400" doc:name="Set Status Code" doc:id="518684e1-cf60-4f92-9fa2-0fc97c449d8f" variableName="httpStatus" />
726-
<raise-error doc:name="Raise error1" doc:id="0e90e196-0b94-4c46-995b-8cc00804bbda" type="CUSTOM:CUSTOM_ERROR" description="Something went while performing a search." />
727-
</when>
728-
</choice>
729-
<salesforce:query
730-
doc:name="Search Query"
731-
doc:id="2938911f-53b8-243a5-a53e-14fca711003d"
732-
config-ref="Salesforce_Config">
733-
<salesforce:salesforce-query>
734-
<![CDATA[
735-
SELECT
736-
Id,
737-
Name,
738-
Contact_Type__c,
739-
RecordTypeId,
740-
FirstName,
741-
MiddleName,
742-
LastName,
743-
Account.Region__c,
744-
AccountId,
745-
School_Attending__c,
746-
Email,
747-
HomePhone,
748-
Birthdate,
749-
Gender__c,
750-
Grade__c,
751-
Level__c,
752-
Ethnicity__c,
753-
Permission_to_Commute_Alone__c,
754-
Reduced_Price_Lunch__c,
755-
Allergies__c,
756-
External_Student_ID__c,
757-
External_Student_DB__c,
758-
Parent_First_Name__c,
759-
Parent_Last_Name__c,
760-
Parent_Email_Address__c,
761-
Parent_Relationship_to_Child__c,
762-
Parent_Phone_01__c,
763-
Parent_Phone_02__c,
764-
Parent_Phone_03__c,
765-
MailingStreet,
766-
MailingCity,
767-
MailingState,
768-
MailingPostalCode,
769-
MailingCountry,
770-
Parent_English_Fluency__c,
771-
Parent_Home_Language__c,
772-
Parent_Other_Language__c,
773-
Volunteer_for_this_Program_Parent__c,
774-
Emergency_Contact_Name__c,
775-
Emergency_Contact_Relationship_to_Child__c,
776-
Emergency_Contact_Name_Phone_01__c,
777-
Emergency_Contact_Name_Phone_02__c,
778-
Emergency_Contact_Name_Phone_03__c,
779-
Emergency_Contact_Permission_to_Pick_Up__c,
780-
Second_Emergency_Contact_Name__c,
781-
Second_Emerg_Contact_Relationship_Child__c ,
782-
Second_Emergency_Phone_01__c,
783-
Second_Emergency_Phone_02__c,
784-
Second_Emergency_Phone_03__c,
785-
Second_Emergency_Permission_to_Pick_Up__c,
786-
Liability__c,
787-
Media_Release__c,
788-
Data_Release__c,
789-
Year_of_Reference_for_Grade_Information__c,
790-
Grades_child_participated__c,
791-
Latest_Waiver_Date__c
792-
FROM
793-
Contact
794-
WHERE
795-
RecordTypeId = '01250000000VBbXAAW'
796-
AND
797-
(Name LIKE ':searchString')
798-
:regionQuery
799-
LIMIT 8
800-
]]>
801-
</salesforce:salesforce-query>
802-
<salesforce:parameters><![CDATA[#[output application/java
803-
---
804-
{
805-
searchString : "%" ++ (vars.searchString default "") ++ "%",
806-
regionQuery : vars.regionQueryCondition
807-
}]]]>
808-
</salesforce:parameters>
809-
</salesforce:query>
810-
<ee:transform doc:name="Wrap Records with 'record'" doc:id="wrapRecords">
811-
<ee:message>
812-
<ee:set-payload><![CDATA[#[{
813-
searchRecords: payload map ((item, index) -> {
814-
record: item
815-
})
816-
}]]]></ee:set-payload>
817-
</ee:message>
818-
</ee:transform>
819-
<flow-ref name="retrieve-latest-enrollment-based-on-payload-with-contacts" doc:name="Call External Flow to Retrieve all Latest Sites" />
820-
<ee:transform doc:id="32f388c1-5da5-43ab-8241-874d02d18d35" doc:name="Transform Message">
821-
<ee:message>
822-
<ee:set-payload>
823-
824-
825-
<![CDATA[%dw 2.0
826-
output application/json
827-
---
828-
payload.searchRecords map ( payload01 , indexOfPayload01 ) -> {
829-
Id: payload01.record.Id as String default "",
830-
ContactType: payload01.record.Contact_Type__c as String default "" ,
831-
ContactRecordType: payload01.record.RecordTypeId as String default "" ,
832-
FirstName: payload01.record.FirstName as String default "" ,
833-
MiddleName: payload01.record.MiddleName as String default "" ,
834-
LastName: payload01.record.LastName as String default "" ,
835-
Region: payload01.record.Account.Region__c as String default "",
836-
SchoolSiteId: payload01.record.AccountId as String default "" ,
837-
SchoolName: payload01.record.School_Attending__c as String default "" ,
838-
PersonalEmail: payload01.record.Email as String default "" ,
839-
HomePhone: payload01.record.HomePhone as String default "" ,
840-
Birthdate: payload01.record.Birthdate as String default "" ,
841-
Gender: payload01.record.Gender__c as String default "" ,
842-
Grade: payload01.record.Grade__c as String default "" ,
843-
K12GradeLevel: payload01.record.Level__c as String default "" ,
844-
Ethnicity: payload01.record.Ethnicity__c as String default "" ,
845-
PermissiontoCommuteAlone: payload01.record.Permission_to_Commute_Alone__c as String default "" ,
846-
ReducedPriceLunch: payload01.record.Reduced_Price_Lunch__c as String default "" ,
847-
Allergies: payload01.record.Allergies__c as String default "" ,
848-
ExternalStudentId: payload01.record.External_Student_ID__c as String default "" ,
849-
ExternalStudentIdSource: payload01.record.External_Student_DB__c as String default "" ,
850-
ParentFName: payload01.record.Parent_First_Name__c as String default "" ,
851-
ParentLName: payload01.record.Parent_Last_Name__c as String default "" ,
852-
ParentEmail: payload01.record.Parent_Email_Address__c as String default "" ,
853-
Relationship: payload01.record.Parent_Relationship_to_Child__c as String default "" ,
854-
ParentPhone1: payload01.record.Parent_Phone_01__c as String default "" ,
855-
ParentPhone2: payload01.record.Parent_Phone_02__c as String default "" ,
856-
ParentPhone3: payload01.record.Parent_Phone_03__c as String default "" ,
857-
MailingStreet: payload01.record.MailingStreet as String default "" ,
858-
MailingCity: payload01.record.MailingCity as String default "" ,
859-
MailingState: payload01.record.MailingState as String default "" ,
860-
MailingZip: payload01.record.MailingPostalCode as String default "" ,
861-
MailingCountry: payload01.record.MailingCountry as String default "" ,
862-
ParentEnglishFluency: payload01.record.Parent_English_Fluency__c as String default "" ,
863-
ParentHomeLang: payload01.record.Parent_Home_Language__c as String default "" ,
864-
OtherLang: payload01.record.Parent_Other_Language__c as String default "" ,
865-
Volunteer: payload01.record.Volunteer_for_this_Program_Parent__c as String default "" ,
866-
Emergency_Contact_Name: payload01.record.Emergency_Contact_Name__c as String default "" ,
867-
Emergency_Contact_Relationship: payload01.record.Emergency_Contact_Relationship_to_Child__c as String default "" ,
868-
Emergency_Contact_Phone1: payload01.record.Emergency_Contact_Name_Phone_01__c as String default "" ,
869-
Emergency_Contact_Phone2: payload01.record.Emergency_Contact_Name_Phone_02__c as String default "" ,
870-
Emergency_Contact_Phone3: payload01.record.Emergency_Contact_Name_Phone_03__c as String default "" ,
871-
Emergency_Contact_Permission_to_Pickup_child: payload01.record.Emergency_Contact_Permission_to_Pick_Up__c as String default "" ,
872-
Second_Emergency_Contact_Name: payload01.record.Second_Emergency_Contact_Name__c as String default "" ,
873-
Second_Emergency_Contact_Relationship: payload01.record.Second_Emerg_Contact_Relationship_Child__c as String default "" ,
874-
Second_Emergency_Contact_Phone1: payload01.record.Second_Emergency_Phone_01__c as String default "" ,
875-
Second_Emergency_Contact_Phone2: payload01.record.Second_Emergency_Phone_02__c as String default "" ,
876-
Second_Emergency_Contact_Phone3: payload01.record.Second_Emergency_Phone_03__c as String default "" ,
877-
Second_Emergency_Contact_Permission_to_Pickup_child: payload01.record.Second_Emergency_Permission_to_Pick_Up__c as String default "" ,
878-
LiabilityWaiver: payload01.record.Liability__c as String default "" ,
879-
MediaReleaseWaiver: payload01.record.Media_Release__c as String default "" ,
880-
DataReleaseWaiver: payload01.record.Data_Release__c as String default "",
881-
YearOfReferenceForGradeInformation: payload01.record.Year_of_Reference_for_Grade_Information__c as String default "" ,
882-
GradesChildParticipated: payload01.record.Grades_child_participated__c as String default "",
883-
LatestWaiverDate: payload01.record.Latest_Waiver_Date__c as String default "",
884-
LatestEnrolledEndDate: vars.contactResults[indexOfPayload01].LatestEnrolledEndDate as String default "",
885-
LatestEnrolledSiteId: vars.contactResults[indexOfPayload01].LatestEnrolledSiteId as String default "",
886-
LatestEnrolledSiteName: vars.contactResults[indexOfPayload01].LatestEnrolledSiteName as String default ""
887-
}]]>
888-
889-
890-
</ee:set-payload>
891-
</ee:message>
892-
</ee:transform>
893-
</flow>
894693
<flow name="get:\contacts\searchByPhoneNumber:salesforce-data-api-config">
895694
<logger doc:id="5702e8bf-921c-4af0-a9f0-9bc9091adf34" doc:name="Log entry-flow" level="INFO" message="Method and Request Path stored as vars: method=#[vars.method], request path=#[vars.requestPath]. queryparams=#[attributes.queryParams]"></logger>
896695
<ee:transform doc:id="7e56aada-f163-47f0-8ffc-213f7acd09a8" doc:name="Store Query parameters">
@@ -1674,7 +1473,7 @@ payload map ( payload01 , indexOfPayload01 ) -> {
16741473
</foreach>
16751474
</flow>
16761475

1677-
<flow name="get:\contacts\searchSOSL:salesforce-data-api-config">
1476+
<flow name="get:\contacts\search:salesforce-data-api-config">
16781477
<logger doc:id="127d162c-eb82-4c68-858e-cba3a849db5c" doc:name="Log entry-flow" level="INFO" message="Method and Request Path stored as vars: method=#[vars.method], request path=#[vars.requestPath]. queryparams=#[attributes.queryParams]"></logger>
16791478
<ee:transform doc:id="06bf0ffb-bedf-4d91-afb9-accd04fb3580" doc:name="Store Query parameters">
16801479
<ee:variables>

src/main/resources/api/salesforce-data-api.raml

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -311,26 +311,6 @@ uses:
311311
application/json:
312312
type: types.Contact[]
313313
/search:
314-
get:
315-
displayName: Get matching contacts
316-
description: Get contacts matching a search string (to be used for Student contacts for now)
317-
queryParameters:
318-
searchString:
319-
displayName: searchString
320-
description: Search string
321-
type: string
322-
required: true
323-
region:
324-
displayName: region
325-
description: Filter contacts by region
326-
type: string
327-
required: false
328-
responses:
329-
200:
330-
body:
331-
application/json:
332-
type: types.Contact[]
333-
/searchSOSL:
334314
get:
335315
displayName: Get matching contacts using SOSL
336316
description: Get contacts matching a search string using Salesforce Object Search Language (to be used for Student contacts for now)

0 commit comments

Comments
 (0)