public function getSourceFromCurrentUser($user)
    {
        $token = $user->token();
        $client = $token->client;

        if($client->personal_access_client){
            $name = $token->name;
            $sourceable_id = $token->token_id;
            $sourceable_type = 'token';
        } else {
            $name = $client->name;
            $sourceable_id = $client->id;
            $sourceable_type = 'client';
        }


        // if the source already exists return it
        $source = $user->sources()->sourceableFilter($sourceable_id, $sourceable_type)->first();
        if($source) return $source;

        // otherwise setup a new source
        $source = new Source();
        $source->sourceable_id = $sourceable_id;
        $source->name = $name;
        $source->sourceable_type = $sourceable_type;
        $source->user_id = $user->id;
        $source->save();

        return $source;
    }