/** * 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; }
/** * 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; }