@@ -5,4 +5,4 @@ |
||
| 5 | 5 | use Spinen\Halo\Http\Controllers\HaloController; |
| 6 | 6 | |
| 7 | 7 | Route::get(rtrim(Config::get('halo.oauth.authorization_code.route.sso', '/halo/sso'), '/'), HaloController::class) |
| 8 | - ->name('halo.sso.redirect_uri'); |
|
| 8 | + ->name('halo.sso.redirect_uri'); |
|
@@ -27,16 +27,16 @@ discard block |
||
| 27 | 27 | $this->setToken($token); |
| 28 | 28 | } |
| 29 | 29 | |
| 30 | - /** |
|
| 31 | - * Shortcut to 'DELETE' request |
|
| 32 | - * |
|
| 33 | - * @throws GuzzleException |
|
| 34 | - * @throws TokenException |
|
| 35 | - */ |
|
| 36 | - public function delete(string $path): ?array |
|
| 37 | - { |
|
| 38 | - return $this->request($path, [], 'DELETE'); |
|
| 39 | - } |
|
| 30 | + /** |
|
| 31 | + * Shortcut to 'DELETE' request |
|
| 32 | + * |
|
| 33 | + * @throws GuzzleException |
|
| 34 | + * @throws TokenException |
|
| 35 | + */ |
|
| 36 | + public function delete(string $path): ?array |
|
| 37 | + { |
|
| 38 | + return $this->request($path, [], 'DELETE'); |
|
| 39 | + } |
|
| 40 | 40 | |
| 41 | 41 | /** |
| 42 | 42 | * Generate keys need for PKCE |
@@ -272,41 +272,41 @@ discard block |
||
| 272 | 272 | } |
| 273 | 273 | } |
| 274 | 274 | |
| 275 | - /** |
|
| 276 | - * Validate & set the configs |
|
| 277 | - * |
|
| 278 | - * @throws ClientConfigurationException |
|
| 279 | - */ |
|
| 280 | - protected function setConfigs(array $configs): self |
|
| 281 | - { |
|
| 282 | - // Replace empty strings with nulls in config values |
|
| 283 | - $this->configs = array_map(fn ($v) => $v === '' ? null : $v, $configs); |
|
| 284 | - |
|
| 285 | - // Default to true if not set |
|
| 286 | - $this->configs['oauth']['authorization_code']['pkce'] ??= true; |
|
| 287 | - |
|
| 288 | - if (is_null($this->configs['oauth']['authorization_server'] ?? null)) { |
|
| 289 | - throw new ClientConfigurationException('The "authorization_server" cannot be null'); |
|
| 290 | - } |
|
| 291 | - |
|
| 292 | - if (! filter_var($this->configs['oauth']['authorization_server'], FILTER_VALIDATE_URL)) { |
|
| 293 | - throw new ClientConfigurationException( |
|
| 294 | - sprintf('A valid url must be provided for "authorization_server" [%s]', $this->configs['oauth']['authorization_server']) |
|
| 295 | - ); |
|
| 296 | - } |
|
| 297 | - |
|
| 298 | - if (is_null($this->configs['resource_server'] ?? null)) { |
|
| 299 | - throw new ClientConfigurationException('The "resource_server" cannot be null'); |
|
| 300 | - } |
|
| 301 | - |
|
| 302 | - if (! filter_var($this->configs['resource_server'], FILTER_VALIDATE_URL)) { |
|
| 303 | - throw new ClientConfigurationException( |
|
| 304 | - sprintf('A valid url must be provided for "resource_server" [%s]', $this->configs['resource_server']) |
|
| 305 | - ); |
|
| 306 | - } |
|
| 307 | - |
|
| 308 | - return $this; |
|
| 309 | - } |
|
| 275 | + /** |
|
| 276 | + * Validate & set the configs |
|
| 277 | + * |
|
| 278 | + * @throws ClientConfigurationException |
|
| 279 | + */ |
|
| 280 | + protected function setConfigs(array $configs): self |
|
| 281 | + { |
|
| 282 | + // Replace empty strings with nulls in config values |
|
| 283 | + $this->configs = array_map(fn ($v) => $v === '' ? null : $v, $configs); |
|
| 284 | + |
|
| 285 | + // Default to true if not set |
|
| 286 | + $this->configs['oauth']['authorization_code']['pkce'] ??= true; |
|
| 287 | + |
|
| 288 | + if (is_null($this->configs['oauth']['authorization_server'] ?? null)) { |
|
| 289 | + throw new ClientConfigurationException('The "authorization_server" cannot be null'); |
|
| 290 | + } |
|
| 291 | + |
|
| 292 | + if (! filter_var($this->configs['oauth']['authorization_server'], FILTER_VALIDATE_URL)) { |
|
| 293 | + throw new ClientConfigurationException( |
|
| 294 | + sprintf('A valid url must be provided for "authorization_server" [%s]', $this->configs['oauth']['authorization_server']) |
|
| 295 | + ); |
|
| 296 | + } |
|
| 297 | + |
|
| 298 | + if (is_null($this->configs['resource_server'] ?? null)) { |
|
| 299 | + throw new ClientConfigurationException('The "resource_server" cannot be null'); |
|
| 300 | + } |
|
| 301 | + |
|
| 302 | + if (! filter_var($this->configs['resource_server'], FILTER_VALIDATE_URL)) { |
|
| 303 | + throw new ClientConfigurationException( |
|
| 304 | + sprintf('A valid url must be provided for "resource_server" [%s]', $this->configs['resource_server']) |
|
| 305 | + ); |
|
| 306 | + } |
|
| 307 | + |
|
| 308 | + return $this; |
|
| 309 | + } |
|
| 310 | 310 | |
| 311 | 311 | /** |
| 312 | 312 | * Set debug |
@@ -48,11 +48,11 @@ discard block |
||
| 48 | 48 | 'verifier' => $verifier = base64_encode(Str::random($length)), |
| 49 | 49 | // Convert "+" to "-" & "/" to "_" & remove trailing "=" |
| 50 | 50 | 'challenge' => rtrim( |
| 51 | - characters: '=', |
|
| 52 | - string: strtr( |
|
| 53 | - from: '+/', |
|
| 54 | - string: base64_encode(hash(algo: 'sha256', data: $verifier, binary: true)), |
|
| 55 | - to: '-_', |
|
| 51 | + characters : '=', |
|
| 52 | + string : strtr( |
|
| 53 | + from : '+/', |
|
| 54 | + string : base64_encode(hash(algo : 'sha256', data : $verifier, binary : true)), |
|
| 55 | + to : '-_', |
|
| 56 | 56 | ), |
| 57 | 57 | ), |
| 58 | 58 | ] |
@@ -101,7 +101,7 @@ discard block |
||
| 101 | 101 | $grant_type = $this->token->grant_type ?? $params['grant_type']; |
| 102 | 102 | |
| 103 | 103 | if (is_null($this->configs['oauth'][$grant_type]['id'] ?? null)) { |
| 104 | - throw new ClientConfigurationException('The "client_id" for "'.$grant_type.'" cannot be null'); |
|
| 104 | + throw new ClientConfigurationException('The "client_id" for "' . $grant_type . '" cannot be null'); |
|
| 105 | 105 | } |
| 106 | 106 | |
| 107 | 107 | try { |
@@ -120,10 +120,10 @@ discard block |
||
| 120 | 120 | ], |
| 121 | 121 | ], |
| 122 | 122 | uri: $this->uri( |
| 123 | - path: 'token?'.http_build_query( |
|
| 123 | + path: 'token?' . http_build_query( |
|
| 124 | 124 | $this->configs['tenant'] ? ['tenant' => $this->configs['tenant']] : [], |
| 125 | 125 | ), |
| 126 | - url: $this->configs['oauth']['authorization_server'] |
|
| 126 | + url : $this->configs['oauth']['authorization_server'] |
|
| 127 | 127 | ), |
| 128 | 128 | ) |
| 129 | 129 | ->getBody() |
@@ -198,7 +198,7 @@ discard block |
||
| 198 | 198 | } |
| 199 | 199 | |
| 200 | 200 | return $this->uri( |
| 201 | - path: 'authorize?'.http_build_query( |
|
| 201 | + path: 'authorize?' . http_build_query( |
|
| 202 | 202 | [ |
| 203 | 203 | 'client_id' => $this->configs['oauth']['authorization_code']['id'], |
| 204 | 204 | ...$challenge |
@@ -212,7 +212,7 @@ discard block |
||
| 212 | 212 | 'scope' => $scope ?? $this->token->scope, |
| 213 | 213 | ...$this->configs['tenant'] ? ['tenant' => $this->configs['tenant']] : [], |
| 214 | 214 | ]), |
| 215 | - url: $this->configs['oauth']['authorization_server'] |
|
| 215 | + url : $this->configs['oauth']['authorization_server'] |
|
| 216 | 216 | ); |
| 217 | 217 | } |
| 218 | 218 | |
@@ -248,10 +248,10 @@ discard block |
||
| 248 | 248 | { |
| 249 | 249 | try { |
| 250 | 250 | return json_decode( |
| 251 | - associative: true, |
|
| 252 | - json: $this->guzzle->request( |
|
| 253 | - method: $method, |
|
| 254 | - options: [ |
|
| 251 | + associative : true, |
|
| 252 | + json : $this->guzzle->request( |
|
| 253 | + method : $method, |
|
| 254 | + options : [ |
|
| 255 | 255 | 'debug' => $this->debug, |
| 256 | 256 | 'headers' => [ |
| 257 | 257 | 'Authorization' => (string) $this->getToken(), |
@@ -259,7 +259,7 @@ discard block |
||
| 259 | 259 | ], |
| 260 | 260 | 'body' => empty($data) ? null : json_encode($data), |
| 261 | 261 | ], |
| 262 | - uri: $this->uri($path), |
|
| 262 | + uri : $this->uri($path), |
|
| 263 | 263 | ) |
| 264 | 264 | ->getBody() |
| 265 | 265 | ->getContents(), |
@@ -289,7 +289,7 @@ discard block |
||
| 289 | 289 | throw new ClientConfigurationException('The "authorization_server" cannot be null'); |
| 290 | 290 | } |
| 291 | 291 | |
| 292 | - if (! filter_var($this->configs['oauth']['authorization_server'], FILTER_VALIDATE_URL)) { |
|
| 292 | + if (!filter_var($this->configs['oauth']['authorization_server'], FILTER_VALIDATE_URL)) { |
|
| 293 | 293 | throw new ClientConfigurationException( |
| 294 | 294 | sprintf('A valid url must be provided for "authorization_server" [%s]', $this->configs['oauth']['authorization_server']) |
| 295 | 295 | ); |
@@ -299,7 +299,7 @@ discard block |
||
| 299 | 299 | throw new ClientConfigurationException('The "resource_server" cannot be null'); |
| 300 | 300 | } |
| 301 | 301 | |
| 302 | - if (! filter_var($this->configs['resource_server'], FILTER_VALIDATE_URL)) { |
|
| 302 | + if (!filter_var($this->configs['resource_server'], FILTER_VALIDATE_URL)) { |
|
| 303 | 303 | throw new ClientConfigurationException( |
| 304 | 304 | sprintf('A valid url must be provided for "resource_server" [%s]', $this->configs['resource_server']) |
| 305 | 305 | ); |
@@ -321,10 +321,10 @@ discard block |
||
| 321 | 321 | /** |
| 322 | 322 | * Set the token & refresh if needed |
| 323 | 323 | */ |
| 324 | - public function setToken(Token|string $token): self |
|
| 324 | + public function setToken(Token | string $token): self |
|
| 325 | 325 | { |
| 326 | 326 | $this->token = is_string($token) |
| 327 | - ? new Token(access_token: $token) |
|
| 327 | + ? new Token(access_token : $token) |
|
| 328 | 328 | : $token; |
| 329 | 329 | |
| 330 | 330 | return $this; |
@@ -346,7 +346,7 @@ discard block |
||
| 346 | 346 | $path = ltrim($path ?? '/', '/'); |
| 347 | 347 | |
| 348 | 348 | return rtrim($url ?? $this->configs['resource_server'], '/') |
| 349 | - .($path ? (Str::startsWith($path, '?') ? null : '/').$path : '/'); |
|
| 349 | + .($path ? (Str::startsWith($path, '?') ? null : '/') . $path : '/'); |
|
| 350 | 350 | } |
| 351 | 351 | |
| 352 | 352 | /** |
@@ -33,7 +33,7 @@ discard block |
||
| 33 | 33 | |
| 34 | 34 | public function __toString(): string |
| 35 | 35 | { |
| 36 | - return $this->token_type.' '.$this->access_token; |
|
| 36 | + return $this->token_type . ' ' . $this->access_token; |
|
| 37 | 37 | } |
| 38 | 38 | |
| 39 | 39 | /** |
@@ -63,8 +63,8 @@ discard block |
||
| 63 | 63 | */ |
| 64 | 64 | public function isValid(?string $scope = null): bool |
| 65 | 65 | { |
| 66 | - return ! is_null($this->access_token) && |
|
| 67 | - ! $this->isExpired() && |
|
| 66 | + return !is_null($this->access_token) && |
|
| 67 | + !$this->isExpired() && |
|
| 68 | 68 | ($scope ? $this->allowedScope($scope) : true); |
| 69 | 69 | } |
| 70 | 70 | |
@@ -28,7 +28,7 @@ |
||
| 28 | 28 | */ |
| 29 | 29 | public function handle(Request $request, Closure $next) |
| 30 | 30 | { |
| 31 | - if (! $request->user()->halo_token) { |
|
| 31 | + if (!$request->user()->halo_token) { |
|
| 32 | 32 | // Set intended route, so that after linking account, user is put where they were going |
| 33 | 33 | $this->redirector->setIntendedUrl($request->path()); |
| 34 | 34 | |
@@ -33,7 +33,7 @@ discard block |
||
| 33 | 33 | */ |
| 34 | 34 | public function register() |
| 35 | 35 | { |
| 36 | - $this->mergeConfigFrom(__DIR__.'/../../config/halo.php', 'halo'); |
|
| 36 | + $this->mergeConfigFrom(__DIR__ . '/../../config/halo.php', 'halo'); |
|
| 37 | 37 | } |
| 38 | 38 | |
| 39 | 39 | /** |
@@ -54,19 +54,19 @@ discard block |
||
| 54 | 54 | protected function registerPublishes() |
| 55 | 55 | { |
| 56 | 56 | if ($this->app->runningInConsole()) { |
| 57 | - $this->loadMigrationsFrom(__DIR__.'/../../database/migrations'); |
|
| 57 | + $this->loadMigrationsFrom(__DIR__ . '/../../database/migrations'); |
|
| 58 | 58 | |
| 59 | 59 | $this->publishes( |
| 60 | 60 | groups: 'halo-config', |
| 61 | 61 | paths: [ |
| 62 | - __DIR__.'/../../config/halo.php' => config_path('halo.php'), |
|
| 62 | + __DIR__ . '/../../config/halo.php' => config_path('halo.php'), |
|
| 63 | 63 | ], |
| 64 | 64 | ); |
| 65 | 65 | |
| 66 | 66 | $this->publishes( |
| 67 | 67 | groups: 'halo-migrations', |
| 68 | 68 | paths: [ |
| 69 | - __DIR__.'/../../database/migrations' => database_path('migrations'), |
|
| 69 | + __DIR__ . '/../../database/migrations' => database_path('migrations'), |
|
| 70 | 70 | ], |
| 71 | 71 | ); |
| 72 | 72 | } |
@@ -83,7 +83,7 @@ discard block |
||
| 83 | 83 | 'namespace' => 'Spinen\Halo\Http\Controllers', |
| 84 | 84 | 'middleware' => Config::get('halo.oauth.authorization_code.route.middleware', ['web']), |
| 85 | 85 | ], |
| 86 | - routes: fn () => $this->loadRoutesFrom(realpath(__DIR__.'/../../routes/web.php')) |
|
| 86 | + routes: fn () => $this->loadRoutesFrom(realpath(__DIR__ . '/../../routes/web.php')) |
|
| 87 | 87 | ); |
| 88 | 88 | } |
| 89 | 89 | } |
@@ -42,7 +42,7 @@ discard block |
||
| 42 | 42 | /** |
| 43 | 43 | * Get the foreign key's name |
| 44 | 44 | */ |
| 45 | - public function getForeignKey(): int|string|null |
|
| 45 | + public function getForeignKey(): int | string | null |
|
| 46 | 46 | { |
| 47 | 47 | return $this->getChild()->{$this->getForeignKeyName()}; |
| 48 | 48 | } |
@@ -65,7 +65,7 @@ discard block |
||
| 65 | 65 | */ |
| 66 | 66 | public function getResults(): ?Model |
| 67 | 67 | { |
| 68 | - if (! $this->getForeignKey()) { |
|
| 68 | + if (!$this->getForeignKey()) { |
|
| 69 | 69 | return null; |
| 70 | 70 | } |
| 71 | 71 | |
@@ -21,7 +21,7 @@ |
||
| 21 | 21 | */ |
| 22 | 22 | public function getClient(): Client |
| 23 | 23 | { |
| 24 | - if (! isset($this->client) && $this->parentModel) { |
|
| 24 | + if (!isset($this->client) && $this->parentModel) { |
|
| 25 | 25 | $this->client = $this->parentModel->getClient(); |
| 26 | 26 | } |
| 27 | 27 | |
@@ -63,13 +63,13 @@ |
||
| 63 | 63 | public function haloToken(): Attribute |
| 64 | 64 | { |
| 65 | 65 | return Attribute::make( |
| 66 | - get: fn ($value, array $attributes): ?Token => ! is_null($attributes['halo_token']) |
|
| 66 | + get: fn ($value, array $attributes): ?Token => !is_null($attributes['halo_token']) |
|
| 67 | 67 | ? unserialize(Crypt::decryptString($attributes['halo_token'])) |
| 68 | 68 | : null, |
| 69 | - set: function ($value): ?string { |
|
| 69 | + set : function($value): ?string { |
|
| 70 | 70 | // If setting the password & already have a client, then |
| 71 | 71 | // empty the client to use new password in client |
| 72 | - if (! is_null($this->builder)) { |
|
| 72 | + if (!is_null($this->builder)) { |
|
| 73 | 73 | $this->builder = null; |
| 74 | 74 | } |
| 75 | 75 | |
@@ -256,7 +256,7 @@ discard block |
||
| 256 | 256 | $foreignKey = $foreignKey ?? $this->assumeForeignKey($related); |
| 257 | 257 | |
| 258 | 258 | $builder = (new Builder())->setClass($related) |
| 259 | - ->setClient($this->getClient()); |
|
| 259 | + ->setClient($this->getClient()); |
|
| 260 | 260 | |
| 261 | 261 | return new BelongsTo($builder, $this, $foreignKey); |
| 262 | 262 | } |
@@ -276,8 +276,8 @@ discard block |
||
| 276 | 276 | $foreignKey = $foreignKey ?? $this->assumeForeignKey($related); |
| 277 | 277 | |
| 278 | 278 | $builder = (new Builder())->setClass($related) |
| 279 | - ->setClient($this->getClient()) |
|
| 280 | - ->setParent($this); |
|
| 279 | + ->setClient($this->getClient()) |
|
| 280 | + ->setParent($this); |
|
| 281 | 281 | |
| 282 | 282 | return new ChildOf($builder, $this, $foreignKey); |
| 283 | 283 | } |
@@ -309,7 +309,7 @@ discard block |
||
| 309 | 309 | |
| 310 | 310 | try { |
| 311 | 311 | $this->getClient() |
| 312 | - ->delete($this->getPath()); |
|
| 312 | + ->delete($this->getPath()); |
|
| 313 | 313 | |
| 314 | 314 | return true; |
| 315 | 315 | } catch (GuzzleException $e) { |
@@ -509,7 +509,7 @@ discard block |
||
| 509 | 509 | public function givenOne($related, $attributes, $reset = false): Model |
| 510 | 510 | { |
| 511 | 511 | return (new $related([], $this->parentModel))->setClient($this->getClient()) |
| 512 | - ->newFromBuilder($reset ? reset($attributes) : $attributes); |
|
| 512 | + ->newFromBuilder($reset ? reset($attributes) : $attributes); |
|
| 513 | 513 | } |
| 514 | 514 | |
| 515 | 515 | /** |
@@ -524,8 +524,8 @@ discard block |
||
| 524 | 524 | public function hasMany($related): HasMany |
| 525 | 525 | { |
| 526 | 526 | $builder = (new Builder())->setClass($related) |
| 527 | - ->setClient($this->getClient()) |
|
| 528 | - ->setParent($this); |
|
| 527 | + ->setClient($this->getClient()) |
|
| 528 | + ->setParent($this); |
|
| 529 | 529 | |
| 530 | 530 | return new HasMany($builder, $this); |
| 531 | 531 | } |
@@ -681,7 +681,7 @@ discard block |
||
| 681 | 681 | } |
| 682 | 682 | |
| 683 | 683 | $response = $this->getClient() |
| 684 | - ->post($this->getPath(), [$this->toArray()]); |
|
| 684 | + ->post($this->getPath(), [$this->toArray()]); |
|
| 685 | 685 | |
| 686 | 686 | $this->exists = true; |
| 687 | 687 | |
@@ -238,7 +238,7 @@ discard block |
||
| 238 | 238 | */ |
| 239 | 239 | protected function assumeForeignKey($related): string |
| 240 | 240 | { |
| 241 | - return Str::snake((new $related())->getResponseKey()).'_id'; |
|
| 241 | + return Str::snake((new $related())->getResponseKey()) . '_id'; |
|
| 242 | 242 | } |
| 243 | 243 | |
| 244 | 244 | /** |
@@ -379,7 +379,7 @@ discard block |
||
| 379 | 379 | */ |
| 380 | 380 | public function getOrderByDirectionParameter(): string |
| 381 | 381 | { |
| 382 | - return $this->orderByDirectionParameter ?? $this->getOrderByParameter().'desc'; |
|
| 382 | + return $this->orderByDirectionParameter ?? $this->getOrderByParameter() . 'desc'; |
|
| 383 | 383 | } |
| 384 | 384 | |
| 385 | 385 | /** |
@@ -407,20 +407,20 @@ discard block |
||
| 407 | 407 | // If have an id, then put it on the end |
| 408 | 408 | // NOTE: Halo treats creates & updates the same, so only on existing |
| 409 | 409 | if ($this->exist && $this->getKey()) { |
| 410 | - $path .= '/'.$this->getKey(); |
|
| 410 | + $path .= '/' . $this->getKey(); |
|
| 411 | 411 | } |
| 412 | 412 | |
| 413 | 413 | // Stick any extra things on the end |
| 414 | - if (! is_null($extra)) { |
|
| 415 | - $path .= '/'.ltrim($extra, '/'); |
|
| 414 | + if (!is_null($extra)) { |
|
| 415 | + $path .= '/' . ltrim($extra, '/'); |
|
| 416 | 416 | } |
| 417 | 417 | |
| 418 | - if (! empty($query = $this->getDefaultWheres($query))) { |
|
| 419 | - $path .= '?'.http_build_query($this->convertBoolToString($query)); |
|
| 418 | + if (!empty($query = $this->getDefaultWheres($query))) { |
|
| 419 | + $path .= '?' . http_build_query($this->convertBoolToString($query)); |
|
| 420 | 420 | } |
| 421 | 421 | |
| 422 | 422 | // If there is a parentModel & not have an id (unless for nested), then prepend parentModel |
| 423 | - if (! is_null($this->parentModel) && (! $this->getKey() || $this->isNested())) { |
|
| 423 | + if (!is_null($this->parentModel) && (!$this->getKey() || $this->isNested())) { |
|
| 424 | 424 | return $this->parentModel->getPath($path); |
| 425 | 425 | } |
| 426 | 426 | |
@@ -438,7 +438,7 @@ discard block |
||
| 438 | 438 | { |
| 439 | 439 | $relation = $this->{$method}(); |
| 440 | 440 | |
| 441 | - if (! $relation instanceof Relation) { |
|
| 441 | + if (!$relation instanceof Relation) { |
|
| 442 | 442 | $exception_message = is_null($relation) |
| 443 | 443 | ? '%s::%s must return a relationship instance, but "null" was returned. Was the "return" keyword used?' |
| 444 | 444 | : '%s::%s must return a relationship instance.'; |
@@ -450,7 +450,7 @@ discard block |
||
| 450 | 450 | |
| 451 | 451 | return tap( |
| 452 | 452 | $relation->getResults(), |
| 453 | - function ($results) use ($method) { |
|
| 453 | + function($results) use ($method) { |
|
| 454 | 454 | $this->setRelation($method, $results); |
| 455 | 455 | } |
| 456 | 456 | ); |
@@ -491,7 +491,7 @@ discard block |
||
| 491 | 491 | $model = (new $related([], $this->parentModel))->setClient($this->getClient()); |
| 492 | 492 | |
| 493 | 493 | return (new Collection($given))->map( |
| 494 | - function ($attributes) use ($model, $reset) { |
|
| 494 | + function($attributes) use ($model, $reset) { |
|
| 495 | 495 | return $model->newFromBuilder($reset ? reset($attributes) : $attributes); |
| 496 | 496 | } |
| 497 | 497 | ); |
@@ -596,7 +596,7 @@ discard block |
||
| 596 | 596 | */ |
| 597 | 597 | public function offsetExists($offset): bool |
| 598 | 598 | { |
| 599 | - return ! is_null($this->getAttribute($offset)); |
|
| 599 | + return !is_null($this->getAttribute($offset)); |
|
| 600 | 600 | } |
| 601 | 601 | |
| 602 | 602 | /** |
@@ -676,7 +676,7 @@ discard block |
||
| 676 | 676 | } |
| 677 | 677 | |
| 678 | 678 | try { |
| 679 | - if (! $this->isDirty()) { |
|
| 679 | + if (!$this->isDirty()) { |
|
| 680 | 680 | return true; |
| 681 | 681 | } |
| 682 | 682 | |
@@ -707,7 +707,7 @@ discard block |
||
| 707 | 707 | */ |
| 708 | 708 | public function saveOrFail(): bool |
| 709 | 709 | { |
| 710 | - if (! $this->save()) { |
|
| 710 | + if (!$this->save()) { |
|
| 711 | 711 | throw new UnableToSaveException(); |
| 712 | 712 | } |
| 713 | 713 | |