| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- <?php
- namespace App\Models;
- use Illuminate\Database\Eloquent\Model;
- /**
- * Conta Asaas da franqueadora (matriz). Linha única.
- *
- * @property int $id
- * @property string|null $asaas_api_key
- * @property string|null $asaas_webhook_id
- * @property string $status
- * @property \Illuminate\Support\Carbon|null $onboarded_at
- * @property \Illuminate\Support\Carbon|null $created_at
- * @property \Illuminate\Support\Carbon|null $updated_at
- * @method static \Illuminate\Database\Eloquent\Builder<static>|CompanyPaymentAccount newModelQuery()
- * @method static \Illuminate\Database\Eloquent\Builder<static>|CompanyPaymentAccount newQuery()
- * @method static \Illuminate\Database\Eloquent\Builder<static>|CompanyPaymentAccount query()
- * @method static \Illuminate\Database\Eloquent\Builder<static>|CompanyPaymentAccount whereAsaasApiKey($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|CompanyPaymentAccount whereAsaasWebhookId($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|CompanyPaymentAccount whereCreatedAt($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|CompanyPaymentAccount whereId($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|CompanyPaymentAccount whereOnboardedAt($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|CompanyPaymentAccount whereStatus($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|CompanyPaymentAccount whereUpdatedAt($value)
- * @mixin \Eloquent
- */
- class CompanyPaymentAccount extends Model
- {
- public const STATUS_PENDING = 'pending';
- public const STATUS_ACTIVE = 'active';
- protected $table = 'company_payment_accounts';
- protected $guarded = ['id'];
- protected $casts = [
- 'asaas_api_key' => 'encrypted',
- 'onboarded_at' => 'datetime',
- 'created_at' => 'datetime',
- 'updated_at' => 'datetime',
- ];
- /**
- * A (única) conta da matriz.
- */
- public static function current(): self
- {
- return static::query()->first() ?? new self();
- }
- /**
- * Chave efetiva da matriz: banco → fallback .env.
- */
- public static function resolveApiKey(): ?string
- {
- $key = static::query()->first()?->asaas_api_key;
- return filled($key) ? $key : config('services.asaas.api_key');
- }
- }
|