1234567891011121314151617181920212223242526272829303132333435363738 |
- <?php
- namespace App\Http\Resources\API;
- use App\Libraries\BIM\BIMFactory;
- use App\Models\Enums\BimFileConvertStatus;
- use Illuminate\Http\Request;
- use Illuminate\Http\Resources\Json\JsonResource;
- use Illuminate\Support\Facades\Storage;
- class FileByObjectResource extends JsonResource
- {
- /**
- * Transform the resource into an array.
- *
- * @return array<string, mixed>
- */
- public function toArray(Request $request): array
- {
- return [
- 'id' => $this->id,
- 'title' => $this->title,
- 'extension' => $this->extension,
- 'download_url' => Storage::url($this->pathname),
- $this->mergeWhen(
- $this->is_bim == 1 && $this->bimFile && $this->bimFile->convert_status == BimFileConvertStatus::DONE,
- [
- 'model_view_url' => BIMFactory::make($this->bimFile->bim_driver)->getModelViewLink($this->bimFile->bim_data_set_id),
- ]
- ),
- 'size' => $this->size,
- 'created_by' => $this->createdBy ? new UserProfileResource($this->createdBy) : null,
- 'created_at' => (string) $this->created_at,
- 'version' => $this->version,
- ];
- }
- }
|