mirror of
https://github.com/archtechx/tenancy.git
synced 2025-12-12 19:54:03 +00:00
* cache prefix
* prefix cache bootstrapper and tests
* remove comment
* DI app
* cache prefix base from config
* Create PrefixCacheBootstrapperTest.php
* remove `null` check
* fix phpstan error
* Update PrefixCacheTenancyBootstrapper.php
* Update PrefixCacheBootstrapperTest.php
* add comments
* Update PrefixCacheTenancyBootstrapper.php
* Update PrefixCacheBootstrapperTest.php
* Update config.php
* test names grammar
* user `getTenantKey` method
* assert tenants' data is accessible using the prefix from the central context
* remove unused line
* use proper DI
* build prefix using original prefix
* fix prefix test according to prefix changes
* fix test
* CacheManager dependency injection test
* CacheService class as singleton
* introduce second tenant in test
* use Repository in service class DI
* Update CacheAction.php
* Rename CacheAction to CacheService
* Update prefix bootstrapper and test (`setStore()` in CacheManager and Repository needed)
* Add macro
* Fix code style (php-cs-fixer)
* Simplify cache store refreshing
* Make Tenancy override CacheManager
* Update CacheManager, add refreshStore()
* Fix code style (php-cs-fixer)
* Uncomment cache tagging
* Revert condition in CacheManager to avoid excessive nesting
* Move `Cache::macro()` to a slightly more appropriate place
* Fix code style (php-cs-fixer)
* Use better class for the macro
* Toggle cache tags
* Make CacheManager::$addTags default to `true`
* Add changes to PR to Laravel
* Fix code style (php-cs-fixer)
* Revert changes, add comment
* Add test
* Make `$cache` non-nullable
Co-authored-by: Samuel Štancl <samuel@archte.ch>
* Add and test `nonTenantCacheDrivers`
* Add nonTenantCacheDrivers check
* Test that the prefix stays the same
* Change nonTenantCacheDrivers to tenantCacheStores
* Remove redundant CacheManager extend() call
* Make 'redis' the only tenant cache store in beforeEach, test that tenantCacheStores works
* Remove unused import, change word
* Make CacheService a singleton in a test
* Update test name
* Remove group('prefix')
* Rename CacheManagerService
* Improve specific cache store in a service test
* Improve comment
* Improve tests
* Use my Laravel fork
* Fix code style (php-cs-fixer)
* Downgrade Laravel
* Upgrade Laravel
* Hint Repository implementation instead of contract
* Fix types
* Fix code style (php-cs-fixer)
* Fix test
* Use Laravel fork in ci.yml
* use dev-master before our changes are released in L10
* remove laravel fork from repositories
* use 10.x-dev instead of master
* remove L9 support
* 10.x-dev (fix conflict resolution)
* use the laravel version from the ci matrix for the phpstan job as well
* Revert "use the laravel version from the ci matrix for the phpstan job as well"
This reverts commit 5f3079d2ff.
* Test that non-default stores get prefixed too
* Use new Laravel release, remove L9 support
* Complete L9 support removal
* Specify 10.1.1 as the minimal Laravel version in ci.yml
* Use 10.x-dev
* Prefix all cache stores specified in `$tenantCacheStores`
* Update Laravel
* Use tmpfs in docker-compose
* Add customizing cache store prefixes
* Test cache prefixing customization
* Fix code style (php-cs-fixer)
* Update ci.yml
* Delete tmpfs from docker-compose.yml (there were no benefits)
* Use default prefix generator inline, delete the 'default' key logic
* Fix original prefix logic
* Update tests
* Delete CacheTenancyBootstrapper
* Reset static properties in afterEach
* Use `$this->config` instead of `config()`
* Disable cache tagging by default, add CacheTagBootstrapper
* Fix code style (php-cs-fixer)
* Rename bootstrapper
* Improve CacheManager
* Move logic from separate method to __call
* Make original prefixes customizable
* Add info in comment
* Add defaultPrefix property
* Use `$this->app` instead of `app()`
* Rename bootstrapper
* Fix code style (php-cs-fixer)
* Use a single original prefix
* Update prefix generator logic + tests
* Correct `$addTags` reset in a test
* Update cache tests so that both prefixing and tagging is covered
* Simplify cache tests
* Delete afterEach
* Small testing improvements
* Set `cache.default` in beforeEach
* Update cache prefixing and tests
* Add assertion
* Refactor assertion
* Refactor assertions
* Delete TTL from cache put calls
* Add re-initialization cache assertion
* Assert that cache is null from the beginning
* Merge the tenantCacheStores tests
* Fix formatting
* Improve test name
* Improve tests
* Add cache manager config key
* Fix code style (php-cs-fixer)
* Update defaulting test
* Add todo
* Update comments
* Extract duplicate assertions into a closure
* Update comment
* Add assertions + comment
* Delete redundant config put calls
* Use `tenancy.cache.manager` config instead of `Stancl\Tenancy\CacheManager`
* Change setting to assertion, add comment
* Inline variable & config key assignment
* Delete `cache.default` assertion
* Override cache manager only in CacheTagsBootstrapper
* Fix code style (php-cs-fixer)
* Prefix both drivers by default, add assertions for the second driver where missing
* Clean up global state (static properties) in before/afterEach
* Add docblock to tags bootstrapper
* Delete extra dependency
* Add `illuminate/support` dependency back
* Use `$addTags` approach again
* Fix code style (php-cs-fixer)
* Revert "Fix code style (php-cs-fixer)"
This reverts commit ea805fa231.
* Revert "Use `$addTags` approach again"
This reverts commit 8f5a4e4eb6.
* Add commented CacheTagsBootstrapper with info to the bootstrappers config
* Delete legacy bootstrapper from the bootstrappers config, add info to the bootstrapper's docblock
* Delete "?" from `tenant()?->getTenantKey()
* call generatePrefix() on $bootstrapper
* misc improvements
---------
Co-authored-by: lukinovec <lukinovec@gmail.com>
Co-authored-by: PHP CS Fixer <phpcsfixer@example.com>
Co-authored-by: Samuel Štancl <samuel@archte.ch>
Co-authored-by: Samuel Štancl <samuel.stancl@gmail.com>
81 lines
2.4 KiB
JSON
81 lines
2.4 KiB
JSON
{
|
|
"name": "stancl/tenancy",
|
|
"description": "Automatic multi-tenancy for your Laravel application.",
|
|
"keywords": [
|
|
"laravel",
|
|
"multi-tenancy",
|
|
"multi-database",
|
|
"tenancy"
|
|
],
|
|
"license": "MIT",
|
|
"authors": [
|
|
{
|
|
"name": "Samuel Štancl",
|
|
"email": "samuel@archte.ch"
|
|
}
|
|
],
|
|
"require": {
|
|
"php": "^8.2",
|
|
"ext-json": "*",
|
|
"illuminate/support": "^10.1",
|
|
"facade/ignition-contracts": "^1.0.2",
|
|
"spatie/ignition": "^1.4",
|
|
"ramsey/uuid": "^4.7.3",
|
|
"stancl/jobpipeline": "2.0.0-rc1",
|
|
"stancl/virtualcolumn": "^1.3.1",
|
|
"spatie/invade": "^1.1"
|
|
},
|
|
"require-dev": {
|
|
"laravel/framework": "^10.1",
|
|
"orchestra/testbench": "^8.0",
|
|
"league/flysystem-aws-s3-v3": "^3.12.2",
|
|
"doctrine/dbal": "^3.6.0",
|
|
"spatie/valuestore": "^1.2.5",
|
|
"pestphp/pest": "^1.21",
|
|
"nunomaduro/larastan": "^2.4",
|
|
"spatie/invade": "^1.1"
|
|
},
|
|
"autoload": {
|
|
"psr-4": {
|
|
"Stancl\\Tenancy\\": "src/"
|
|
},
|
|
"files": [
|
|
"src/helpers.php"
|
|
]
|
|
},
|
|
"autoload-dev": {
|
|
"psr-4": {
|
|
"Stancl\\Tenancy\\Tests\\": "tests/"
|
|
}
|
|
},
|
|
"extra": {
|
|
"laravel": {
|
|
"providers": [
|
|
"Stancl\\Tenancy\\TenancyServiceProvider"
|
|
],
|
|
"aliases": {
|
|
"Tenancy": "Stancl\\Tenancy\\Facades\\Tenancy",
|
|
"GlobalCache": "Stancl\\Tenancy\\Facades\\GlobalCache"
|
|
}
|
|
}
|
|
},
|
|
"scripts": {
|
|
"docker-up": "PHP_VERSION=8.2 docker-compose up -d",
|
|
"docker-down": "PHP_VERSION=8.2 docker-compose down",
|
|
"docker-rebuild": "PHP_VERSION=8.2 docker-compose up -d --no-deps --build",
|
|
"docker-m1": "ln -s docker-compose-m1.override.yml docker-compose.override.yml",
|
|
"coverage": "open coverage/phpunit/html/index.html",
|
|
"phpstan": "vendor/bin/phpstan",
|
|
"phpstan-pro": "vendor/bin/phpstan --pro",
|
|
"cs": "php-cs-fixer fix --config=.php-cs-fixer.php",
|
|
"test": "PHP_VERSION=8.2 ./test --no-coverage",
|
|
"test-full": "PHP_VERSION=8.2 ./test"
|
|
},
|
|
"minimum-stability": "dev",
|
|
"prefer-stable": true,
|
|
"config": {
|
|
"allow-plugins": {
|
|
"pestphp/pest-plugin": true
|
|
}
|
|
}
|
|
}
|