22
33namespace App \Http \Controllers ;
44
5+ use App \Events \TagFrequencyChanged ;
56use App \Models \ComputerScienceResource ;
67use App \Models \ResourceEdits ;
78use App \Services \ResourceEditsService ;
@@ -26,7 +27,7 @@ public function create(ComputerScienceResource $computerScienceResource)
2627 }
2728
2829
29- // TODO: Make an array facade
30+ // TODO: Make an array facade or something
3031 function normalize ($ array ) {
3132 ksort ($ array );
3233 foreach ($ array as &$ value ) {
@@ -93,6 +94,7 @@ public function merge(ResourceEditsService $editsService, ResourceEdits $resourc
9394 }
9495
9596 $ resource = ComputerScienceResource::findOrFail ($ resourceEdits ->computer_science_resource_id );
97+ $ old_tag_counter = $ resource ->tagCounter ();
9698
9799 $ resource ->name = $ resourceEdits ->name ;
98100 $ resource ->description = $ resourceEdits ->description ;
@@ -108,6 +110,11 @@ public function merge(ResourceEditsService $editsService, ResourceEdits $resourc
108110 $ resource ->programming_language_tags = $ resourceEdits ->programming_language_tags ;
109111 $ resource ->general_tags = $ resourceEdits ->general_tags ;
110112
113+ // Get the new tag counter
114+ $ new_tags = collect ([$ resourceEdits ->topic_tags , $ resourceEdits ->programming_language_tags , $ resourceEdits ->general_tags ])->flatten ()->countBy ()->toArray ();
115+ // Change tag frequency
116+ TagFrequencyChanged::dispatch ($ old_tag_counter , $ new_tags );
117+
111118 // Delete the edit since we successfully merged the changes
112119 $ resourceEdits ->delete ();
113120
0 commit comments