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

77 commits

Author SHA1 Message Date
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
Abrar Ahmad
22d1b2065b
[4.x] Add feature to ignore the resource synchronization based on provided condition. (#993)
* wip

* add test

* readability

* remove group

* DisabledSync -> ConditionalSync; test both cases with dataset

Co-authored-by: Samuel Štancl <samuel.stancl@gmail.com>
2022-11-04 15:04:29 +01:00
Abrar Ahmad
77c5ae1f32
[4.x] Configure attributes for synced resources when creating models (#915)
* configure attributes for creating resource

* Update ResourceSyncingTest.php

* Update ci.yml

* Update ResourceSyncingTest.php

* Update ci.yml

* cs

* comments

* Update tests/ResourceSyncingTest.php

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

* improve comments, move method to `SyncMaster` interface

* Revert "improve comments, move method to `SyncMaster` interface"

This reverts commit 5ddd50deb9.

* Update ResourceSyncingTest.php

* Update ResourceSyncingTest.php

* update comment

* Update ResourceSyncingTest.php

* Update ResourceSyncingTest.php

* wip

* wip

* wip

* add a todo

* assert that creation attributes returns null

* classes at the end

* rename method to `getAttributesForCreation`

* Update ResourceSyncingTest.php

* update comments

* Fix little grammer

* merge default values with sync attributes and tests

* Update ResourceSyncingTest.php

* method rename

* method rename

* Update ResourceSyncingTest.php

* comments

* Update ResourceSyncingTest.php

* allow defining a mix of attribute names and default values

* add test

* code improvements

* Fix code style (php-cs-fixer)

* remove unused import

* fix all phpstan issues in resource syncing code

* Fix code style (php-cs-fixer)

* wip

* improve tests

* Update ResourceSyncingTest.php

* better names

* Update UpdateSyncedResource.php

* code style

* Update UpdateSyncedResource.php

* add comments above new tests

* methods dockblocks and correct names

* Update ResourceSyncingTest.php

* update comments

* remove different schema setup

* delete custom migrations

* self review

* grammar, code style

* refactor helpers for creating tenants

Co-authored-by: Samuel Štancl <samuel@archte.ch>
Co-authored-by: Samuel Štancl <samuel.stancl@gmail.com>
Co-authored-by: PHP CS Fixer <phpcsfixer@example.com>
2022-11-03 17:51:29 +01:00
Samuel Štancl
f98a901aeb get down to 21 phpstan errors 2022-09-29 23:39:35 +02:00
Samuel Štancl
a94227a19c get down to 59 phpstan errors 2022-09-29 22:20:55 +02:00
Samuel Štancl
87212e5390 phpstan, global_cache, resolver improvements, InitializationHelpers trait 2022-09-29 02:47:13 +02:00
Abrar Ahmad
3542b3f028
update spatie/ignition to support L9 (#930) 2022-08-30 15:21:19 +02:00
Samuel Štancl
8af354c20e get phpstan errors down from 252 to 189 2022-08-30 05:44:23 +02:00
Samuel Štancl
40bf28c7d0 general refactor, move more classes under Database namespace 2022-08-27 03:17:16 +02:00
PHP CS Fixer
06cc7bf686 Fix code style (php-cs-fixer) 2022-08-26 19:35:44 +00:00
Samuel Štancl
55d0a9ab87 misc improvements - stronger types, exception refactor 2022-08-26 21:35:17 +02:00
Abrar Ahmad
97ab483173
Completing PR #881 (#902)
* install PHP CS Fixer

* Fix styling

* remove StyleCI config

* use config from archtechx/template

* Fix styling

* added `php-cs-fixer`

* Update .php-cs-fixer.php

* added GitHub token

* Update ci.yml

* Update ci.yml

* Update ci.yml

* php-cs-fixer workflow same as template

Co-authored-by: Erik Gaal <me@erikgaal.nl>
Co-authored-by: erikgaal <erikgaal@users.noreply.github.com>
2022-07-20 15:28:45 +02:00
Samuel Štancl
3853c4cdcc Make annotations static 2020-09-02 19:45:06 +02:00
stancl
dc32fee8f4 Apply fixes from StyleCI 2020-07-09 11:29:15 +00:00
Samuel Štancl
4b9b2648d5 Annotations for Domain contract 2020-07-09 13:29:04 +02:00
MinaseTaki
62dca0dc52
IDE Error Fix (#452)
* IDE Error Fix

* IDE Error Fix
2020-07-06 14:29:37 +02:00
Samuel Štancl
e93e766f92 Remove unnecessary typehints 2020-06-08 21:35:41 +02:00
stancl
f1e083a408 Apply fixes from StyleCI 2020-06-02 18:10:29 +00:00
Samuel Štancl
5d94727ddd Rewrite cached resolver logic to allow for cache invalidation logic 2020-06-02 20:10:17 +02:00
Samuel Štancl
da23662d7b Clenup for resource syncing 2020-06-01 09:51:22 +02:00
stancl
6955512a6b Apply fixes from StyleCI 2020-05-22 09:01:31 +00:00
Samuel Štancl
15a7e52208 Get rid of tenant DB manager connection config 2020-05-21 14:47:29 +02:00
Samuel Štancl
ac58f6992b Use getTenantKey() instead of ->id references 2020-05-20 20:41:47 +02:00
Samuel Štancl
5e99fca070 Custom tenant collections 2020-05-14 02:29:14 +02:00
Samuel Štancl
c32f229dd5 Refactor more old code and get tests to pass 2020-05-13 04:51:37 +02:00
Samuel Štancl
8915297c30
Merge branch 'master' into shared-users 2020-05-13 00:33:27 +02:00
Samuel Štancl
a756b9b3bc Implement changes from review on GH 2020-05-13 00:31:30 +02:00
Samuel Štancl
89936187ce Rewrite old tests 2020-05-12 23:22:40 +02:00
Samuel Štancl
64383b4c56 Refactor DB config & Tenant DB managers 2020-05-12 03:32:28 +02:00
Samuel Štancl
b7c8f1fba7 Shared users - complete 2020-05-12 01:54:02 +02:00
Samuel Štancl
daae67c0f7 Synced resources - proof of concept 2020-05-11 07:32:20 +02:00
Samuel Štancl
6f4b9f486c Bootstrapper tests 2020-05-11 03:37:47 +02:00
Samuel Štancl
73fc525126 Automatic mode 2020-05-10 23:47:11 +02:00
Samuel Štancl
2492345280 Add methods to Tenant contract 2020-05-10 20:20:44 +02:00
Samuel Štancl
8ea4940f34 Identification middleware & tests 2020-05-10 05:47:27 +02:00
Samuel Štancl
e1a4054743 Domain model & resolver test 2020-05-08 18:16:18 +02:00
Samuel Štancl
bd9aad229b vague first draft of v3. TenantModelTest is passing 2020-05-08 04:37:43 +02:00
Samuel Štancl
3bb2759fe2
[3.x] DB users (#382)
* Initial draft

* Apply fixes from StyleCI

* Use CI on master branch too

* Pass correct argument to queued DB creators/deleters

* Apply fixes from StyleCI

* Remove new interface from MySQLDBManager

* Make phpunit run

* Apply fixes from StyleCI

* Fix static property

* Default databaseName

* Use database transactions for creating users & granting permissions

* Apply fixes from StyleCI

* Get old tests to pass

* Apply fixes from StyleCI

* Add tests for PermissionControlledMySQLDatabaseManager

* Apply fixes from StyleCI

* Write test for extra config, fix bug with extra config

* Apply fixes from StyleCI
2020-05-03 18:12:27 +02:00
Samuel Štancl
95ee295da1
Fix PDO serialization exception (#289)
* Fix PDO serialization exception when queueing tenant creation

* Apply fixes from StyleCI

* Fix $this->database() calls
2020-02-10 16:04:40 +01:00
Samuel Štancl
fed8c0f9d1
[2.2.4] [WIP] Respect custom connections when creating database (#244)
* Add TenantDatabaseManager::setConnection()

* Apply fixes from StyleCI
2019-12-11 22:16:25 +01:00
Samuel Štancl
869ac32983
[2.2.0] [WIP] Add functionality (#206)
* TenantDatabaseDoesNotExistException

* Apply fixes from StyleCI

* User post-creation callbacks

* Rename method

* postCreationActions

* pass $tenant as parameter

* pass $tenant to async actions

* WIP findBy()

* findBy\* ForwardsCalls

* Apply fixes from StyleCI

* findBy DB storage driver

* Redis  SD TODO message

* Apply fixes from StyleCI

* Fix chained jobs

* WIP event system

* import str

* instanceof closure check

* findBy instead of find

* Tenant -> Tenants

* dots

* Use DB hooks instead of a SC key

* Don't allow  callables for queue chain

* CanDeleteKeys interface

* Apply fixes from StyleCI

* CanFindByAnyKey interface

* Apply fixes from StyleCI

* Ditch models for custom repositories

* Resolve circular dependency

* Apply fixes from StyleCI

* Fix tests

* Apply fixes from StyleCI

* FutureTest

* Prefix tenant events with 'tenant.'

* Event listener arguments test
2019-10-27 21:10:41 +01:00
Samuel Štancl
509d00f9f3 Add docblocks 2019-09-20 20:14:58 +02:00
Samuel Štancl
c9903cd43c Clean up 2019-09-19 20:32:09 +02:00
Samuel Štancl
8565cc7acc Get multiple envs (redis/db) to run correctly 2019-09-17 19:39:57 +02:00
Samuel Štancl
67bfb20e96 Unique ID generator 'handle' -> 'generate' 2019-09-16 16:59:18 +02:00
Samuel Štancl
c65b6839ff Tenant-specific connections, some work to get tests running 2019-09-15 17:44:26 +02:00
Samuel Štancl
e25a01a997 TenantStorageException 2019-09-15 12:16:45 +02:00
Samuel Štancl
5fb11dfc9f DB driver ensureTenantCanBeCreated 2019-09-15 11:50:19 +02:00
Samuel Štancl
0fd1d82c68 TenantModel putMany 2019-09-15 11:01:24 +02:00
Samuel Štancl
15a7db9e71 Clean up TenantCannotBeCreatedException 2019-09-15 09:40:53 +02:00