* Add BroadcastTenancyBootstrapper and TenancyBroadcastManager
* Fix code style (php-cs-fixer)
* Bind original BroadcastManager again on `revert()`
* Fix code style (php-cs-fixer)
* Move manager to correct directory
* Fix property type
* Make BroadcastTenancyBootstrapper a singleton in tests
* Fix code style (php-cs-fixer)
* Bind the original broadcaster instance on `revert()`
* Instead of just forgetting the old broadcaster instance, bind the new one
* Add BroadcastTenancyBootstrapper tests
* Separate the test
* Fix code style (php-cs-fixer)
* Add bootstrapper test
* Add broadcaster channels test
* Clean up BootstrapperTest
* Fix BroadcastingTest
* Add comments to TenancyBroadcastManager
* Add BroadcastTenancyBootstrapper comments
* Simplify BroadcastManager extension, remove setDriver method
* Add comment
* Fix PHPStan errors
* Fix PHPStan errors
* Remove duplicate import
* Fix test
* Delete `::class` from test name
Co-authored-by: Samuel Štancl <samuel.stancl@gmail.com>
* Create databases for newly created tenants in BroadcastingTest
* move spatie/invade to require
---------
Co-authored-by: PHP CS Fixer <phpcsfixer@example.com>
Co-authored-by: Samuel Štancl <samuel.stancl@gmail.com>
* Add UrlTenancyBootstrapper
* Fix code style (php-cs-fixer)
* Move URL overriding to a separate method, call it in `boot()`
* Test URL root overriding
* Change parameter formatting
Co-authored-by: Samuel Štancl <samuel.stancl@gmail.com>
* Fix code style (php-cs-fixer)
* Improve URL bootstrapper test
* Move `$scheme` and `$hostname` to the closure
* Update code example comment
* Hardcode values instead of referencing variables
* Delete extra line
---------
Co-authored-by: PHP CS Fixer <phpcsfixer@example.com>
Co-authored-by: Samuel Štancl <samuel.stancl@gmail.com>
* Bump dependencies for Laravel 10
* Update GitHub Actions for Laravel 10
* ci: do not test L10 using PHP 7.3
* drop < L9 support
* use `dispatch_sync` instead of `dispatch_now`
* migrate phpunit configuration
* Update ci.yml
* drop laravel < 9 support
* misc L10 fixes, new docker image
* specify odbc version
* wip
* properly list php versions as strings
* minor changes
* Add `getValue($queryGrammar)` to raw query
* Clean up `isVersion8` code
* rewrite hasFailed assertion
* phpunit schema update
* Upgrade `doctrine/dbal`
---------
Co-authored-by: Samuel Štancl <samuel@archte.ch>
Co-authored-by: Samuel Štancl <samuel.stancl@gmail.com>
Co-authored-by: lukinovec <lukinovec@gmail.com>
* wip
* Fix code style (php-cs-fixer)
* adjust tests
* Update ResourceSyncingPolymorphicTest.php
* Update SyncMaster.php
* correct method name
* Update ResourceSyncingPolymorphicTest.php
* use BelongsToMany return type
* separate pivot model for each approach
* ability to publish migrations
* remove unsed import
* use resource migrations from asset
* anonymous migration for `tenant_resources` table
* rename file
* rename classes
* trait
* add back using statement
* revert to unset change
* use unset approach
* use unset approach
* Assert `tenants` are accessible
* Update ResourceSyncingUsingPolymorphicTest.php
* improve `tenants` assertions
* improve assertions
* remove `getResourceTenantModelName` method and use config
* use `BelongsToMany` for `tenants` method return type
* Fix code style (php-cs-fixer)
* revert type
* use correct key
* test right resources are accessible from the tenant
* Update tests/ResourceSyncingUsingPolymorphicTest.php
---------
Co-authored-by: PHP CS Fixer <phpcsfixer@example.com>
Co-authored-by: Samuel Štancl <samuel@archte.ch>
* Add and test Migrate command's skip-failing option
* Improve naming
* Move migration event dispatching inside try block
* Change test name
* Fix skip-failing test
* Use QueryException instead of Exception
* Correct TenantDatabaseDoesNotExistException import
* Correct test
* Check for the the testing env in DB bootstrapper
* Correct the Migrate command
* Fix code style (php-cs-fixer)
* add docs todo
* Add QueryException to the Migrat command try/catch
* Return status codes in Migrate
* Fix code style (php-cs-fixer)
* Add test for not stopping tenants:migrate after the first failure
* Update Migrate command
* Fix code style (php-cs-fixer)
* Fix code style (php-cs-fixer)
* Use `getTenants()`
* Use withtenantDatabases where needed
* Add withTenantDatabases to test
---------
Co-authored-by: PHP CS Fixer <phpcsfixer@example.com>
Co-authored-by: Samuel Štancl <samuel.stancl@gmail.com>