'integer', 'last_login_at' => 'datetime', 'login_failed_count' => 'integer', 'login_locked_until' => 'datetime', 'risk_tags' => 'array', ]; } public function isLotteryNative(): bool { return (string) $this->auth_source === PlayerAuthSource::LOTTERY_NATIVE; } public function wallets(): HasMany { return $this->hasMany(PlayerWallet::class); } public function agentNode(): BelongsTo { return $this->belongsTo(AgentNode::class, 'agent_node_id'); } }