⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.19
Server IP:
178.33.27.10
Server:
Linux cpanel.dev-unit.com 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64
Server Software:
Apache/2.4.57 (Unix) OpenSSL/1.0.2k-fips
PHP Version:
8.2.11
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
home
/
id
/
hospital.dev-unit.com
/
app
/
Models
/
View File Name :
OpdTimeline.php
<?php namespace App\Models; use App\Traits\PopulateTenantID; use Eloquent as Model; use Illuminate\Database\Eloquent\Attributes\Scope; use Illuminate\Database\Eloquent\Collection; use Illuminate\Support\Carbon; use Spatie\MediaLibrary\HasMedia; use Spatie\MediaLibrary\InteractsWithMedia; use Spatie\MediaLibrary\MediaCollections\Models\Media; use Stancl\Tenancy\Database\Concerns\BelongsToTenant; /** * App\Models\OpdTimeline * * @property-read mixed $opd_timeline_document_url * @property-read Collection|Media[] $media * @property-read int|null $media_count * * @method static \Illuminate\Database\Eloquent\Builder|OpdTimeline newModelQuery() * @method static \Illuminate\Database\Eloquent\Builder|OpdTimeline newQuery() * @method static \Illuminate\Database\Eloquent\Builder|OpdTimeline query() * * @mixin Model * * @property int $id * @property int $opd_patient_department_id * @property string $title * @property string $date * @property string|null $description * @property bool $visible_to_person * @property Carbon|null $created_at * @property Carbon|null $updated_at * * @method static \Illuminate\Database\Eloquent\Builder|OpdTimeline whereCreatedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|OpdTimeline whereDate($value) * @method static \Illuminate\Database\Eloquent\Builder|OpdTimeline whereDescription($value) * @method static \Illuminate\Database\Eloquent\Builder|OpdTimeline whereId($value) * @method static \Illuminate\Database\Eloquent\Builder|OpdTimeline whereOpdPatientDepartmentId($value) * @method static \Illuminate\Database\Eloquent\Builder|OpdTimeline whereTitle($value) * @method static \Illuminate\Database\Eloquent\Builder|OpdTimeline whereUpdatedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|OpdTimeline whereVisibleToPerson($value) * @method static \Illuminate\Database\Eloquent\Builder|OpdTimeline visible() */ class OpdTimeline extends Model implements HasMedia { use BelongsToTenant, InteractsWithMedia, PopulateTenantID; public const OPD_TIMELINE_PATH = 'opd_timelines'; public $table = 'opd_timelines'; public $fillable = [ 'opd_patient_department_id', 'title', 'date', 'description', 'visible_to_person', ]; /** * Validation rules * * @var array */ public static $rules = [ 'title' => 'required', 'date' => 'required', 'attachment' => 'nullable|mimes:jpeg,png,pdf,gif,jpg,webp', ]; /** * @var array */ protected $appends = ['opd_timeline_document_url']; /** * Get the attributes that should be cast. * * @return array<string, string> */ protected function casts(): array { return [ 'id' => 'integer', 'opd_patient_department_id' => 'integer', 'title' => 'string', 'description' => 'string', 'visible_to_person' => 'boolean', ]; } /** * @return mixed */ public function getOpdTimelineDocumentUrlAttribute() { /** @var Media $media */ $media = $this->media->first(); if (! empty($media)) { return $media->getFullUrl(); } return ''; } /** * @return mixed */ #[Scope] protected function visible($query) { return $query->where('visible_to_person', 1); } }