X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/3b31ac75ec41b3990cea770a9e48e2066bd8e9a3..refs/pull/4467/head:/app/Activity/Models/Comment.php diff --git a/app/Activity/Models/Comment.php b/app/Activity/Models/Comment.php index e513bdf3d..bcbed6c56 100644 --- a/app/Activity/Models/Comment.php +++ b/app/Activity/Models/Comment.php @@ -5,6 +5,7 @@ namespace BookStack\Activity\Models; use BookStack\App\Model; use BookStack\Users\Models\HasCreatorAndUpdater; use Illuminate\Database\Eloquent\Factories\HasFactory; +use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\MorphTo; /** @@ -13,8 +14,10 @@ use Illuminate\Database\Eloquent\Relations\MorphTo; * @property string $html * @property int|null $parent_id * @property int $local_id + * @property string $entity_type + * @property int $entity_id */ -class Comment extends Model +class Comment extends Model implements Loggable { use HasFactory; use HasCreatorAndUpdater; @@ -30,6 +33,14 @@ class Comment extends Model return $this->morphTo('entity'); } + /** + * Get the parent comment this is in reply to (if existing). + */ + public function parent(): BelongsTo + { + return $this->belongsTo(Comment::class); + } + /** * Check if a comment has been updated since creation. */ @@ -40,21 +51,22 @@ class Comment extends Model /** * Get created date as a relative diff. - * - * @return mixed */ - public function getCreatedAttribute() + public function getCreatedAttribute(): string { return $this->created_at->diffForHumans(); } /** * Get updated date as a relative diff. - * - * @return mixed */ - public function getUpdatedAttribute() + public function getUpdatedAttribute(): string { return $this->updated_at->diffForHumans(); } + + public function logDescriptor(): string + { + return "Comment #{$this->local_id} (ID: {$this->id}) for {$this->entity_type} (ID: {$this->entity_id})"; + } }