File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 66use SilverStripe \Core \Injector \Injector ;
77use SilverStripe \Forager \Interfaces \Requests \CreateSynonymRuleAdaptor as PostSynonymRuleAdaptorInterface ;
88use SilverStripe \Forager \Service \Query \SynonymRule as SynonymRuleQuery ;
9+ use SilverStripe \Forager \Service \Results \SynonymRule as SynonymRuleResult ;
10+ use SilverStripe \ForagerBifrost \Processors \SynonymRuleProcessor ;
911use SilverStripe \ForagerBifrost \Service \Requests \CreateSynonymRule ;
1012
1113class CreateSynonymRuleAdaptor implements PostSynonymRuleAdaptorInterface
@@ -22,15 +24,18 @@ public function setClient(?Client $client): void
2224 $ this ->client = $ client ;
2325 }
2426
25- public function process (int |string $ synonymCollectionId , SynonymRuleQuery $ synonymRule ): string | int
27+ public function process (int |string $ synonymCollectionId , SynonymRuleQuery $ synonymRule ): SynonymRuleResult
2628 {
2729 $ request = Injector::inst ()->create (CreateSynonymRule::class, $ synonymCollectionId , $ synonymRule );
2830
2931 // Should either be successful or throw an exception, which we'll let fly
3032 $ body = $ this ->client ->appSearch ()->createSynonymSet ($ request )->asString ();
3133 $ body = json_decode ($ body , true );
3234
33- return $ body ['id ' ];
35+ $ synonymRuleResult = SynonymRuleResult::create ($ body ['id ' ]);
36+ SynonymRuleProcessor::applyStringToResult ($ synonymRuleResult , $ body ['synonyms ' ]);
37+
38+ return $ synonymRuleResult ;
3439 }
3540
3641}
Original file line number Diff line number Diff line change 66use SilverStripe \Core \Injector \Injector ;
77use SilverStripe \Forager \Interfaces \Requests \UpdateSynonymRuleAdaptor as PatchSynonymRuleAdaptorInterface ;
88use SilverStripe \Forager \Service \Query \SynonymRule as SynonymRuleQuery ;
9+ use SilverStripe \Forager \Service \Results \SynonymRule as SynonymRuleResult ;
10+ use SilverStripe \ForagerBifrost \Processors \SynonymRuleProcessor ;
911use SilverStripe \ForagerBifrost \Service \Requests \UpdateSynonymRule ;
1012
1113class UpdateSynonymRuleAdaptor implements PatchSynonymRuleAdaptorInterface
@@ -26,7 +28,7 @@ public function process(
2628 int |string $ synonymCollectionId ,
2729 int |string $ synonymRuleId ,
2830 SynonymRuleQuery $ synonymRule
29- ): string | int {
31+ ): SynonymRuleResult {
3032 $ request = Injector::inst ()->create (
3133 UpdateSynonymRule::class,
3234 $ synonymCollectionId ,
@@ -38,7 +40,10 @@ public function process(
3840 $ body = $ this ->client ->appSearch ()->createSynonymSet ($ request )->asString ();
3941 $ body = json_decode ($ body , true );
4042
41- return $ body ['id ' ];
43+ $ synonymRuleResult = SynonymRuleResult::create ($ body ['id ' ]);
44+ SynonymRuleProcessor::applyStringToResult ($ synonymRuleResult , $ body ['synonyms ' ]);
45+
46+ return $ synonymRuleResult ;
4247 }
4348
4449}
You can’t perform that action at this time.
0 commit comments