|null $permissions * @property Carbon|null $deleted_at * @property Carbon|null $created_at * @property Carbon|null $updated_at * @property-read User|null $child * @property-read User|null $parent * * @method static \Illuminate\Database\Eloquent\Builder|ParentalControls newModelQuery() * @method static \Illuminate\Database\Eloquent\Builder|ParentalControls newQuery() * @method static \Illuminate\Database\Eloquent\Builder|ParentalControls onlyTrashed() * @method static \Illuminate\Database\Eloquent\Builder|ParentalControls query() * @method static \Illuminate\Database\Eloquent\Builder|ParentalControls whereChildId($value) * @method static \Illuminate\Database\Eloquent\Builder|ParentalControls whereCreatedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|ParentalControls whereDeletedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|ParentalControls whereEmail($value) * @method static \Illuminate\Database\Eloquent\Builder|ParentalControls whereEmailSentAt($value) * @method static \Illuminate\Database\Eloquent\Builder|ParentalControls whereEmailVerifiedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|ParentalControls whereId($value) * @method static \Illuminate\Database\Eloquent\Builder|ParentalControls whereParentId($value) * @method static \Illuminate\Database\Eloquent\Builder|ParentalControls wherePermissions($value) * @method static \Illuminate\Database\Eloquent\Builder|ParentalControls whereUpdatedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|ParentalControls whereVerifyCode($value) * @method static \Illuminate\Database\Eloquent\Builder|ParentalControls withTrashed(bool $withTrashed = true) * @method static \Illuminate\Database\Eloquent\Builder|ParentalControls withoutTrashed() * * @mixin \Eloquent */ class ParentalControls extends Model { use HasFactory, SoftDeletes; protected $guarded = []; protected function casts(): array { return [ 'permissions' => 'array', 'email_sent_at' => 'datetime', 'email_verified_at' => 'datetime', ]; } public function parent() { return $this->belongsTo(User::class, 'parent_id'); } public function child() { return $this->belongsTo(User::class, 'child_id'); } public function childAccount() { if ($u = $this->child) { if ($u->profile_id) { return AccountService::get($u->profile_id, true); } return []; } return []; } public function manageUrl() { return url('/settings/parental-controls/manage/'.$this->id); } public function inviteUrl() { return url('/auth/pci/'.$this->id.'/'.$this->verify_code); } }