Search code examples
phpsymfonyintercom

check if a user exists in Intercom


I want to delete a user from my database and from intercom in the same time but I want to check if this user exists in intercom or not:

public function deleteUserAction(Request $request, $id)
{
    $doctrine = $this->getDoctrine();
    $em = $doctrine->getManager();
    $intercom = IntercomBasicAuthClient::factory(array(
        'app_id' => 'xxxxxx',
        'api_key' => 'xxxxxxxxxxxx'
    ));   
    $user = $doctrine->getRepository('ZaidUserBundle:User')->find($id);

    if($user) {
        //delete user from intercom
        //I want some condition here 
        $intercom->deleteUser(array("email" => $user->getEmail()));
        //delete user from database
        $em->remove($user);
        $em->flush();
    }

    return new Response(200);
}

Solution

  • thank you Matteo this solution works for me

    public function deleteUserAction(Request $request, $id)
    {
        $doctrine = $this->getDoctrine();
        $em = $doctrine->getManager();
        $intercom = IntercomBasicAuthClient::factory(array(
            'app_id' => 'xxxxxx',
            'api_key' => 'xxxxxxxxxxxx'
        ));   
        $user = $doctrine->getRepository('ZaidUserBundle:User')->find($id);
        $existe = 1;
        if($user) {
            //delete user from intercom
            //I want some condition here 
             try{
            $intercom->deleteUser(array("email" => $user->getEmail()));
    
            } catch (\Intercom\Exception\IntercomException $e) {
                    $existe = 0;
                }
            //delete user from database
    if($existe==1){
            $em->remove($user);
            $em->flush();
    }
        }
    
        return new Response(200);
    }