From b925a2e1a795b1f200fe6819afacd8b906bfeeee Mon Sep 17 00:00:00 2001 From: Pau Benet Prat Date: Tue, 26 Apr 2022 09:51:01 +0200 Subject: [PATCH 01/15] Refactor saveNestedTrait. --- src/Traits/SaveNestedTrait.php | 55 +++++++++++++++++----------------- 1 file changed, 28 insertions(+), 27 deletions(-) diff --git a/src/Traits/SaveNestedTrait.php b/src/Traits/SaveNestedTrait.php index 8cb6768..91c96bc 100644 --- a/src/Traits/SaveNestedTrait.php +++ b/src/Traits/SaveNestedTrait.php @@ -1,52 +1,53 @@ - $value) { - if (static::isKeyARelation($key) ) { - if($value != null) { - $toSaveNested[$key] = $value; + foreach ($nestedArray as $relationMethodName => $value) { + if (static::isARelationMethod($relationMethodName)) { + if ($value != null) { + $toSaveNested[$relationMethodName] = $value; } - unset($nestedArray[$key]); + unset($nestedArray[$relationMethodName]); } } if (isset($nestedArray['id']) && $nestedArray['id']) { - $object = static::find($nestedArray['id']); - if($object) $object->update($nestedArray); - else if($createIfNotFound) $object = static::create($nestedArray); + if ($object = static::find($nestedArray['id'])) { + $object->update($nestedArray); + } else if ($createIfNotFound) { + $object = static::create($nestedArray); + } } else { $object = static::create($nestedArray); } - foreach ($toSaveNested as $key => $array) { - $relatedModel = $object->$key()->getRelated(); - $foreignKey = $object->$key()->getForeignKeyName(); + foreach ($toSaveNested as $relationMethodName => $contents) { + $relation = $object->$relationMethodName(); + $relatedModel = $relation->getRelated(); + $foreignKey = $relation->getForeignKeyName(); - - if(is_array($array)) { - foreach ($array as $content) { - $content->$foreignKey = $object->id; - $relatedModel::saveNested((array)$content, $createIfNotFound); - } - } - else{ - $array->$foreignKey = $object->id; - $relatedModel::saveNested((array)$array, $createIfNotFound); + $contents = is_array($contents) ? $contents : [$contents]; + foreach ($contents as $content) { + $content->$foreignKey = $object->id; + $relatedModel::saveNested((array) $content, $createIfNotFound); } } return $object; } - public static function isKeyARelation($key){ + public static function isARelationMethod(string $relationMethodName) + { $object = new static(); - return method_exists( $object, $key) && ($object->$key() instanceof Relation); + return method_exists($object, $relationMethodName) && ($object->$relationMethodName() instanceof Relation); } } \ No newline at end of file From f3d7a7cb9f612eddebdb917bdd9878768791c8ae Mon Sep 17 00:00:00 2001 From: Pau Benet Prat Date: Tue, 26 Apr 2022 09:52:13 +0200 Subject: [PATCH 02/15] Refactor saveNestedTrait. --- src/Traits/SaveNestedTrait.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/Traits/SaveNestedTrait.php b/src/Traits/SaveNestedTrait.php index 91c96bc..e7eb402 100644 --- a/src/Traits/SaveNestedTrait.php +++ b/src/Traits/SaveNestedTrait.php @@ -2,6 +2,7 @@ namespace BadChoice\Grog\Traits; +use Illuminate\Database\Eloquent\Relations\MorphOneOrMany; use Illuminate\Database\Eloquent\Relations\Relation; /** @@ -35,10 +36,16 @@ public static function saveNested(array $nestedArray, bool $createIfNotFound = f $relation = $object->$relationMethodName(); $relatedModel = $relation->getRelated(); $foreignKey = $relation->getForeignKeyName(); + $foreignKeyType = $relation instanceof MorphOneOrMany + ? $relation->getMorphType() + : null; $contents = is_array($contents) ? $contents : [$contents]; foreach ($contents as $content) { $content->$foreignKey = $object->id; + if ($foreignKeyType) { + $content->$foreignKeyType = get_class($object); + } $relatedModel::saveNested((array) $content, $createIfNotFound); } } From 2dab4baf5d0135fa633e989009190d9486760404 Mon Sep 17 00:00:00 2001 From: Alex Toro Date: Wed, 4 May 2022 10:24:15 +0200 Subject: [PATCH 03/15] Added the confirm delete message --- src/Services/ResourceRoute.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Services/ResourceRoute.php b/src/Services/ResourceRoute.php index 1925521..f37e4cd 100644 --- a/src/Services/ResourceRoute.php +++ b/src/Services/ResourceRoute.php @@ -42,7 +42,7 @@ public static function link_to_edit($object) public static function link_to_delete($object) { - return link_to(route(object_route($object) . '.destroy', $object->id), '', ['id' => $object->id, 'class' => 'delete-resource', 'data-delete' => 'confirm resource']) ; + return link_to(route(object_route($object) . '.destroy', $object->id), '', ['id' => $object->id, 'class' => 'delete-resource', 'data-delete' => 'confirm resource', 'confirm-message' => __('admin.confirmDelete')]) ; } public static function route_to_update() From fbe872c0f994b00f626ed3d6728fdfd566a9c76c Mon Sep 17 00:00:00 2001 From: Pau Benet Prat Date: Wed, 4 May 2022 12:35:24 +0200 Subject: [PATCH 04/15] Remove font-awesome-dependency. --- composer.json | 1 - composer.lock | 57 ++------------------------------------------------- 2 files changed, 2 insertions(+), 56 deletions(-) diff --git a/composer.json b/composer.json index 07b2a7c..2dccfa2 100644 --- a/composer.json +++ b/composer.json @@ -3,7 +3,6 @@ "description": "Easy form builder from array", "require": { "php": "^8.1", - "khill/fontawesomephp": "^2.0", "goodby/csv": "1.2.0", "laravelcollective/html": "^6.1", "laravel/framework": "8.x", diff --git a/composer.lock b/composer.lock index d420d38..f188604 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "30daefbacb7d48dd3cbfa8f9e9e1986e", + "content-hash": "2390a0fcd102432d3de07ca8fe2d477b", "packages": [ { "name": "brick/math", @@ -560,59 +560,6 @@ ], "time": "2021-11-21T21:41:47+00:00" }, - { - "name": "khill/fontawesomephp", - "version": "2.0", - "source": { - "type": "git", - "url": "https://github.com/kevinkhill/FontAwesomePHP.git", - "reference": "324fdac57c319f7212d4be2e47f1d03c3f015e1a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/kevinkhill/FontAwesomePHP/zipball/324fdac57c319f7212d4be2e47f1d03c3f015e1a", - "reference": "324fdac57c319f7212d4be2e47f1d03c3f015e1a", - "shasum": "" - }, - "require-dev": { - "phpunit/phpunit": "~4.8", - "satooshi/php-coveralls": "~1.0", - "squizlabs/php_codesniffer": "~2.5" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "Khill\\FontAwesome\\Laravel\\FontAwesomeServiceProvider" - ], - "aliases": { - "FA": "Khill\\FontAwesome\\Laravel\\FontAwesomeFacade" - } - } - }, - "autoload": { - "psr-4": { - "Khill\\FontAwesome\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Kevin Hill", - "email": "kevinkhill@gmail.com", - "role": "Developer" - } - ], - "description": "PHP wrapper library for the fantastic Font Awesome icon set.", - "support": { - "issues": "https://github.com/kevinkhill/FontAwesomePHP/issues", - "source": "https://github.com/kevinkhill/FontAwesomePHP/tree/2.0" - }, - "time": "2018-06-19T17:27:46+00:00" - }, { "name": "laravel/framework", "version": "v8.83.9", @@ -4707,5 +4654,5 @@ "php": "^8.1" }, "platform-dev": [], - "plugin-api-version": "2.2.0" + "plugin-api-version": "2.0.0" } From 5d3b943fd3765e6ee3746bdb912cafb77da6ddb0 Mon Sep 17 00:00:00 2001 From: Pau Benet Prat Date: Mon, 14 Nov 2022 12:33:11 +0100 Subject: [PATCH 05/15] Add overwritable methode relation logic. --- src/Traits/SaveNestedTrait.php | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/Traits/SaveNestedTrait.php b/src/Traits/SaveNestedTrait.php index e7eb402..e196bb0 100644 --- a/src/Traits/SaveNestedTrait.php +++ b/src/Traits/SaveNestedTrait.php @@ -41,6 +41,10 @@ public static function saveNested(array $nestedArray, bool $createIfNotFound = f : null; $contents = is_array($contents) ? $contents : [$contents]; + + if (static::isAnOverwritableMethodRelation($relationMethodName)) { + $object->$relationMethodName()->delete(); + } foreach ($contents as $content) { $content->$foreignKey = $object->id; if ($foreignKeyType) { @@ -52,9 +56,15 @@ public static function saveNested(array $nestedArray, bool $createIfNotFound = f return $object; } - public static function isARelationMethod(string $relationMethodName) + public static function isARelationMethod(string $relationMethodName): bool { $object = new static(); return method_exists($object, $relationMethodName) && ($object->$relationMethodName() instanceof Relation); } + + public static function isAnOverwritableMethodRelation(string $relationMethodName): bool + { + $object = new static(); + return in_array($relationMethodName, $object->overwritableRelations ?? []); + } } \ No newline at end of file From 55175f5f7edad4ea9181b552577b3bcf5bbc8d7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mart=C3=AD=20Sala=20Morral?= Date: Wed, 4 Jan 2023 09:55:06 +0100 Subject: [PATCH 06/15] Added compatibility with laravel 9 --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 07b2a7c..928dae0 100644 --- a/composer.json +++ b/composer.json @@ -6,7 +6,7 @@ "khill/fontawesomephp": "^2.0", "goodby/csv": "1.2.0", "laravelcollective/html": "^6.1", - "laravel/framework": "8.x", + "laravel/framework": "8.x|9.x", "laravel/helpers": "^1.2" }, "authors": [ From da417f8515e777c2cb9ac147e63cf7e9e6e44dde Mon Sep 17 00:00:00 2001 From: Alex Toro Date: Wed, 8 Feb 2023 23:33:53 +0100 Subject: [PATCH 07/15] Improved the auth connection trait by requesting the data from the config --- config/tenants.php | 6 +++++- src/GrogServiceProvider.php | 1 + src/Traits/AuthConnectionTrait.php | 14 +++++++++----- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/config/tenants.php b/config/tenants.php index c0fab16..bd4dfa6 100644 --- a/config/tenants.php +++ b/config/tenants.php @@ -6,6 +6,10 @@ "DB_USERNAME" => env('DB_USERNAME' ,'root'), "DB_PASSWORD" => env('DB_PASSWORD' ,''), + 'db' => [ + 'connection' => env('DB_AUTH_CONNECTION', 'mysql'), + ], + "migration_paths" => [ "database/migrations/tenants", "database/migrations/tenants/stocks", @@ -15,4 +19,4 @@ TenantConfigSeeder::class, TenantProductsSeeder::class, ], -]; \ No newline at end of file +]; diff --git a/src/GrogServiceProvider.php b/src/GrogServiceProvider.php index 9c8a6ce..6864e8d 100644 --- a/src/GrogServiceProvider.php +++ b/src/GrogServiceProvider.php @@ -33,5 +33,6 @@ public function boot(){ public function register(){ $this->app->register(HtmlServiceProvider::class); $this->app->register(FontAwesomeServiceProvider::class); + $this->mergeConfigFrom(__DIR__ . '/../config/tenants.php', 'tenants'); } } diff --git a/src/Traits/AuthConnectionTrait.php b/src/Traits/AuthConnectionTrait.php index 26c3037..b2728f0 100644 --- a/src/Traits/AuthConnectionTrait.php +++ b/src/Traits/AuthConnectionTrait.php @@ -1,7 +1,11 @@ - Date: Fri, 10 Feb 2023 09:00:26 +0100 Subject: [PATCH 08/15] REV-10678 removes khill fontawesome reference --- src/GrogServiceProvider.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/GrogServiceProvider.php b/src/GrogServiceProvider.php index 6864e8d..c8677c0 100644 --- a/src/GrogServiceProvider.php +++ b/src/GrogServiceProvider.php @@ -3,7 +3,6 @@ use Collective\Html\HtmlServiceProvider; use Illuminate\Support\ServiceProvider; use Illuminate\Foundation\AliasLoader; -use Khill\FontAwesome\Laravel\FontAwesomeServiceProvider; class GrogServiceProvider extends ServiceProvider { @@ -32,7 +31,6 @@ public function boot(){ public function register(){ $this->app->register(HtmlServiceProvider::class); - $this->app->register(FontAwesomeServiceProvider::class); $this->mergeConfigFrom(__DIR__ . '/../config/tenants.php', 'tenants'); } } From 412b9b472a15a2436b012fb4fb5ec15617cd0f3f Mon Sep 17 00:00:00 2001 From: Pau Benet Prat Date: Mon, 5 Jun 2023 15:50:07 +0200 Subject: [PATCH 09/15] Undo deletes when updating overwritableMethodRelation. --- src/Traits/SaveNestedTrait.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Traits/SaveNestedTrait.php b/src/Traits/SaveNestedTrait.php index e196bb0..9c9c0b4 100644 --- a/src/Traits/SaveNestedTrait.php +++ b/src/Traits/SaveNestedTrait.php @@ -26,7 +26,12 @@ public static function saveNested(array $nestedArray, bool $createIfNotFound = f if ($object = static::find($nestedArray['id'])) { $object->update($nestedArray); } else if ($createIfNotFound) { - $object = static::create($nestedArray); + $object = static::withTrashed()->updateOrCreate([ + 'id' => $nestedArray['id'], + ], [ + 'deleted_at' => null, + ...$nestedArray + ]); } } else { $object = static::create($nestedArray); From f2d87eac755d8686064e31a2d47eeee911e66258 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mart=C3=AD=20Sala=20Morral?= Date: Tue, 22 Aug 2023 14:37:41 +0200 Subject: [PATCH 10/15] Added compatibility with Laravel 10 --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index ce32494..6c1d832 100644 --- a/composer.json +++ b/composer.json @@ -5,7 +5,7 @@ "php": "^8.1", "goodby/csv": "1.2.0", "laravelcollective/html": "^6.1", - "laravel/framework": "8.x|9.x", + "laravel/framework": "8.x|9.x|10.x", "laravel/helpers": "^1.2" }, "authors": [ From a0c15fcc90f2b918abd132589f95ceec9591dbc1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jordi=20Puigdell=C3=ADvol?= Date: Thu, 5 Oct 2023 09:32:16 +0200 Subject: [PATCH 11/15] Adds option to connect to multiple instances --- src/Helpers/Helpers.php | 11 +++++++++-- src/Services/ProvidesDatabaseConnection.php | 11 +++++++++++ src/Services/RVConnection.php | 10 ++++++++++ 3 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 src/Services/ProvidesDatabaseConnection.php diff --git a/src/Helpers/Helpers.php b/src/Helpers/Helpers.php index 35e655e..1703975 100644 --- a/src/Helpers/Helpers.php +++ b/src/Helpers/Helpers.php @@ -13,8 +13,15 @@ * @param $shouldConnect * @param bool $reports true to connect to the read only database insatance */ -function createDBConnection($user, $shouldConnect = false, $reports = false) { - (new RVConnection($user))->useReportsDatabase($reports)->create($shouldConnect); +function createDBConnection(string|\BadChoice\Grog\Services\ProvidesDatabaseConnection $object, $shouldConnect = false, $reports = false) { + if ($object instanceof string){ + return (new RVConnection($user))->useReportsDatabase($reports)->create($shouldConnect); + } + + (new RVConnection($object->getDatabaseName())) + ->atInstance($object->getDatabaseInstance()) + ->useReportsDatabase($reports) + ->create($shouldConnect); } /** diff --git a/src/Services/ProvidesDatabaseConnection.php b/src/Services/ProvidesDatabaseConnection.php new file mode 100644 index 0000000..c662d13 --- /dev/null +++ b/src/Services/ProvidesDatabaseConnection.php @@ -0,0 +1,11 @@ +databaseName = $database; @@ -29,6 +31,11 @@ public function useReportsDatabase($useReportsDatabase = true) return $this; } + public function atInstance($instanceName) { + $this->dbInstanceName = $instanceName; + return $this; + } + private function getDatabase(){ $prefix = config('tenants.DB_TENANTS_PREFIX'); return App::environment('testing') ? config('database.connections.'.config('database.default').'.database', ':memory:') : $prefix.$this->databaseName; @@ -70,6 +77,9 @@ protected function getUsername() { } protected function getHost() { + if ($this->dbInstance) { + return config('tenants.DB_INSTANCES.'.$this->dbInstance . '.' . ($this->useReportsDatabase ? 'reports' : 'main')); + } return ($this->useReportsDatabase) ? config('tenants.DB_REPORTS_HOST') : config('tenants.DB_HOST'); } From 927080b0debc3af3851981952942c57fb316868a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jordi=20Puigdell=C3=ADvol?= Date: Thu, 5 Oct 2023 09:48:21 +0200 Subject: [PATCH 12/15] Fixed minor typo --- src/Services/RVConnection.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Services/RVConnection.php b/src/Services/RVConnection.php index 3b7af32..c1a8cad 100644 --- a/src/Services/RVConnection.php +++ b/src/Services/RVConnection.php @@ -32,7 +32,7 @@ public function useReportsDatabase($useReportsDatabase = true) } public function atInstance($instanceName) { - $this->dbInstanceName = $instanceName; + $this->dbInstance = $instanceName; return $this; } From 8de4458719d31abd15a5b89c74b3f0bfab109706 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jordi=20Puigdell=C3=ADvol?= Date: Thu, 5 Oct 2023 16:24:54 +0200 Subject: [PATCH 13/15] Auto find user --- src/Helpers/Helpers.php | 8 ++++++-- src/Services/ProvidesDatabaseConnection.php | 3 +-- src/Services/RVConnection.php | 1 + 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/Helpers/Helpers.php b/src/Helpers/Helpers.php index 1703975..3fee887 100644 --- a/src/Helpers/Helpers.php +++ b/src/Helpers/Helpers.php @@ -14,8 +14,12 @@ * @param bool $reports true to connect to the read only database insatance */ function createDBConnection(string|\BadChoice\Grog\Services\ProvidesDatabaseConnection $object, $shouldConnect = false, $reports = false) { - if ($object instanceof string){ - return (new RVConnection($user))->useReportsDatabase($reports)->create($shouldConnect); + if (is_string($object)){ + if ($provider = RVConnection::$provider){ + $object = $provider::databaseConnectionProviderByName($object); + } else { + return (new RVConnection($user))->useReportsDatabase($reports)->create($shouldConnect); + } } (new RVConnection($object->getDatabaseName())) diff --git a/src/Services/ProvidesDatabaseConnection.php b/src/Services/ProvidesDatabaseConnection.php index c662d13..e52ab7a 100644 --- a/src/Services/ProvidesDatabaseConnection.php +++ b/src/Services/ProvidesDatabaseConnection.php @@ -4,8 +4,7 @@ interface ProvidesDatabaseConnection { - public function getDatabaseInstance() : ?string; public function getDatabaseName(): string; - + static function databaseConnectionProviderByName($string) : ?ProvidesDatabaseConnection; } diff --git a/src/Services/RVConnection.php b/src/Services/RVConnection.php index c1a8cad..7545753 100644 --- a/src/Services/RVConnection.php +++ b/src/Services/RVConnection.php @@ -8,6 +8,7 @@ class RVConnection { + static string $provider; protected $useReportsDatabase = false; protected $databaseName; protected $connectionName; From 3811ad9d199e9c545a360485a5f94313aff0e397 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jordi=20Puigdell=C3=ADvol?= Date: Thu, 5 Oct 2023 19:10:02 +0200 Subject: [PATCH 14/15] Reducing complexity --- src/Helpers/Helpers.php | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/Helpers/Helpers.php b/src/Helpers/Helpers.php index 3fee887..40bb8e3 100644 --- a/src/Helpers/Helpers.php +++ b/src/Helpers/Helpers.php @@ -13,17 +13,13 @@ * @param $shouldConnect * @param bool $reports true to connect to the read only database insatance */ -function createDBConnection(string|\BadChoice\Grog\Services\ProvidesDatabaseConnection $object, $shouldConnect = false, $reports = false) { - if (is_string($object)){ - if ($provider = RVConnection::$provider){ - $object = $provider::databaseConnectionProviderByName($object); - } else { - return (new RVConnection($user))->useReportsDatabase($reports)->create($shouldConnect); - } +function createDBConnection(string|\BadChoice\Grog\Services\ProvidesDatabaseConnection $object, bool $shouldConnect = false, bool $reports = false) { + if (is_string($object) && RVConnection::$provider) { + $object = RVConnection::$provider::databaseConnectionProviderByName($object); } - (new RVConnection($object->getDatabaseName())) - ->atInstance($object->getDatabaseInstance()) + return (new RVConnection($object instanceof ProvidesDatabaseConnection ? $object->getDatabaseName() : $object)) + ->atInstance($object instanceof ProvidesDatabaseConnection ? $object->getDatabaseInstance() : null) ->useReportsDatabase($reports) ->create($shouldConnect); } From aa5154ecfbe4d644bfabb52dddd3fa57bef226f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jordi=20Puigdell=C3=ADvol?= Date: Mon, 9 Oct 2023 09:17:45 +0200 Subject: [PATCH 15/15] PR Fixes --- src/Helpers/Helpers.php | 4 ++-- src/Services/RVConnection.php | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/Helpers/Helpers.php b/src/Helpers/Helpers.php index 1703975..ed98433 100644 --- a/src/Helpers/Helpers.php +++ b/src/Helpers/Helpers.php @@ -3,7 +3,7 @@ use BadChoice\Grog\Services\RVConnection; use Illuminate\Support\Facades\App; use Illuminate\Support\Facades\Config; - +use BadChoice\Grog\Services\ProvidesDatabaseConnection; /** * Creates a connection for the database of the $user * the name of the connection will be 'RevoRetail_{$user}' @@ -13,7 +13,7 @@ * @param $shouldConnect * @param bool $reports true to connect to the read only database insatance */ -function createDBConnection(string|\BadChoice\Grog\Services\ProvidesDatabaseConnection $object, $shouldConnect = false, $reports = false) { +function createDBConnection(string|ProvidesDatabaseConnection $object, $shouldConnect = false, $reports = false) { if ($object instanceof string){ return (new RVConnection($user))->useReportsDatabase($reports)->create($shouldConnect); } diff --git a/src/Services/RVConnection.php b/src/Services/RVConnection.php index c1a8cad..b2ecfe8 100644 --- a/src/Services/RVConnection.php +++ b/src/Services/RVConnection.php @@ -8,11 +8,11 @@ class RVConnection { - protected $useReportsDatabase = false; - protected $databaseName; - protected $connectionName; + protected bool $useReportsDatabase = false; + protected string $databaseName; + protected string $connectionName; - protected $dbInstance; + protected ?string $dbInstance; public function __construct($database) { @@ -31,7 +31,7 @@ public function useReportsDatabase($useReportsDatabase = true) return $this; } - public function atInstance($instanceName) { + public function atInstance(?string $instanceName) { $this->dbInstance = $instanceName; return $this; }