kamilcraft-api/app/Http/Resources/CVResource.php

51 lines
1.4 KiB
PHP

<?php
declare(strict_types=1);
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
class CVResource extends JsonResource
{
public static $wrap = null;
private bool $isConsole = false;
public function toArray($request = null): array
{
return [
'id' => $this->when($this->isConsole, fn (): int => $this->id),
'token' => $this->token,
'email' => $this->email,
'recipient' => $this->when($this->isConsole, fn (): string => $this->recipient),
'phone' => new PhoneResource($this->resource),
'locations' => $this->locations,
'views' => $this->when(
$this->isConsole,
fn (): int => $this->resource->info()->select('id')->get()->count()
),
'registeredViews' => $this->when($this->isConsole, fn (): int => $this->views),
'mission' => $this->when(
!is_null($this->mission),
fn (): array => explode(PHP_EOL, $this->mission, 5)
),
'rodo' => $this->when(
!is_null($this->rodo),
$this->rodo
),
'position' => $this->when(
!is_null($this->position),
$this->position
),
];
}
public function setAsConsole(): self
{
$this->isConsole = true;
return $this;
}
}