/**
  * Insere um dispositivo
  *
  * @param Device $device
  *        	Dados do dispositivo
  * @return Device Dispositivo criado ou null se um dispositivo
  *         com o mesmo token e usuário já existir
  */
 public static function insertDevice($device)
 {
     DeviceManager::validateDevice($device);
     if (DeviceManager::exists($device->getToken())) {
         return null;
     }
     global $entityManager;
     $entityManager->persist($device);
     $entityManager->flush();
     UnisuamPushServices::create($device);
     return $device;
 }
예제 #2
0
/**
 * Retorna um dispositivo informado, validando-o
 *
 * @param object $input
 *        	Dados informados
 * @return Device Dispositivo
 */
function getDevice($input)
{
    if (!$input || !isset($input->token) || !isset($input->type) || !isset($input->userId)) {
        throw new \InvalidArgumentException("A requisição não contém todos os dados necessários.");
    }
    $device = new Device((string) $input->token, (int) $input->type, (string) $input->userId);
    DeviceManager::validateDevice($device);
    return $device;
}