You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and dots ('.'), can be up to 35 characters long. Letters must be lowercase.
		
		
		
		
		
			
		
			
				
					
					
						
							83 lines
						
					
					
						
							1.8 KiB
						
					
					
				
			
		
		
	
	
							83 lines
						
					
					
						
							1.8 KiB
						
					
					
				| <?php | |
| 
 | |
| namespace App\Models; | |
| 
 | |
| // use Illuminate\Contracts\Auth\MustVerifyEmail; | |
|  | |
| use App\Utils\S3; | |
| use Illuminate\Database\Eloquent\Factories\HasFactory; | |
| use Illuminate\Foundation\Auth\User as Authenticatable; | |
| use Illuminate\Notifications\Notifiable; | |
| 
 | |
| class User extends Authenticatable | |
| { | |
|     /** @use HasFactory<\Database\Factories\UserFactory> */ | |
|     use HasFactory, Notifiable; | |
| 
 | |
|     /** | |
|      * The attributes that are mass assignable. | |
|      * | |
|      * @var array<int, string> | |
|      */ | |
|     protected $fillable = [ | |
|         'name', | |
|         'email', | |
|         'password', | |
|         'email_verified_at', | |
|         'totem', | |
|         'path', | |
|         'tel', | |
|         'contactable', | |
|         'role', | |
|     ]; | |
| 
 | |
|     public function jsonSerialize():array  | |
|     { | |
|         return [ | |
|             'id' => $this->id, | |
|             'name' => $this->name, | |
|             'email' => $this->email,  | |
|             'pic' => S3::signUrl($this->path), | |
|             'path' => $this->path, | |
|             'totem' => $this->totem, | |
|             'tel' => $this->tel, | |
|             'contactable' => $this->contactable, | |
|             'role' => $this->role, | |
|             'created_at' => date("d.m.Y", strtotime($this->created_at)), | |
|         ]; | |
|     } | |
| 
 | |
| 
 | |
|     /** | |
|      * The attributes that should be hidden for serialization. | |
|      * | |
|      * @var array<int, string> | |
|      */ | |
|     protected $hidden = [ | |
|         'password', | |
|         'remember_token', | |
|     ]; | |
| 
 | |
|     /** | |
|      * Get the attributes that should be cast. | |
|      * | |
|      * @return array<string, string> | |
|      */ | |
|     protected function casts(): array | |
|     { | |
|         return [ | |
|             'email_verified_at' => 'datetime', | |
|             'password' => 'hashed', | |
|         ]; | |
|     } | |
| 
 | |
|     public function photos()  | |
|     { | |
|         return $this->hasMany(Photo::class); | |
|     } | |
| 
 | |
|     public function albums()  | |
|     { | |
|         return $this->hasMany(Album::class); | |
|     } | |
| }
 | |
| 
 |