X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/ddb7f33868ea499ab8f48a7062f145e8c0fbe02f..refs/pull/2393/head:/app/Actions/Activity.php diff --git a/app/Actions/Activity.php b/app/Actions/Activity.php index 05f0129dd..9d256c9b2 100644 --- a/app/Actions/Activity.php +++ b/app/Actions/Activity.php @@ -3,18 +3,19 @@ namespace BookStack\Actions; use BookStack\Auth\User; -use BookStack\Entities\Entity; +use BookStack\Entities\Models\Entity; use BookStack\Model; +use Illuminate\Database\Eloquent\Relations\BelongsTo; +use Illuminate\Support\Str; /** - * @property string $key + * @property string $type * @property User $user * @property Entity $entity - * @property string $extra + * @property string $detail * @property string $entity_type * @property int $entity_id * @property int $user_id - * @property int $book_id */ class Activity extends Model { @@ -32,29 +33,35 @@ class Activity extends Model /** * Get the user this activity relates to. - * @return \Illuminate\Database\Eloquent\Relations\BelongsTo */ - public function user() + public function user(): BelongsTo { return $this->belongsTo(User::class); } /** - * Returns text from the language files, Looks up by using the - * activity key. + * Returns text from the language files, Looks up by using the activity key. */ - public function getText() + public function getText(): string { - return trans('activities.' . $this->key); + return trans('activities.' . $this->type); + } + + /** + * Check if this activity is intended to be for an entity. + */ + public function isForEntity(): bool + { + return Str::startsWith($this->type, [ + 'page_', 'chapter_', 'book_', 'bookshelf_' + ]); } /** * Checks if another Activity matches the general information of another. - * @param $activityB - * @return bool */ - public function isSimilarTo($activityB) + public function isSimilarTo(Activity $activityB): bool { - return [$this->key, $this->entity_type, $this->entity_id] === [$activityB->key, $activityB->entity_type, $activityB->entity_id]; + return [$this->type, $this->entity_type, $this->entity_id] === [$activityB->type, $activityB->entity_type, $activityB->entity_id]; } }