* feat(UniversalRoutes): Stop overwriting the (maybe) customized onFail method and just call it in case of an exception
* throw correct exception when `$originalOnFail()` is null
* Update DomainTest.php
* convert test to pest and renamed
* Update tests/DomainTest.php
Co-authored-by: Samuel Štancl <samuel@archte.ch>
Co-authored-by: Abrar Ahmad <abrar.dev99@gmail.com>
Co-authored-by: Samuel Štancl <samuel@archte.ch>
* Fix ArgumentCount exception on the TenantAssetsController when no `$path` is provided
* CS
* CS
* Handle null case explicitly
* code style
Co-authored-by: Bram Wubs <bram@sibi.nl>
Co-authored-by: Samuel Štancl <samuel@archte.ch>
* added support for microsoft sql server database
* added support for microsoft sql server database
* trigger ci
* revert change
* trigger ci
* Try installing pdo_sqlsrv
* different approach for installing sqlsrv via pecl
* add dependencies
* add gnupg2
* Update Dockerfile
* try skipping msodbcsql17
* Update Dockerfile
* add dependency back
* update before installing
* try to add mssql
* mssql host
* TENANCY_TEST_MSSQL_HOST env var
* add env vars for mssql
* add sqlsrv vars to TestCase
* rename vars to SQLSRV [skip ci]
* MSSQL -> SQLSRV
Co-authored-by: Samuel Štancl <samuel@archte.ch>
Co-authored-by: Samuel Štancl <samuel.stancl@gmail.com>
* Let the user pass the tenant suffix by %tenant%
In this PR we let the user pass an additional parameter using `%tenant%` so the user can additionally pass the folder corresponding to each tenant.
This is my proposal, because if I try to use %storage_path% within Linux, I get the full path to the project when I use Google Cloud Storage
* Missing missing updates
Moving from $subject to $root when %storage_path% has been replaced
* Update PostgreSQLSchemaManager to set correct config key value
* Update to use version_compare
* Update TenantDatabaseManagerTest
* Improve TenantDatabaseManagerTest
* Update TenantDatabaseManager
* try specifying the signature in __construct
* constructor doesn't work since Reflection is used, try specifying getDefaultName() instead
* Fixed: make migration commands compatible
* Fix failing tests
* Fix username generation
* Re-create tmp dir as well if needed
* wip
* Test on Laravel 9
* Don't extend final Kernel class
* Make FilesystemTenancyBootstrapper compatible with Flysystem v3
Co-authored-by: George <jiri.zizka@funfirst.cz>
* Update tenant maintenance mode te be in line with Laravel
* Exclude PHP 7.4 <> L9 combination from testing
* add root_override-related assertions
* getPrefix -> getPathPrefix
* handle / inconsistency in s3 prefix
* Refactor Storage facade changes
Co-authored-by: George <jiri.zizka@funfirst.cz>
Co-authored-by: Samuel Štancl <samuel.stancl@gmail.com>
* Optionally handle drop of table views on MigrateFresh
@stancl I managed to make the modification discussed here #811
Afaik (and I can understand) this is the easiest way to handle it, but I'm open to discuss.
* Remove redundant store variable
* code style
Co-authored-by: Samuel Štancl <samuel@archte.ch>
* Fixed array to string conversion
Previous code would give this warning before actually showing exception message
`<warning>PHP Warning: Array to string conversion in .../vendor/stancl/tenancy/src/CacheManager.php on line 24</warning>`
* Update variable & syntax
Co-authored-by: Samuel Štancl <samuel.stancl@gmail.com>
* Add option to enable/disable tenant asset route
* Only registers tenant route if enabled in config
* Uses proper config key
* Move routes config option
* Move config to service provider
* Moves config to service provider
* Instead of querying Domain model, find Tenant and eager load it's domain via Tenant model. Fixed cached lookup issue - when caching Tenant, also include the current Domain, so it can be later accessed via $tenant->domains->first() (even, when using multiple domains per tenant). Added tenantIdentifiedFromCache method in CachedTenantResolver.php, which can be used to set custom properties in resolvers after Tenant is loaded from cache.
* StlyeCi Fix - removed PHP 8 nullsafe operator for compatibility with older PHP versions, replaced with inline if
* Redundant variable '$domain', because $tenant is not null, only, when current domain is found and relationship is loaded (with only one domain).
* Fixed tenant()->domains showing incorrect data. Renamed tenantIdentifiedFromCache() method and removed duplicate code, when setting current domain.
* Removed select() for better flexibility, added new method setCurrentDomain(), refactored the usage of tenantIdentified().
* rename method to resolved()
* clean up code
* StyleCi Fix
Co-authored-by: Samuel Štancl <samuel.stancl@gmail.com>
* PHP 8 support, test workflow syntax
* Try using a custom data structure in the workflow
* Try using matrix include
* Default PHP target
* single include
* fix composer package name
* [WIP] Try using dev-master for valuestore
* Update spatie/valuestore constraint to be stable
* Fix issue 521: Array input for `--tenants`
Tenancy for Laravel docs refer to using multiple `--tenants=<...> ` options when running a command for multiple tenants explicitly: https://tenancyforlaravel.com/docs/v3/console-commands
However, the command input is not defined correctly to receive arrays.
https://laravel.com/docs/7.x/artisan#input-arrays
This PR adds a failing test, fixes the issue and corrects a typo in the contributing readme.
* Styleci
Co-authored-by: Dylan Harbour <dylanh@ringier.co.za>
* Fix: The database name is displayed when the TenantDatabaseAlreadyExistsException exception is thrown.
* Fix the code style
Co-authored-by: Henrich <Ekoumelong>