<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Jason\Api\Traits\ApiGuardable;
use Tymon\JWTAuth\Contracts\JWTSubject;

class User extends Authenticatable implements JWTSubject
{

    use Notifiable,
        ApiGuardable;

    protected $guarded = [];

    protected $hidden = [
        'password', 'remember_token',
    ];

    public function parent(): BelongsTo
    {
        return $this->belongsTo(__CLASS__);
    }

    public function setParentIdAttribute($value)
    {
        if ($value) {
            $this->attributes['parent_id'] = $value;
        } else {
            $this->attributes['parent_id'] = 0;
        }
    }

}
