. */ declare(strict_types=1); namespace FireflyIII\Models; use FireflyIII\Support\Models\ReturnsIntegerIdTrait; use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\SoftDeletes; class RecurrenceRepetition extends Model { use ReturnsIntegerIdTrait; use SoftDeletes; #[\Deprecated] /** @deprecated */ public const int WEEKEND_DO_NOTHING = 1; #[\Deprecated] /** @deprecated */ public const int WEEKEND_SKIP_CREATION = 2; #[\Deprecated] /** @deprecated */ public const int WEEKEND_TO_FRIDAY = 3; #[\Deprecated] /** @deprecated */ public const int WEEKEND_TO_MONDAY = 4; protected $casts = [ 'created_at' => 'datetime', 'updated_at' => 'datetime', 'deleted_at' => 'datetime', 'repetition_type' => 'string', 'repetition_moment' => 'string', 'repetition_skip' => 'int', 'weekend' => 'int', ]; protected $fillable = ['recurrence_id', 'weekend', 'repetition_type', 'repetition_moment', 'repetition_skip']; protected $table = 'recurrences_repetitions'; public function recurrence(): BelongsTo { return $this->belongsTo(Recurrence::class); } protected function casts(): array { return [ // 'weekend' => RecurrenceRepetitionWeekend::class, ]; } protected function recurrenceId(): Attribute { return Attribute::make( get: static fn ($value) => (int) $value, ); } protected function repetitionSkip(): Attribute { return Attribute::make( get: static fn ($value) => (int) $value, ); } protected function weekend(): Attribute { return Attribute::make( get: static fn ($value) => (int) $value, ); } }