1
0
Fork 0
mirror of https://github.com/archtechx/tenancy.git synced 2025-12-12 16:24:04 +00:00
Commit graph

1358 commits

Author SHA1 Message Date
83b1ae1aea change default cookie name, add todos 2024-04-15 03:11:11 +02:00
55b1c5387c fix combination calculation docblock for random str generator 2024-04-13 05:43:37 +02:00
e727e07212 redis bootstrapper: support clusters (#1207) 2024-04-12 01:05:46 +02:00
e36157bd61 fix typo [ci skip] 2024-04-11 05:42:46 +02:00
b3019844e3 add todo [ci skip] 2024-04-10 04:13:23 +02:00
630f404227 add assertion, update todos 2024-04-10 03:35:57 +02:00
20c1b9a940 phpcsfixer: enable nullable_type_declaration_for_default_null_value 2024-04-09 20:55:49 +02:00
Samuel Štancl
eecf6f21c8
Cache prefixing logic rewrite, session scoping improvements, tests refactor (#43)
* Run cache tests on all supported drivers

* update ci healthcheck for memcached

* remove memcached healthcheck

* fix typos in test comments, expand internal.md [ci skip]

* add empty line [ci skip]

* switch to using $store->setPrefix()

* add dynamodb

* refactor try-finally to try-catch

* remove unnecessary clearResolvedInstances() call

* add dual Cache:: and cache() assertions

* add apc

* Flush APCu cache in test setup

* Revert "add dual Cache:: and cache() assertions"

This reverts commit a0bab162fbe2dd0d25e7056ceca4fb7ce54efc77.

* phpstan fix

* Add logic for scoping 'file' disks to FilesystemTenancyBootstrapper

* minor changes, add todos

* refactor how the session.connection is used in the DB session bootstrapper

* add session forgery prevention logic to the db session bootstrapper

* only use the fs bootstrapper for file disk in 'cache data is separated' dataset

* minor session scoping test changes

* Add session scoping logic to FilesystemTenancyBootstrapper, correctly update disk roots even with storage_path_tenancy disabled

* Fix code style (php-cs-fixer)

* update docblock

* make not-null check more explicit

* separate bootstrapper tests, fix swapped test names for two tests

* refactor cache bootstrapper tests

* resolve global cache todo

* expand tests: session separation tests, more filesystem separation assertions; change prefix_base-type config keys to templates/formats

* add apc session scoping test, various session separation bugfixes

* phpstan + minor logic fixes

* prefix_format -> prefix

* fix database session separation test

* revert composer.json changes, update laravel dependencies to expected next release

* only run session scoping logic in cache bootstrapper for redis, memcached, dynamodb, apc; update gitattributes

* tenancy.central_domains -> tenancy.identification.central_domains

* db session separation test: add datasets

---------

Co-authored-by: PHP CS Fixer <phpcsfixer@example.com>
2024-04-09 20:40:27 +02:00
943b960718 lower laravel/prompts minimal version 2024-04-09 16:16:03 +02:00
Samuel Štancl
d9ca3cec38
Misc test fixes (#44)
* Add suffix_storage_path test

* Get filesystem bootstrapper coverage to 100%

* Delete enabling DB bootstrapper in TestCase

* Complete most of test todos

* Complete last tests todo

* Fix docblock

* add todo

---------

Co-authored-by: lukinovec <lukinovec@gmail.com>
2024-04-06 19:17:34 +02:00
489fbb9402 add prompts to tenant:tinker 2024-04-06 01:22:14 +02:00
4cc9fbe7ea fix bootstrapper names in config 2024-04-05 20:04:42 +02:00
4f76af7673 Merge branch 'master' of github.com:tenancy-for-laravel/v4 2024-04-05 19:49:02 +02:00
ac5948dfd1 add Tenancy::$findWith 2024-04-05 19:48:50 +02:00
lukinovec
be031ad45a Clear bootstrappers in TestCase 2024-04-04 18:04:45 +02:00
5ef7604e17 phpstan fix 2024-04-03 19:51:07 +02:00
PHP CS Fixer
47364007aa Fix code style (php-cs-fixer) 2024-04-03 17:47:00 +00:00
6f4b9dadf1 add tenant:tinker command 2024-04-03 19:46:27 +02:00
29d1469651 use getAttribute() in HasDatabase to support encrypted columns 2024-04-02 20:25:17 +02:00
711352db38 make MigrateFreshOverride compatible with Laravel 11.2 2024-04-02 20:19:15 +02:00
1d80604cff Enable single_line_empty_body phpcsfixer rule 2024-04-02 04:31:03 +02:00
Samuel Štancl
a41ad69023
Filesystem logic refactor, improved defaults for cache tenancy (#42)
* refactor FilesystemTenancyBootstrapper

* clean up tests and improve coverage

* minor maintenance mode changes

* Improve tenants:migrate --skip-failing logic

* make tenants:migrate output consistently formatted

* minor RootUrlBootstrapper + misc changes

* cache bootstrapper-related improvements

* Fix code style (php-cs-fixer)

* misc refactor

* Fix code style (php-cs-fixer)

* add %original_storage_path% to fs bootstrapper, improve default config for cache

* rename method

* inject concrete implementations where needed instead of abstracts

* Fix code style (php-cs-fixer)

* refactor DealsWithTenantSymlinks

* remove obsolete phpstan ignore

---------

Co-authored-by: PHP CS Fixer <phpcsfixer@example.com>
2024-04-02 04:26:10 +02:00
PHP CS Fixer
4b6fa22aa7 Fix code style (php-cs-fixer) 2024-03-29 20:42:20 +00:00
f8512886a0 fix tenants:list and tenants:dump --prune 2024-03-29 21:41:50 +01:00
Samuel Štancl
9f94505cb4
Rename bootstrappers (#40)
* SessionTenancyBootstrapper -> DatabaseSessionBootstrapper

* FortifyRouteTenancyBootstrapper -> FortifyRouteBootstrapper

* BatchTenancyBootstrapper -> JobBatchBootstrapper

* ScoutTenancyBootstrapper -> ScoutPrefixBootstrapper, also fix logic and remove todo

* MailTenancyBootstrapper -> MailConfigBootstrapper

* PrefixCacheTenancyBootstrapper -> CacheTenancyBootstrapper

* remove todo

* improve config file
2024-03-28 03:18:23 +01:00
Samuel Štancl
0c11f29c19
Resolver refactor, path identification improvements (#41)
* resolver refactor

* Fix code style (php-cs-fixer)

* make tenant column used in PathTenantResolver configurable, fix phpstan errors, minor improvements

* support binding route fields, write tests for customizable tenant columns

* Invalidate cache for all possible columns in path resolver

* implement proper cache separation logic for different columns used by PathTenantResolver

* improve return type

---------

Co-authored-by: PHP CS Fixer <phpcsfixer@example.com>
2024-03-28 03:18:11 +01:00
Samuel Štancl
dc430666ba
Add more tenant key generators (#36)
* Add RandomHexGenerator, create new namespace

* phpstan ignore

* add base64 generator

* add note about base64 being case sensitive

* docblock updates

* replace old UUIDGenerator with a class that throws an exception

* replace base64 generator with a random string generator

* Fix namespace

* Fix code style (php-cs-fixer)

* add test for the deprecated uuid generator

* update comments

---------

Co-authored-by: PHP CS Fixer <phpcsfixer@example.com>
2024-03-28 03:17:55 +01:00
bf1ba69fe3 add $ignoreExisting static property to CreateDatabase 2024-03-27 21:44:30 +01:00
fdd401fc8f Fix tenant asset controller middleware() logic 2024-03-27 16:44:17 +01:00
d243309bcf minor testcase changes 2024-03-24 04:35:04 +01:00
1d42f33d34 better defaults 2024-03-24 04:28:11 +01:00
6c5bde7d07 add todo 2024-03-20 12:23:29 +01:00
d9d9d047b6 merge 2024-03-19 20:36:43 +01:00
cc2d555e3e Write test for specifying headers in TenantAssetController, fix error introduced in previous commit 2024-03-19 20:36:01 +01:00
PHP CS Fixer
d0cbee0aa3 Fix code style (php-cs-fixer) 2024-03-19 19:27:16 +00:00
a39da042af Add the option to set headers and middleware in TenantAssetController 2024-03-19 20:26:38 +01:00
a0da54cfdc categorize todos 2024-03-12 17:29:00 +01:00
a85708429e add todo 2024-03-12 17:22:23 +01:00
Samuel Štancl
fd6070ff1b
Update SQL syntax in tests for MySQL 8 (#35)
* Bump MySQL to v8 in CI

* Remove `identified by` from queries executed in tests
2024-03-12 16:34:20 +01:00
ce8e74e978 Remove Laravel 10 from CI matrix 2024-03-12 16:16:52 +01:00
d6b5a6ab6c remove HasPending from the base Tenant model 2024-03-03 06:49:37 +01:00
e8c3c75d7c Simplify TenantWithDatabase interface, move tenantConfig() logic 2024-03-01 10:48:33 +01:00
PHP CS Fixer
8a269f8dd8 Fix code style (php-cs-fixer) 2024-03-01 07:42:38 +00:00
af3b693dd1 Simplify Tenant contract (remove run method), move run logic to Tenancy, add generics 2024-03-01 08:42:11 +01:00
Samuel Štancl
32a063b834
Laravel 11 support + Docker improvements (#29)
* wip

* bump jobpipeline dependency

* bump pest dependency

* fix composer.json syntax

* minor changes to docker setup

* more docker changes

* compact pest output, remove unnecessary env vars from composer.json

* minor pest tweaks

* mssql fix

* try enabling colors in CI

* try setting --columns=max for pest in CI

* try setting columns using env var instead of --columns in CI

* Revert "try setting columns using env var instead of --columns in CI"

This reverts commit eb3c177aefa97b0a3140d7f0e89c5012a854ff42.

* replace --compact with --no-progress

* try setting a hardcoded columns value in CI

* remove --columns (doesn't work), add back --compact

* try setting COLUMNS to a hardcoded value in CI

* remove alternative env syntax from CI

* fix PrefixCacheBootstrapperTest on L11, skip on L10

* add one more skip() call

* fix validate.yml

* Simplify schema dump, skip dump-related tests in L10

* Rename 'dump' table to 'example'

* Bring schema dump-related tests together, add comments

* Merge schema path-related tests into one, add comments

* Rename dataset parameter

---------

Co-authored-by: lukinovec <lukinovec@gmail.com>
2024-02-18 00:18:31 +01:00
Samuel Štancl
d2ab2dacf2
Merge pull request #32 from tenancy-for-laravel/merge-3x-feb2024
Merge 3.x into master
2024-02-11 00:23:32 +01:00
bcf8256ef6 Merge branch 'merge-3x-feb2024' of github.com:tenancy-for-laravel/v4 into merge-3x-feb2024 2024-02-11 00:08:15 +01:00
4b52fed4a0 fix more files broken in automerge 2024-02-11 00:07:38 +01:00
PHP CS Fixer
640305284b Fix code style (php-cs-fixer) 2024-02-10 23:04:12 +00:00
56a6f25dac fix phpstan errors 2024-02-10 23:55:56 +01:00