- add cv management

This commit is contained in:
2023-07-29 00:34:32 +02:00
parent f32f13604f
commit 1ccc934561
15 changed files with 741 additions and 4 deletions

View File

@@ -0,0 +1,17 @@
<?php
declare(strict_types=1);
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\ResourceCollection;
class CVCollection extends ResourceCollection
{
public function toArray($request): array
{
return [
'data' => $this->collection,
];
}
}

View File

@@ -0,0 +1,17 @@
<?php
declare(strict_types=1);
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\ResourceCollection;
class CVInfoCollection extends ResourceCollection
{
public function toArray($request): array
{
return [
'data' => $this->collection,
];
}
}

View File

@@ -0,0 +1,21 @@
<?php
declare(strict_types=1);
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
class CVInfoResource extends JsonResource
{
public static $wrap = null;
public function toArray($request): array
{
return [
'id' => $this->id,
'ip' => $this->ip,
'created_at' => $this->created_at->format('d-m-Y H:i:s'),
];
}
}

View File

@@ -0,0 +1,17 @@
<?php
declare(strict_types=1);
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\ResourceCollection;
class FullCVCollection extends ResourceCollection
{
public function toArray($request): array
{
return [
'data' => $this->collection,
];
}
}

View File

@@ -0,0 +1,29 @@
<?php
declare(strict_types=1);
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
class FullCVResource extends JsonResource
{
public static $wrap = null;
public function toArray($request = null): array
{
return [
'id' => $this->id,
'token' => $this->token,
'email' => $this->email,
'recipient' => $this->recipient,
'phone' => new PhoneResource($this->resource),
'locations' => $this->locations,
'views' => $this->resource->info()->select('id')->get()->count(),
'registeredViews' => $this->views,
'mission' => explode(PHP_EOL, $this->mission ?? '', 5),
'rodo' => $this->rodo,
'position' => $this->position,
];
}
}