companyModel->findByTenant($request->tenantId); Response::json([ 'success' => true, 'data' => $companies ]); } public function create(Request $request): void { $data = $request->getBody(); $data['tenant_id'] = $request->tenantId; try { $companyId = $this->companyService->createCompany($data); Response::json([ 'success' => true, 'data' => ['id' => $companyId], 'message' => 'تم إضافة الشركة بنجاح' ], 201); } catch (Throwable $e) { Response::error('فشل إضافة الشركة', 'CREATE_FAILED', 500); } } public function updateJoFotara(Request $request, string $id): void { $data = [ 'jofotara_client_id' => $request->input('client_id'), 'jofotara_secret_key' => $request->input('secret_key'), 'is_jofotara_linked' => 1 ]; try { $this->companyService->createCompany(array_merge($data, ['id' => $id])); // Reuses encryption logic Response::json([ 'success' => true, 'message' => 'تم تحديث بيانات جو-فواتير بنجاح' ]); } catch (Throwable $e) { Response::error('فشل تحديث البيانات', 'UPDATE_FAILED', 500); } } }