1
0
Fork 0
mirror of https://github.com/archtechx/tenancy.git synced 2026-02-05 17:54:03 +00:00
Commit graph

1088 commits

Author SHA1 Message Date
Samuel Štancl
bb20a34e85
Merge branch 'master' into broadcasting-tenancy 2023-02-18 13:00:14 +01:00
Samuel Štancl
82819acf4b
move spatie/invade to require 2023-02-18 12:59:47 +01:00
lukinovec
617e9a7a73
[4.x] Allow user to customize tenant's URL root in CLI (#1044)
* 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>
2023-02-17 10:56:43 +01:00
Samuel Štancl
a006e49881
specify version of odbc libraries 2023-02-16 17:20:55 +01:00
lukinovec
7f49af4b0d Create databases for newly created tenants in BroadcastingTest 2023-02-13 15:03:25 +01:00
lukinovec
8320fc5182
Delete ::class from test name
Co-authored-by: Samuel Štancl <samuel.stancl@gmail.com>
2023-02-13 14:51:52 +01:00
Abrar Ahmad
758fbc8a75
Use polymorphic table for mapping resources to tenants (#997)
* 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>
2023-02-02 06:39:35 +01:00
Abrar Ahmad
087733d5db
Allow defining the tenant connection template using array syntax in config (#1040)
* `template_tenant_connection` can be array or string

* Update TenantDatabaseManagerTest.php

* Update TenantDatabaseManagerTest.php

* Update TenantDatabaseManagerTest.php

* Update DatabaseConfig.php

* partial database config for template

* Update tests/TenantDatabaseManagerTest.php

Co-authored-by: lukinovec <lukinovec@gmail.com>

* update test name

* improve test names

* add comments

---------

Co-authored-by: lukinovec <lukinovec@gmail.com>
Co-authored-by: Samuel Štancl <samuel@archte.ch>
2023-02-01 07:02:03 +01:00
lukinovec
342c67fe02
Add skip-failing option to the Migrate command (#945)
* 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>
2023-02-01 06:55:26 +01:00
Samuel Štancl
f741f44527 Merge branch 'master' of github.com:archtechx/tenancy 2023-02-01 06:17:27 +01:00
Samuel Štancl
0a205dd817 resolve phpstan issues 2023-02-01 06:17:19 +01:00
Samuel Štancl
66c7d6a066 fix PhpParser exception 2023-02-01 06:05:26 +01:00
PHP CS Fixer
864add9ade Fix code style (php-cs-fixer) 2023-01-31 03:00:43 +00:00
Samuel Štancl
5ceee3b9b4 Merge branch 'master' of github.com:archtechx/tenancy 2023-01-31 04:00:11 +01:00
Samuel Štancl
c74a7b6fd4 remove debuggable trait, update larastan 2023-01-31 03:59:33 +01:00
lukinovec
2d2b3faaa8 Fix test 2023-01-30 15:07:24 +01:00
lukinovec
8eeefb74a0 Remove duplicate import 2023-01-30 15:05:03 +01:00
lukinovec
352b5d64b5
Merge branch 'master' into broadcasting-tenancy 2023-01-30 15:00:40 +01:00
Roman
3e13e62806
CachedTenantResolver missing cache case crash fix. (#1005)
* CachedTenantResolver missing cache case crash fix.

* Check if cached tenant is truthy

Co-authored-by: rty <rty@interlogic.com.ua>
Co-authored-by: lukinovec <lukinovec@gmail.com>
2023-01-18 18:46:47 +01:00
Samuel Štancl
87c08cebc4 Merge branch 'master' of github.com:archtechx/tenancy 2023-01-06 02:48:40 +01:00
Samuel Štancl
21d55ef472 add setup-php to phpstan job 2023-01-06 02:44:37 +01:00
Samuel Štancl
48fc63fe02 switch to PHP 8.2 2023-01-06 02:38:31 +01:00
Samuel Štancl
a0256fd5f3 Merge branch 'master' of github.com:archtechx/tenancy 2023-01-04 03:27:04 +01:00
Samuel Štancl
24d71230e8 comment out php 8.2 phpstan ignores 2023-01-04 03:18:52 +01:00
Samuel Štancl
32a128d657 lower required php version back to 8.1 2023-01-04 03:08:56 +01:00
Samuel Štancl
db1dc334a6 add todo 2023-01-04 03:04:56 +01:00
Samuel Štancl
9078280a44 revert to 8.1 in CI for now 2023-01-04 03:04:00 +01:00
Samuel Štancl
da817cebe5 Merge branch 'master' of github.com:archtechx/tenancy 2023-01-04 02:43:24 +01:00
Samuel Štancl
d0dd87ab07 bump PHP to 8.2, minor ci fixes 2023-01-04 02:43:10 +01:00
PHP CS Fixer
d4c6c34e7c Fix code style (php-cs-fixer) 2023-01-04 01:24:21 +00:00
Samuel Štancl
03ac1ef127 fix phpstan errors (seems like it started ignoring @property annotations on interfaces and abstract classes) 2023-01-04 02:23:48 +01:00
lukinovec
0f892f1585
Make tenants able to have custom mail credentials (#989)
* Replace MailManager singleton with an instance of a custom mail manager which always resolves the mailers instead of getting the cached ones

* Fix code style (php-cs-fixer)

* Add MailTenancyBootstrapper

* Add MailTenancyBootstrapper to tenancy.bootstrappers config (commented out)

* Fix code style (php-cs-fixer)

* Make credentials map a public static property

* Always resolve only the mailers specified in the mailersToNotCache public static property

* Fix typo in comment

* Update TenancyServiceProvider comment

* add todo

* Add comments to TenancyMailManager, rename property

* Remove the configKey array check

* Simplify bootstrap method

* Change $credentialsMap so that config keys are the keys, and the tenant property names are the values

* Rename $mailersToAlwaysResolve to $tenantMailers

* Update comment

* Update comment

* Rename variable in TenancyServiceProvider comment

* Scaffold tests

* Update comments after review

* Uncomment MailTenancyBootstrapper in config

* Use array_key_exists instead of null check

* Split config logic into methods

* Update mapping credentials

* Add tests for the added logic

* Fix code style (php-cs-fixer)

* Delete default 'smtp' mailer in $tenantMailers

* Add separate method to pick the appropriate mail credentials map preset

* Specify test name

* Move mail bootstrapper tests to BootstrapperTest

* Depend less on the default mailer by adding a static `$mailer` property

* Use static property for map presets

* Comment out MailTenancyBootstrapper from config

* Add return types to MailTenancyBootstrapper methods

* Update test name

* Move MailManager extension to MailTenancyBootstrapper

* Fix code style (php-cs-fixer)

* Update config reverting test

* Use `invade()` instead of ReflectionClass

* Fix constructor parameter formatting

* Delete TenancyMailManager, update tests

* Add return type

* Update comment

* Update MailTest

* Delete `group('mailer')`

* Delete bindNewMailManagerInstance()

* Delete remaining `group('mailer')`

* Fix comment

* Fix comment

Co-authored-by: PHP CS Fixer <phpcsfixer@example.com>
Co-authored-by: Samuel Štancl <samuel.stancl@gmail.com>
2023-01-04 02:12:25 +01:00
Samuel Štancl
82fa6cb292 fix tenant() relationship in Domain 2022-12-20 15:10:29 +01:00
Abrar Ahmad
f42f08cb87
Add session state when impersonating tenant (#1029)
* wip

* Fix code style (php-cs-fixer)

* Update TenantUserImpersonationTest.php

* renamed method

* update method name in test

* rename session key

* fix test

* Update src/Features/UserImpersonation.php

Co-authored-by: Samuel Štancl <samuel@archte.ch>

* Update UserImpersonation.php

Co-authored-by: PHP CS Fixer <phpcsfixer@example.com>
Co-authored-by: Samuel Štancl <samuel@archte.ch>
2022-12-17 02:08:03 +01:00
lukinovec
21dc69e358
Use invade in BootstrapperTest (#1033) 2022-12-15 15:03:03 +01:00
lukinovec
151a66b866 Fix PHPStan errors 2022-12-15 09:43:31 +01:00
lukinovec
bbe66fa055 Fix PHPStan errors 2022-12-15 09:15:19 +01:00
lukinovec
eb1d6e0bf8 Add comment 2022-12-15 09:10:51 +01:00
lukinovec
b78a925f19 Simplify BroadcastManager extension, remove setDriver method 2022-12-15 09:06:43 +01:00
lukinovec
cfb7e9674c Add BroadcastTenancyBootstrapper comments 2022-12-15 07:47:52 +01:00
lukinovec
85680622f4 Add comments to TenancyBroadcastManager 2022-12-15 07:39:01 +01:00
Abrar Ahmad
68de3600bd
Improve commands CLI output (#1030)
* use component info/error methods

* Update src/Commands/ClearPendingTenants.php

Co-authored-by: lukinovec <lukinovec@gmail.com>

Co-authored-by: lukinovec <lukinovec@gmail.com>
2022-12-14 15:08:00 +01:00
lukinovec
76fa668429 Fix BroadcastingTest 2022-12-14 12:15:06 +01:00
lukinovec
aa2fcdf9bc Clean up BootstrapperTest 2022-12-14 12:00:32 +01:00
lukinovec
6b066f8496 Add broadcaster channels test 2022-12-14 11:27:25 +01:00
lukinovec
ab009d3679 Add bootstrapper test 2022-12-13 12:39:11 +01:00
PHP CS Fixer
cc82d60903 Fix code style (php-cs-fixer) 2022-12-13 11:26:06 +00:00
lukinovec
09f8181245 Separate the test 2022-12-13 12:25:39 +01:00
lukinovec
a79796f612 Add BroadcastTenancyBootstrapper tests 2022-12-13 12:04:52 +01:00
lukinovec
60911aabad Instead of just forgetting the old broadcaster instance, bind the new one 2022-12-13 11:59:23 +01:00