diff --git a/src/Contracts/SyncMaster.php b/src/Contracts/SyncMaster.php index e1b34149..ffd803e6 100644 --- a/src/Contracts/SyncMaster.php +++ b/src/Contracts/SyncMaster.php @@ -15,4 +15,6 @@ interface SyncMaster extends Syncable public function tenants(): BelongsToMany; public function getTenantModelName(): string; + + public function getCreateAttributeNames(): array; } diff --git a/src/Contracts/Syncable.php b/src/Contracts/Syncable.php index fa707719..1f6e36e7 100644 --- a/src/Contracts/Syncable.php +++ b/src/Contracts/Syncable.php @@ -15,6 +15,4 @@ interface Syncable public function getSyncedAttributeNames(): array; public function triggerSyncEvent(); - - public function getCreateAttributeNames(): array; } diff --git a/tests/ResourceSyncingTest.php b/tests/ResourceSyncingTest.php index 0213a864..c07e14b4 100644 --- a/tests/ResourceSyncingTest.php +++ b/tests/ResourceSyncingTest.php @@ -150,8 +150,9 @@ test('creating the resource in tenant database creates it in central database an tenancy()->end(); - // assert user was created + // Assert central user was created without `code` property expect(CentralUser::first()->global_id)->toBe('acme'); + expect(CentralUser::first()->code)->toBeNull(); }); test('creating the resource in tenant database creates it in central database and creates the mapping', function () { @@ -629,7 +630,7 @@ class CentralUser extends Model implements SyncMaster public function getCreateAttributeNames(): array { - // attributes should be used when syncing resources from central to tenant DB + // Attributes used when creating resources from central to tenant DB return [ 'global_id', 'name', @@ -673,16 +674,4 @@ class ResourceUser extends Model implements Syncable 'email', ]; } - - public function getCreateAttributeNames(): array - { - // attributes should be used when syncing resources from tenant to central DB - return [ - 'global_id', - 'name', - 'password', - 'email', - 'role' - ]; - } }