1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- <?php
- namespace App\Http\Resources\API;
- use App\Models\User;
- use Illuminate\Http\Request;
- use Illuminate\Http\Resources\Json\JsonResource;
- class RequirementResource extends JsonResource
- {
- /**
- * Transform the resource into an array.
- *
- * @return array<string, mixed>
- */
- public function toArray(Request $request): array
- {
- $mailto=$this->mailto;
- $mailtoName=User::query()->whereIn('id',$mailto)->get();
- return [
- 'title' => $this->title,
- 'status' => $this->status,
- 'asset_id' => $this->asset_id,
- 'plan_id' => $this->plan_id,
- 'plan_name'=> new SimplePlanResource($this->plan),
- 'project_id' => $this->projects->pluck('id')->toArray(),
- 'project_name' => ProjectSimpleResource::collection($this->projects),
- 'requirement_group_id' => $this->requirement_group_id ?? 0,
- 'requirement_group' => new RequirementGroupResource($this->group),
- 'asset' => new SimpleAssetResource($this->asset),
- 'reviewed_by' => $this->reviewed_by,
- 'approval_status' => $this->approval_status,
- 'priority' => $this->priority,
- 'note' => $this->note,
- 'description' => $this->description?(new \App\Services\File\ImageUrlService)->getImageUrl($this->description):null,
- 'acceptance' => $this->acceptance,
- 'mailto' => $mailto,
- 'mailto_name'=>UserProfileResource::collection($mailtoName),
- 'created_by' => new UserProfileResource($this->createdBy),
- 'created_at' => (string)$this->created_at,
- 'updated_at' => (string)$this->updated_at,
- ];
- }
- }
|