From 62417c44be952ae86f62fb7872c24cdf6ebe3733 Mon Sep 17 00:00:00 2001 From: eko54r Date: Sat, 18 Apr 2026 15:50:39 +0700 Subject: [PATCH] Update bunines bugs --- .../Controllers/Api/BusinessController.php | 60 ++++++++++++++----- database/seeders/InitialDataSeeder.php | 6 +- 2 files changed, 47 insertions(+), 19 deletions(-) diff --git a/app/Http/Controllers/Api/BusinessController.php b/app/Http/Controllers/Api/BusinessController.php index e9e9f5c7..f1c2aa0a 100644 --- a/app/Http/Controllers/Api/BusinessController.php +++ b/app/Http/Controllers/Api/BusinessController.php @@ -25,6 +25,19 @@ public function index() { $business_id = auth()->user()->business_id; + if (is_null($business_id)) { + $business = Business::with('category', 'enrolled_plan')->first(); + if (!$business) { + return response()->json([ + 'status' => 'error', + 'message' => 'No business found' + ], 404); + } + $business_id = $business->id; + } else { + $business = Business::with('category:id,name', 'enrolled_plan:id,plan_id,business_id,price,duration,allow_multibranch', 'enrolled_plan.plan:id,subscriptionName')->findOrFail($business_id); + } + // Ensure currency exists $business_currency = UserCurrency::select('id', 'name', 'code', 'symbol', 'position') ->where('business_id', $business_id) @@ -60,16 +73,31 @@ public function index() ->get() ->firstWhere('value.business_id', $business_id); - $invoice_logo = $option->value['invoice_logo'] ?? null; - $a4_invoice_logo = $option->value['a4_invoice_logo'] ?? null; - $thermal_invoice_logo = $option->value['thermal_invoice_logo'] ?? null; - $invoice_scanner_logo = $option->value['invoice_scanner_logo'] ?? null; - $sale_rounding_option = $option->value['sale_rounding_option'] ?? 'none'; - $note_label = $option->value['note_label'] ?? null; - $note = $option->value['note'] ?? null; - $gratitude_message = $option->value['gratitude_message'] ?? null; - $warranty_void_label = $option->value['warranty_void_label'] ?? null; - $warranty_void = $option->value['warranty_void'] ?? null; + if (!$option) { + $invoice_logo = null; + $a4_invoice_logo = null; + $thermal_invoice_logo = null; + $invoice_scanner_logo = null; + $sale_rounding_option = 'none'; + $note_label = null; + $note = null; + $gratitude_message = null; + $warranty_void_label = null; + $warranty_void = null; + $option_value = []; + } else { + $option_value = $option->value; + $invoice_logo = $option_value['invoice_logo'] ?? null; + $a4_invoice_logo = $option_value['a4_invoice_logo'] ?? null; + $thermal_invoice_logo = $option_value['thermal_invoice_logo'] ?? null; + $invoice_scanner_logo = $option_value['invoice_scanner_logo'] ?? null; + $sale_rounding_option = $option_value['sale_rounding_option'] ?? 'none'; + $note_label = $option_value['note_label'] ?? null; + $note = $option_value['note'] ?? null; + $gratitude_message = $option_value['gratitude_message'] ?? null; + $warranty_void_label = $option_value['warranty_void_label'] ?? null; + $warranty_void = $option_value['warranty_void'] ?? null; + } $data = array_merge( $business->toArray(), @@ -87,12 +115,12 @@ public function index() ['gratitude_message' => $gratitude_message], ['warranty_void_label' => $warranty_void_label], ['warranty_void' => $warranty_void], - ['show_note' => (int) ($option->value['show_note'] ?? 0)], - ['show_gratitude_msg' => (int) ($option->value['show_gratitude_msg'] ?? 0)], - ['show_invoice_scanner_logo' => (int) ($option->value['show_invoice_scanner_logo'] ?? 0)], - ['show_a4_invoice_logo' => (int) ($option->value['show_a4_invoice_logo'] ?? 0)], - ['show_thermal_invoice_logo' => (int) ($option->value['show_thermal_invoice_logo'] ?? 0)], - ['show_warranty' => (int) ($option->value['show_warranty'] ?? 0)], + ['show_note' => (int) ($option_value['show_note'] ?? 0)], + ['show_gratitude_msg' => (int) ($option_value['show_gratitude_msg'] ?? 0)], + ['show_invoice_scanner_logo' => (int) ($option_value['show_invoice_scanner_logo'] ?? 0)], + ['show_a4_invoice_logo' => (int) ($option_value['show_a4_invoice_logo'] ?? 0)], + ['show_thermal_invoice_logo' => (int) ($option_value['show_thermal_invoice_logo'] ?? 0)], + ['show_warranty' => (int) ($option_value['show_warranty'] ?? 0)], ['develop_by_level' => $develop_by_level], ['develop_by' => $develop_by], ['develop_by_link' => $develop_by_link], diff --git a/database/seeders/InitialDataSeeder.php b/database/seeders/InitialDataSeeder.php index 299655f6..066cea4c 100644 --- a/database/seeders/InitialDataSeeder.php +++ b/database/seeders/InitialDataSeeder.php @@ -2,6 +2,7 @@ namespace Database\Seeders; +use Illuminate\Support\Facades\Schema; use Illuminate\Database\Seeder; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\File; @@ -27,7 +28,7 @@ public function run(): void if (DB::getDriverName() === 'pgsql') { DB::statement("SET session_replication_role = 'replica';"); } else { - DB::statement('SET FOREIGN_KEY_CHECKS=0;'); + Schema::disableForeignKeyConstraints(); } $handle = fopen($sqlPath, "r"); @@ -88,9 +89,8 @@ public function run(): void DB::statement("SET session_replication_role = 'origin';"); // Update sequences for PostgreSQL $this->updatePostgresSequences(); - } else { - DB::statement('SET FOREIGN_KEY_CHECKS=1;'); } + Schema::enableForeignKeyConstraints(); } /**