*/ use HasApiTokens, HasFactory, Notifiable; protected $attributes = [ 'rol_codigo' => RoleCode::User->value, ]; protected static function newFactory(): UserFactory { return UserFactory::new(); } /** @return HasMany */ public function resetPasswordAttempts(): HasMany { return $this->hasMany(ResetPasswordAttempt::class); } /** @return HasMany */ public function loginAttempts(): HasMany { return $this->hasMany(LoginAttempt::class); } /** * @return BelongsTo */ public function role(): BelongsTo { return $this->belongsTo(Role::class, 'rol_codigo', 'codigo'); } /** * @return BelongsTo */ public function tenant(): BelongsTo { return $this->belongsTo(Tenant::class, 'tenant_codigo', 'codigo'); } /** @return BelongsToMany */ public function scanCategories(): BelongsToMany { return $this->belongsToMany( Category::class, 'category_scanners', 'user_id', 'categoria_id', )->withTimestamps(); } /** * @return array */ protected function casts(): array { return [ 'email_verified_at' => 'datetime', 'password' => 'hashed', 'failed_login_attempts' => 'integer', 'last_failed_login_at' => 'datetime', 'locked_until' => 'datetime', ]; } }