<?php

namespace App\Services;

use Cache, Redis;

use App\{
	Follower,
	Profile
};

class ProfileService {

	protected $profile;
	protected $profile_prefix;

	public static function build()
	{
		return new self();
	}

	public function profile(Profile $profile)
	{
		$this->profile = $profile;
		$this->profile_prefix = 'profile:model:'.$profile->id;
		return $this;
	}

	public function profileId($id)
	{
		return Cache::rememberForever('profile:model:'.$id, function() use($id) {
			return Profile::findOrFail($id);
		});
	}

	public function get()
	{
		return Cache::rememberForever($this->profile_prefix, function() {
			return $this->profile;
		});
	}

}