From 30eff3455e6808fcc174b9f358b949d056080d6d Mon Sep 17 00:00:00 2001 From: Les De Ridder Date: Sat, 28 May 2016 22:43:44 +0200 Subject: [PATCH] Add Paste and Deletion models --- app/Deletion.php | 7 ++++++- app/Paste.php | 30 +++++++++++++++++++++++++++++- 2 files changed, 35 insertions(+), 2 deletions(-) diff --git a/app/Deletion.php b/app/Deletion.php index abe57ef..3d252be 100644 --- a/app/Deletion.php +++ b/app/Deletion.php @@ -6,5 +6,10 @@ use Illuminate\Database\Eloquent\Model; class Deletion extends Model { - // + public $timestamps = false; + + public function paste() + { + return $this->belongsTo(Paste::class); + } } diff --git a/app/Paste.php b/app/Paste.php index 8c7f9a2..a9e6ba9 100644 --- a/app/Paste.php +++ b/app/Paste.php @@ -6,5 +6,33 @@ use Illuminate\Database\Eloquent\Model; class Paste extends Model { - // + public $incrementing = false; + public $timestamps = false; + + public function deletion() + { + return $this->hasOne(Deletion::class); + } + + public function isDeleted() + { + return $this->deletion !== null; + } + + public function delete($reason, $deleted_by) + { + if($this->isDeleted()) + { + return false; + } + + $deletion = new Deletion; + $deletion->reason = $reason; + $deletion->deleted_by = $deleted_by; + $deletion->deleted_at = Carbon::now(); + + $this->deletion()->save($deletion); + + return true; + } }