use App\Types\Model;
use App\Casts\HashCast;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Contracts\Auth\MustVerifyEmail as MustVerifyEmailContract;
use Illuminate\Contracts\Auth\Access\Authorizable as AuthorizableContract;
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;
class User extends Model implements AuthenticatableContract, AuthorizableContract, CanResetPasswordContract, MustVerifyEmailContract
{
//
protected $casts = [
'id' => 'integer',
'type' => UserType::class,
'name' => 'string',
'handle' => 'string',
'email' => 'string',
'password' => HashCast::class,
'biography' => 'string',
'website' => 'string',
'donate' => 'string',
'twitter' => 'string',
'github' => 'string',
'linkedin' => 'string',
'youtube' => 'string',
'facebook' => 'string',
'avatar' => 'string',
'metrics' => 'array',
'settings' => 'array',
'integration' => 'encrypted:array',
'remember_token' => 'string',
'email_verified_at' => 'datetime',
];
//
}