Add enums to types.

This commit is contained in:
James Cole
2024-11-06 19:22:28 +01:00
parent 8b2f1d0b4f
commit 8c5f114339
5 changed files with 48 additions and 3 deletions

View File

@@ -23,6 +23,7 @@ declare(strict_types=1);
namespace FireflyIII\Models; namespace FireflyIII\Models;
use FireflyIII\Enums\AccountTypeEnum;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait; use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\HasMany;
@@ -61,4 +62,11 @@ class AccountType extends Model
{ {
return $this->hasMany(Account::class); return $this->hasMany(Account::class);
} }
protected function casts(): array
{
return [
'type' => AccountTypeEnum::class,
];
}
} }

View File

@@ -24,6 +24,8 @@ declare(strict_types=1);
namespace FireflyIII\Models; namespace FireflyIII\Models;
use FireflyIII\Enums\AccountTypeEnum;
use FireflyIII\Enums\AutoBudgetType;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait; use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
@@ -53,6 +55,13 @@ class AutoBudget extends Model
return $this->belongsTo(TransactionCurrency::class); return $this->belongsTo(TransactionCurrency::class);
} }
protected function casts(): array
{
return [
'auto_budget_type' => AutoBudgetType::class,
];
}
protected function amount(): Attribute protected function amount(): Attribute
{ {
return Attribute::make( return Attribute::make(

View File

@@ -23,6 +23,8 @@ declare(strict_types=1);
namespace FireflyIII\Models; namespace FireflyIII\Models;
use FireflyIII\Enums\AccountTypeEnum;
use FireflyIII\Enums\RecurrenceRepetitionWeekend;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait; use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
@@ -58,6 +60,13 @@ class RecurrenceRepetition extends Model
/** @var string The table to store the data in */ /** @var string The table to store the data in */
protected $table = 'recurrences_repetitions'; protected $table = 'recurrences_repetitions';
protected function casts(): array
{
return [
'weekend' => RecurrenceRepetitionWeekend::class,
];
}
public function recurrence(): BelongsTo public function recurrence(): BelongsTo
{ {
return $this->belongsTo(Recurrence::class); return $this->belongsTo(Recurrence::class);

View File

@@ -23,6 +23,7 @@ declare(strict_types=1);
namespace FireflyIII\Models; namespace FireflyIII\Models;
use FireflyIII\Enums\TransactionTypeEnum;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait; use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\HasMany;
@@ -53,6 +54,15 @@ class TransactionType extends Model
]; ];
protected $fillable = ['type']; protected $fillable = ['type'];
protected function casts(): array
{
return [
'type' => TransactionTypeEnum::class,
];
}
/** /**
* Route binder. Converts the key in the URL to the specified object (or throw 404). * Route binder. Converts the key in the URL to the specified object (or throw 404).
* *

View File

@@ -53,6 +53,15 @@ class Webhook extends Model
]; ];
protected $fillable = ['active', 'trigger', 'response', 'delivery', 'user_id', 'user_group_id', 'url', 'title', 'secret']; protected $fillable = ['active', 'trigger', 'response', 'delivery', 'user_id', 'user_group_id', 'url', 'title', 'secret'];
protected function casts(): array
{
return [
'delivery' => WebhookDelivery::class,
'response' => WebhookResponse::class,
'trigger' => WebhookTrigger::class,
];
}
public static function getDeliveries(): array public static function getDeliveries(): array
{ {
$array = []; $array = [];
@@ -130,13 +139,13 @@ class Webhook extends Model
public static function routeBinder(string $value): self public static function routeBinder(string $value): self
{ {
if (auth()->check()) { if (auth()->check()) {
$webhookId = (int)$value; $webhookId = (int) $value;
/** @var User $user */ /** @var User $user */
$user = auth()->user(); $user = auth()->user();
/** @var null|Webhook $webhook */ /** @var null|Webhook $webhook */
$webhook = $user->webhooks()->find($webhookId); $webhook = $user->webhooks()->find($webhookId);
if (null !== $webhook) { if (null !== $webhook) {
return $webhook; return $webhook;
} }