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

method rename

This commit is contained in:
Abrar Ahmad 2022-09-02 18:01:59 +05:00
parent 5aa8231c81
commit 4245f46bc1
4 changed files with 12 additions and 12 deletions

View file

@ -16,5 +16,5 @@ interface Syncable
public function triggerSyncEvent(): void; public function triggerSyncEvent(): void;
public function getResourceCreationAttributes(): array|null; // todo come up with a better name public function getCreationAttributes(): array|null; // todo come up with a better name
} }

View file

@ -33,7 +33,7 @@ trait ResourceSyncing
event(new SyncedResourceSaved($this, tenant())); event(new SyncedResourceSaved($this, tenant()));
} }
public function getResourceCreationAttributes(): array|null public function getCreationAttributes(): array|null
{ {
return null; return null;
} }

View file

@ -123,18 +123,18 @@ class UpdateSyncedResource extends QueueableListener
protected function getAttributesForCreation(Syncable $model): array protected function getAttributesForCreation(Syncable $model): array
{ {
if (! $model->getResourceCreationAttributes()) { if (! $model->getCreationAttributes()) {
// Creation attributes are not specified so create the model as 1:1 copy // Creation attributes are not specified so create the model as 1:1 copy
return $model->getAttributes(); return $model->getAttributes();
} }
if (Arr::isAssoc($model->getResourceCreationAttributes())) { if (Arr::isAssoc($model->getCreationAttributes())) {
// Developer provided the default values // Developer provided the default values
// We will merge the default values with sync attributes // We will merge the default values with sync attributes
return array_merge($model->getResourceCreationAttributes(), $model->only($model->getSyncedAttributeNames())); return array_merge($model->getCreationAttributes(), $model->only($model->getSyncedAttributeNames()));
} }
// Developer provided the attribute names, so we'd use them to pick model attributes // Developer provided the attribute names, so we'd use them to pick model attributes
return $model->only($model->getResourceCreationAttributes()); return $model->only($model->getCreationAttributes());
} }
} }

View file

@ -148,7 +148,7 @@ test('creating the resource in tenant database creates it in central database as
tenancy()->end(); tenancy()->end();
// Assert central user and Resource user has exact same attributes and values // Assert central user and Resource user has exact same attributes and values
expect($resourceUser->getResourceCreationAttributes())->toBeNull(); expect($resourceUser->getCreationAttributes())->toBeNull();
expect(CentralUser::first()->toArray())->toEqual(ResourceUser::first()->toArray()); expect(CentralUser::first()->toArray())->toEqual(ResourceUser::first()->toArray());
}); });
@ -232,7 +232,7 @@ test('creating the resource in central database creates it in tenant database as
$centralUser->tenants()->attach('t1'); $centralUser->tenants()->attach('t1');
$centralUser = CentralUser::first(); $centralUser = CentralUser::first();
expect($centralUser->getResourceCreationAttributes())->toBeNull(); expect($centralUser->getCreationAttributes())->toBeNull();
$tenant->run(function () use ($centralUser) { $tenant->run(function () use ($centralUser) {
expect(ResourceUser::all())->toHaveCount(1); expect(ResourceUser::all())->toHaveCount(1);
expect(ResourceUser::first()->toArray())->toEqual($centralUser->toArray()); expect(ResourceUser::first()->toArray())->toEqual($centralUser->toArray());
@ -820,7 +820,7 @@ class ResourceUser extends Model implements Syncable
// override method in ResourceUser class to return attribute default values // override method in ResourceUser class to return attribute default values
class ResourceUserWithDefaultValues extends ResourceUser { class ResourceUserWithDefaultValues extends ResourceUser {
public function getResourceCreationAttributes(): array public function getCreationAttributes(): array
{ {
// Attributes default values when creating resources from tenant to central DB // Attributes default values when creating resources from tenant to central DB
return return
@ -832,7 +832,7 @@ class ResourceUserWithDefaultValues extends ResourceUser {
// override method in ResourceUser class to return attribute names // override method in ResourceUser class to return attribute names
class ResourceUserWithAttributeNames extends ResourceUser { class ResourceUserWithAttributeNames extends ResourceUser {
public function getResourceCreationAttributes(): array public function getCreationAttributes(): array
{ {
// Attributes used when creating resources from tenant to central DB // Attributes used when creating resources from tenant to central DB
// Notice here we are not adding "code" filed because it doesn't // Notice here we are not adding "code" filed because it doesn't
@ -851,7 +851,7 @@ class ResourceUserWithAttributeNames extends ResourceUser {
// override method in CentralUser class to return attribute default values // override method in CentralUser class to return attribute default values
class CentralUserWithDefaultValues extends CentralUser { class CentralUserWithDefaultValues extends CentralUser {
public function getResourceCreationAttributes(): array public function getCreationAttributes(): array
{ {
// Attributes default values when creating resources from central to tenant model // Attributes default values when creating resources from central to tenant model
return return
@ -863,7 +863,7 @@ class CentralUserWithDefaultValues extends CentralUser {
// override method in CentralUser class to return attribute names // override method in CentralUser class to return attribute names
class CentralUserWithAttributeNames extends CentralUser { class CentralUserWithAttributeNames extends CentralUser {
public function getResourceCreationAttributes(): array public function getCreationAttributes(): array
{ {
// Attributes used when creating resources from central to tenant DB // Attributes used when creating resources from central to tenant DB
return return