From 8896551a0f80f59b0541eb34bc994e3a217f698b Mon Sep 17 00:00:00 2001 From: Kevin Ullyott Date: Wed, 27 Nov 2024 09:39:11 -0500 Subject: [PATCH] [ADVAPP-941] & [ADVAPP-973]: Fix polymorphic relationship saved values (#1144) * Add polymorphic fixes for media and audit table for KB rename Signed-off-by: Kevin Ullyott * Data migration fix for audit of renamed service_request items. Signed-off-by: Kevin Ullyott * Fix table name Signed-off-by: Kevin Ullyott * chore: fix enforcement of copyright on all files --------- Signed-off-by: Kevin Ullyott --- ...rphic_types_for_service_request_rename.php | 118 ++++++++++++++++++ ...orphic_types_for_knowledge_base_rename.php | 94 ++++++++++++++ ...orphic_types_for_knowledge_base_rename.php | 94 ++++++++++++++ 3 files changed, 306 insertions(+) create mode 100644 app-modules/case-management/database/migrations/2024_11_26_223109_data_fix_audit_polymorphic_types_for_service_request_rename.php create mode 100644 app-modules/resource-hub/database/migrations/2024_11_26_221634_data_fix_audit_polymorphic_types_for_knowledge_base_rename.php create mode 100644 app-modules/resource-hub/database/migrations/2024_11_26_222012_data_fix_media_polymorphic_types_for_knowledge_base_rename.php diff --git a/app-modules/case-management/database/migrations/2024_11_26_223109_data_fix_audit_polymorphic_types_for_service_request_rename.php b/app-modules/case-management/database/migrations/2024_11_26_223109_data_fix_audit_polymorphic_types_for_service_request_rename.php new file mode 100644 index 0000000000..7577c348c3 --- /dev/null +++ b/app-modules/case-management/database/migrations/2024_11_26_223109_data_fix_audit_polymorphic_types_for_service_request_rename.php @@ -0,0 +1,118 @@ + + + Copyright © 2016-2024, Canyon GBS LLC. All rights reserved. + + Advising App™ is licensed under the Elastic License 2.0. For more details, + see https://github.com/canyongbs/advisingapp/blob/main/LICENSE. + + Notice: + + - You may not provide the software to third parties as a hosted or managed + service, where the service provides users with access to any substantial set of + the features or functionality of the software. + - You may not move, change, disable, or circumvent the license key functionality + in the software, and you may not remove or obscure any functionality in the + software that is protected by the license key. + - You may not alter, remove, or obscure any licensing, copyright, or other notices + of the licensor in the software. Any use of the licensor’s trademarks is subject + to applicable law. + - Canyon GBS LLC respects the intellectual property rights of others and expects the + same in return. Canyon GBS™ and Advising App™ are registered trademarks of + Canyon GBS LLC, and we are committed to enforcing and protecting our trademarks + vigorously. + - The software solution, including services, infrastructure, and code, is offered as a + Software as a Service (SaaS) by Canyon GBS LLC. + - Use of this software implies agreement to the license terms and conditions as stated + in the Elastic License 2.0. + + For more information or inquiries please visit our website at + https://www.canyongbs.com or contact us via email at legal@canyongbs.com. + + +*/ + +use Illuminate\Support\Facades\DB; +use Illuminate\Database\Migrations\Migration; + +return new class () extends Migration { + public function up(): void + { + DB::table('audits') + ->where('auditable_type', 'service_request_assignment') + ->update([ + 'auditable_type' => 'case_assignment', + ]); + + DB::table('audits') + ->where('auditable_type', 'service_request_priority') + ->update([ + 'auditable_type' => 'case_priority', + ]); + + DB::table('audits') + ->where('auditable_type', 'service_request_status') + ->update([ + 'auditable_type' => 'case_status', + ]); + + DB::table('audits') + ->where('auditable_type', 'service_request_type') + ->update([ + 'auditable_type' => 'case_type', + ]); + + DB::table('audits') + ->where('auditable_type', 'service_request_update') + ->update([ + 'auditable_type' => 'case_update', + ]); + + DB::table('audits') + ->where('auditable_type', 'service_request') + ->update([ + 'auditable_type' => 'case_model', + ]); + } + + public function down(): void + { + DB::table('audits') + ->where('auditable_type', 'case_assignment') + ->update([ + 'auditable_type' => 'service_request_assignment', + ]); + + DB::table('audits') + ->where('auditable_type', 'case_priority') + ->update([ + 'auditable_type' => 'service_request_priority', + ]); + + DB::table('audits') + ->where('auditable_type', 'case_status') + ->update([ + 'auditable_type' => 'service_request_status', + ]); + + DB::table('audits') + ->where('auditable_type', 'case_type') + ->update([ + 'auditable_type' => 'service_request_type', + ]); + + DB::table('audits') + ->where('auditable_type', 'case_update') + ->update([ + 'auditable_type' => 'service_request_update', + ]); + + DB::table('audits') + ->where('auditable_type', 'case_model') + ->update([ + 'auditable_type' => 'service_request', + ]); + } +}; diff --git a/app-modules/resource-hub/database/migrations/2024_11_26_221634_data_fix_audit_polymorphic_types_for_knowledge_base_rename.php b/app-modules/resource-hub/database/migrations/2024_11_26_221634_data_fix_audit_polymorphic_types_for_knowledge_base_rename.php new file mode 100644 index 0000000000..9b1c8923d6 --- /dev/null +++ b/app-modules/resource-hub/database/migrations/2024_11_26_221634_data_fix_audit_polymorphic_types_for_knowledge_base_rename.php @@ -0,0 +1,94 @@ + + + Copyright © 2016-2024, Canyon GBS LLC. All rights reserved. + + Advising App™ is licensed under the Elastic License 2.0. For more details, + see https://github.com/canyongbs/advisingapp/blob/main/LICENSE. + + Notice: + + - You may not provide the software to third parties as a hosted or managed + service, where the service provides users with access to any substantial set of + the features or functionality of the software. + - You may not move, change, disable, or circumvent the license key functionality + in the software, and you may not remove or obscure any functionality in the + software that is protected by the license key. + - You may not alter, remove, or obscure any licensing, copyright, or other notices + of the licensor in the software. Any use of the licensor’s trademarks is subject + to applicable law. + - Canyon GBS LLC respects the intellectual property rights of others and expects the + same in return. Canyon GBS™ and Advising App™ are registered trademarks of + Canyon GBS LLC, and we are committed to enforcing and protecting our trademarks + vigorously. + - The software solution, including services, infrastructure, and code, is offered as a + Software as a Service (SaaS) by Canyon GBS LLC. + - Use of this software implies agreement to the license terms and conditions as stated + in the Elastic License 2.0. + + For more information or inquiries please visit our website at + https://www.canyongbs.com or contact us via email at legal@canyongbs.com. + + +*/ + +use Illuminate\Support\Facades\DB; +use Illuminate\Database\Migrations\Migration; + +return new class () extends Migration { + public function up(): void + { + DB::table('audits') + ->where('auditable_type', 'knowledge_base_article') + ->update([ + 'auditable_type' => 'resource_hub_article', + ]); + + DB::table('audits') + ->where('auditable_type', 'knowledge_base_category') + ->update([ + 'auditable_type' => 'resource_hub_category', + ]); + + DB::table('audits') + ->where('auditable_type', 'knowledge_base_quality') + ->update([ + 'auditable_type' => 'resource_hub_quality', + ]); + + DB::table('audits') + ->where('auditable_type', 'knowledge_base_status') + ->update([ + 'auditable_type' => 'resource_hub_status', + ]); + } + + public function down(): void + { + DB::table('audits') + ->where('auditable_type', 'resource_hub_article') + ->update([ + 'auditable_type' => 'knowledge_base_article', + ]); + + DB::table('audits') + ->where('auditable_type', 'resource_hub_category') + ->update([ + 'auditable_type' => 'knowledge_base_category', + ]); + + DB::table('audits') + ->where('auditable_type', 'resource_hub_quality') + ->update([ + 'auditable_type' => 'knowledge_base_quality', + ]); + + DB::table('audits') + ->where('auditable_type', 'resource_hub_status') + ->update([ + 'auditable_type' => 'knowledge_base_status', + ]); + } +}; diff --git a/app-modules/resource-hub/database/migrations/2024_11_26_222012_data_fix_media_polymorphic_types_for_knowledge_base_rename.php b/app-modules/resource-hub/database/migrations/2024_11_26_222012_data_fix_media_polymorphic_types_for_knowledge_base_rename.php new file mode 100644 index 0000000000..b11cf57879 --- /dev/null +++ b/app-modules/resource-hub/database/migrations/2024_11_26_222012_data_fix_media_polymorphic_types_for_knowledge_base_rename.php @@ -0,0 +1,94 @@ + + + Copyright © 2016-2024, Canyon GBS LLC. All rights reserved. + + Advising App™ is licensed under the Elastic License 2.0. For more details, + see https://github.com/canyongbs/advisingapp/blob/main/LICENSE. + + Notice: + + - You may not provide the software to third parties as a hosted or managed + service, where the service provides users with access to any substantial set of + the features or functionality of the software. + - You may not move, change, disable, or circumvent the license key functionality + in the software, and you may not remove or obscure any functionality in the + software that is protected by the license key. + - You may not alter, remove, or obscure any licensing, copyright, or other notices + of the licensor in the software. Any use of the licensor’s trademarks is subject + to applicable law. + - Canyon GBS LLC respects the intellectual property rights of others and expects the + same in return. Canyon GBS™ and Advising App™ are registered trademarks of + Canyon GBS LLC, and we are committed to enforcing and protecting our trademarks + vigorously. + - The software solution, including services, infrastructure, and code, is offered as a + Software as a Service (SaaS) by Canyon GBS LLC. + - Use of this software implies agreement to the license terms and conditions as stated + in the Elastic License 2.0. + + For more information or inquiries please visit our website at + https://www.canyongbs.com or contact us via email at legal@canyongbs.com. + + +*/ + +use Illuminate\Support\Facades\DB; +use Illuminate\Database\Migrations\Migration; + +return new class () extends Migration { + public function up(): void + { + DB::table('media') + ->where('model_type', 'knowledge_base_article') + ->update([ + 'model_type' => 'resource_hub_article', + ]); + + DB::table('media') + ->where('model_type', 'knowledge_base_category') + ->update([ + 'model_type' => 'resource_hub_category', + ]); + + DB::table('media') + ->where('model_type', 'knowledge_base_quality') + ->update([ + 'model_type' => 'resource_hub_quality', + ]); + + DB::table('media') + ->where('model_type', 'knowledge_base_status') + ->update([ + 'model_type' => 'resource_hub_status', + ]); + } + + public function down(): void + { + DB::table('media') + ->where('model_type', 'resource_hub_article') + ->update([ + 'model_type' => 'knowledge_base_article', + ]); + + DB::table('media') + ->where('model_type', 'resource_hub_category') + ->update([ + 'model_type' => 'knowledge_base_category', + ]); + + DB::table('media') + ->where('model_type', 'resource_hub_quality') + ->update([ + 'model_type' => 'knowledge_base_quality', + ]); + + DB::table('media') + ->where('model_type', 'resource_hub_status') + ->update([ + 'model_type' => 'knowledge_base_status', + ]); + } +};