File: /home/xedaptot/ai.naniguide.com/database/factories/SubscriptionCreditStateFactory.php
<?php
namespace Database\Factories;
use App\Model\SubscriptionCreditState;
use App\Services\Plans\Credits\CreditKey;
use Illuminate\Database\Eloquent\Factories\Factory;
class SubscriptionCreditStateFactory extends Factory
{
protected $model = SubscriptionCreditState::class;
public function definition(): array
{
return [
'subscription_id' => 0, // caller must override with real subscription id
'credit_key' => CreditKey::SEND_EMAIL->value,
'remaining' => 1000,
'granted_per_cycle' => 1000,
'reset_at' => now()->addMonth(),
'last_synced_at' => now(),
];
}
public function unlimited(): static
{
return $this->state([
'remaining' => null,
'granted_per_cycle' => null,
]);
}
public function forKey(CreditKey $key): static
{
return $this->state(['credit_key' => $key->value]);
}
}