<?php namespace App\Models; use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use Laravel\Passport\HasApiTokens; /** * Class User * * User Roles: * + Site Admin * + ZC - For Domain/Zone * + RC - For sub portion of a Domain/Zone (aka Region) * + Host Admin - For sub portion of a Region * + Hub Admin - For a sub portion of a Hosts system * + Sysop - Individual system * + Guest * * @package App\Models */ class User extends Authenticatable implements MustVerifyEmail { use HasFactory,Notifiable,HasApiTokens; /** * The attributes that are mass assignable. * * @var array */ protected $fillable = [ 'name', 'email', 'password', ]; /** * The attributes that should be hidden for arrays. * * @var array */ protected $hidden = [ 'password', 'remember_token', ]; /** * The attributes that should be cast to native types. * * @var array */ protected $casts = [ 'email_verified_at' => 'datetime', ]; protected $dates = ['last_on']; /* GENERAL METHODS */ /** * See if the user is already a member of the chosen network * * @param Domain $o * @return bool */ public function isMember(Domain $o): bool { return FALSE; } }