diff --git a/composer.json b/composer.json index f6f06b4..0e6c104 100644 --- a/composer.json +++ b/composer.json @@ -22,7 +22,7 @@ "php": "^8.0.2", "ext-json": "*", "guzzlehttp/guzzle": "^7.0", - "laravel/framework": "^9.19|^10|^11", + "laravel/framework": "^9.19|^10|^11|^12", "nesbot/carbon": "^2.62.1|^3" }, "require-dev": { diff --git a/src/Concerns/HasClickUp.php b/src/Concerns/HasClickUp.php index 794e872..eca3c4b 100644 --- a/src/Concerns/HasClickUp.php +++ b/src/Concerns/HasClickUp.php @@ -7,7 +7,7 @@ use Illuminate\Support\Facades\Crypt; use Spinen\ClickUp\Api\Client as ClickUp; use Spinen\ClickUp\Exceptions\NoClientException; -use Spinen\ClickUp\Support\Builder; +use Spinen\ClickUp\Support\ClickUpBuilder; /** * Trait HasClickUp @@ -20,18 +20,18 @@ trait HasClickUp /** * ClickUp Builder instance */ - protected ?Builder $builder = null; + protected ?ClickUpBuilder $clickUpBuilder = null; /** * Return cached version of the ClickUp Builder for the user * * @throws BindingResolutionException */ - public function clickup(): Builder + public function clickup(): ClickUpBuilder { - if (is_null($this->builder)) { - $this->builder = Container::getInstance() - ->make(Builder::class) + if (is_null($this->clickUpBuilder)) { + $this->clickUpBuilder = Container::getInstance() + ->make(ClickUpBuilder::class) ->setClient( Container::getInstance() ->make(ClickUp::class) @@ -39,7 +39,7 @@ public function clickup(): Builder ); } - return $this->builder; + return $this->clickUpBuilder; } /** @@ -62,7 +62,7 @@ public function getClickupAttribute(): ClickUp public function getClickupTokenAttribute(): ?string { if (! is_null($this->attributes['clickup_token'])) { - return Crypt::decryptString($this->attributes['clickup_token']); + return unserialize(Crypt::decryptString($this->attributes['clickup_token'])); } return null; @@ -86,8 +86,8 @@ public function initializeHasClickUp(): void public function setClickupTokenAttribute(?string $clickup_token): void { // If setting the password & already have a client, then empty the client to use new password in client - if (! is_null($this->builder)) { - $this->builder = null; + if (! is_null($this->clickUpBuilder)) { + $this->clickUpBuilder = null; } $this->attributes['clickup_token'] = is_null($clickup_token) diff --git a/src/Providers/ClientServiceProvider.php b/src/Providers/ClientServiceProvider.php index 618fd32..690fde6 100644 --- a/src/Providers/ClientServiceProvider.php +++ b/src/Providers/ClientServiceProvider.php @@ -8,7 +8,7 @@ use Illuminate\Support\Facades\Config; use Illuminate\Support\ServiceProvider as LaravelServiceProvider; use Spinen\ClickUp\Api\Client as ClickUp; -use Spinen\ClickUp\Support\Builder; +use Spinen\ClickUp\Support\ClickUpBuilder; /** * Class ClientServiceProvider @@ -47,7 +47,7 @@ public function register() public function provides() { return [ - Builder::class, + ClickUpBuilder::class, ClickUp::class, ]; } @@ -60,8 +60,8 @@ public function provides() protected function registerClient(): void { $this->app->bind( - Builder::class, - fn (Application $app): Builder => new Builder($app->make(ClickUp::class)) + ClickUpBuilder::class, + fn (Application $app): ClickUpBuilder => new ClickUpBuilder($app->make(ClickUp::class)) ); $this->app->bind( diff --git a/src/Support/Builder.php b/src/Support/ClickUpBuilder.php similarity index 99% rename from src/Support/Builder.php rename to src/Support/ClickUpBuilder.php index b530099..af972ac 100644 --- a/src/Support/Builder.php +++ b/src/Support/ClickUpBuilder.php @@ -17,7 +17,7 @@ use Spinen\ClickUp\User; /** - * Class Builder + * Class ClickUpBuilder * * @property Collection $spaces * @property Collection $tasks @@ -30,7 +30,7 @@ * @method teams * @method workspaces */ -class Builder +class ClickUpBuilder { use HasClient; diff --git a/src/Support/Model.php b/src/Support/Model.php index c273e8b..99f1581 100644 --- a/src/Support/Model.php +++ b/src/Support/Model.php @@ -223,10 +223,10 @@ public function belongsTo($related, $foreignKey = null): BelongsTo { $foreignKey = $foreignKey ?? $this->assumeForeignKey($related); - $builder = (new Builder())->setClass($related) + $clickUpBuilder = (new ClickUpBuilder())->setClass($related) ->setClient($this->getClient()); - return new BelongsTo($builder, $this, $foreignKey); + return new BelongsTo($clickUpBuilder, $this, $foreignKey); } /** @@ -243,11 +243,11 @@ public function childOf($related, $foreignKey = null): ChildOf { $foreignKey = $foreignKey ?? $this->assumeForeignKey($related); - $builder = (new Builder())->setClass($related) + $builder = (new ClickUpBuilder())->setClass($related) ->setClient($this->getClient()) ->setParent($this); - return new ChildOf($builder, $this, $foreignKey); + return new ChildOf($clickUpBuilder, $this, $foreignKey); } /** @@ -452,11 +452,11 @@ public function givenOne($related, $attributes, $reset = false): Model */ public function hasMany($related): HasMany { - $builder = (new Builder())->setClass($related) + $clickUpBuilder = (new ClickUpBuilder())->setClass($related) ->setClient($this->getClient()) ->setParent($this); - return new HasMany($builder, $this); + return new HasMany($clickUpBuilder, $this); } /** diff --git a/src/Support/Relations/BelongsTo.php b/src/Support/Relations/BelongsTo.php index 406f156..aafbef9 100644 --- a/src/Support/Relations/BelongsTo.php +++ b/src/Support/Relations/BelongsTo.php @@ -6,7 +6,7 @@ use Spinen\ClickUp\Exceptions\InvalidRelationshipException; use Spinen\ClickUp\Exceptions\NoClientException; use Spinen\ClickUp\Exceptions\TokenException; -use Spinen\ClickUp\Support\Builder; +use Spinen\ClickUp\Support\ClickUpBuilder; use Spinen\ClickUp\Support\Model; /** @@ -21,14 +21,14 @@ class BelongsTo extends Relation * * @throws InvalidRelationshipException */ - public function __construct(protected Builder $builder, protected Model $child, protected $foreignKey) + public function __construct(protected ClickUpBuilder $clickUpBuilder, protected Model $child, protected $foreignKey) { // In the underlying base relationship class, the "child" variable is // referred to as the "parentModel" since most relationships are not // inversed. But, since this one is we will create a "child" variable // for much better readability. - parent::__construct($builder->whereId($this->getForeignKey()), $this->getChild()); + parent::__construct($clickUpBuilder->whereId($this->getForeignKey()), $this->getChild()); } /** diff --git a/src/Support/Relations/Relation.php b/src/Support/Relations/Relation.php index a771754..0e06628 100644 --- a/src/Support/Relations/Relation.php +++ b/src/Support/Relations/Relation.php @@ -5,7 +5,7 @@ use Illuminate\Support\Traits\ForwardsCalls; use Illuminate\Support\Traits\Macroable; use Spinen\ClickUp\Exceptions\InvalidRelationshipException; -use Spinen\ClickUp\Support\Builder; +use Spinen\ClickUp\Support\ClickUpBuilder; use Spinen\ClickUp\Support\Model; /** @@ -30,9 +30,9 @@ abstract class Relation * * @throws InvalidRelationshipException */ - public function __construct(protected Builder $builder, protected Model $parent) + public function __construct(protected ClickUpBuilder $clickUpBuilder, protected Model $parent) { - $this->related = $builder->getModel(); + $this->related = $clickUpBuilder->getModel(); } /** @@ -56,9 +56,9 @@ public function __call(string $method, array $parameters) /** * Get the Builder instance */ - public function getBuilder(): Builder + public function getBuilder(): ClickUpBuilder { - return $this->builder; + return $this->clickUpBuilder; } /** diff --git a/tests/Concerns/HasClickUpTest.php b/tests/Concerns/HasClickUpTest.php index aa1cec0..a5f53e7 100644 --- a/tests/Concerns/HasClickUpTest.php +++ b/tests/Concerns/HasClickUpTest.php @@ -9,7 +9,7 @@ use ReflectionClass; use Spinen\ClickUp\Api\Client as ClickUp; use Spinen\ClickUp\Concerns\Stubs\User; -use Spinen\ClickUp\Support\Builder; +use Spinen\ClickUp\Support\ClickUpBuilder; use Spinen\ClickUp\TestCase; class HasClickUpTest extends TestCase @@ -47,7 +47,7 @@ protected function setUp(): void ) ->andReturnSelf(); - $this->builder_mock = Mockery::mock(Builder::class); + $this->builder_mock = Mockery::mock(ClickUpBuilder::class); $this->builder_mock->shouldReceive('getClient') ->withNoArgs() ->andReturn($this->client_mock); @@ -60,7 +60,7 @@ protected function setUp(): void ->andReturnSelf(); Container::getInstance() - ->instance(Builder::class, $this->builder_mock); + ->instance(ClickUpBuilder::class, $this->builder_mock); Container::getInstance() ->instance(ClickUp::class, $this->client_mock); diff --git a/tests/Concerns/Stubs/User.php b/tests/Concerns/Stubs/User.php index 5824e92..facc725 100644 --- a/tests/Concerns/Stubs/User.php +++ b/tests/Concerns/Stubs/User.php @@ -23,6 +23,6 @@ class User public function getBuilder() { - return $this->builder; + return $this->clickUpBuilder; } } diff --git a/tests/Support/BuilderTest.php b/tests/Support/BuilderTest.php index 0da3985..528bdba 100644 --- a/tests/Support/BuilderTest.php +++ b/tests/Support/BuilderTest.php @@ -21,9 +21,9 @@ class BuilderTest extends TestCase { /** - * @var Builder + * @var ClickUpBuilder */ - protected $builder; + protected $clickUpBuilder; /** * @var Mock @@ -50,8 +50,8 @@ protected function setUp(): void { $this->client_mock = Mockery::mock(Client::class); - $this->builder = new Builder(); - $this->builder->setClient($this->client_mock); + $this->clickUpBuilder = new ClickUpBuilder(); + $this->clickUpBuilder->setClient($this->client_mock); } /** diff --git a/tests/Support/Relations/BelongsToTest.php b/tests/Support/Relations/BelongsToTest.php index e4c2dae..d57b043 100644 --- a/tests/Support/Relations/BelongsToTest.php +++ b/tests/Support/Relations/BelongsToTest.php @@ -3,7 +3,7 @@ namespace Spinen\ClickUp\Support\Relations; use Mockery; -use Spinen\ClickUp\Support\Builder; +use Spinen\ClickUp\Support\ClickUpBuilder; use Spinen\ClickUp\Support\Collection; use Spinen\ClickUp\Support\Stubs\Model; @@ -96,7 +96,7 @@ public function it_gets_the_first_value_from_the_results_of_the_builder() */ public function it_returns_null_if_foreign_key_is_null() { - $builder_mock = Mockery::mock(Builder::class); + $builder_mock = Mockery::mock(ClickUpBuilder::class); $builder_mock->shouldReceive('getModel') ->andReturn($this->parent_mock); $builder_mock->shouldReceive('whereId') diff --git a/tests/Support/Relations/RelationCase.php b/tests/Support/Relations/RelationCase.php index a31132e..73baeb5 100644 --- a/tests/Support/Relations/RelationCase.php +++ b/tests/Support/Relations/RelationCase.php @@ -4,7 +4,7 @@ use Mockery; use Mockery\Mock; -use Spinen\ClickUp\Support\Builder; +use Spinen\ClickUp\Support\ClickUpBuilder; use Spinen\ClickUp\Support\Model; use Spinen\ClickUp\TestCase; @@ -29,7 +29,7 @@ protected function setUp(): void { $this->parent_mock = Mockery::mock(Model::class); - $this->builder_mock = Mockery::mock(Builder::class); + $this->builder_mock = Mockery::mock(ClickUpBuilder::class); $this->builder_mock->shouldReceive('getModel') ->andReturn($this->parent_mock);