Added auto deletion logic - record created 6 months ago
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled

This commit is contained in:
dhanabalan
2026-01-29 10:29:05 +05:30
parent 0ce614ab53
commit 7deb78f574

View File

@@ -2,12 +2,15 @@
namespace App\Models; namespace App\Models;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Prunable;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
class GuardPatrolEntry extends Model class GuardPatrolEntry extends Model
{ {
use Prunable;
use SoftDeletes; use SoftDeletes;
protected $fillable = [ protected $fillable = [
@@ -27,13 +30,24 @@ class GuardPatrolEntry extends Model
public function guardNames(): BelongsTo public function guardNames(): BelongsTo
{ {
//return $this->belongsTo(CheckPointName::class); // return $this->belongsTo(CheckPointName::class);
return $this->belongsTo(GuardName::class, 'guard_name_id'); return $this->belongsTo(GuardName::class, 'guard_name_id');
} }
public function checkPointNames(): BelongsTo public function checkPointNames(): BelongsTo
{ {
//return $this->belongsTo(CheckPointName::class); // return $this->belongsTo(CheckPointName::class);
return $this->belongsTo(CheckPointName::class, 'check_point_name_id'); return $this->belongsTo(CheckPointName::class, 'check_point_name_id');
} }
public function prunable(): Builder
{
// // Start of two months ago (first day of that month)
// $startOfTwoMonthsAgo = now()->subMonthsNoOverflow(6)->startOfMonth();
// // End of previous month (last day of last month)
// $endOfPrevMonth = now()->subMonthNoOverflow()->endOfMonth();
// return static::whereBetween('created_at', [$startOfTwoMonthsAgo, $endOfPrevMonth]);
return static::where('created_at', '<=', now()->subMonthsNoOverflow(6));
}
} }