private function newDevice(RedmineUser $user, $deviceId, $pushToken, $platform) { $device = $this->em->getRepository('RedmineAppBundle:Device')->findOneBy(['pushToken' => $pushToken]); if (!$device) { $device = $this->em->getRepository('RedmineAppBundle:Device')->findOneBy(['deviceId' => $deviceId]); } if ($device) { $device->setUser($user); $device->setPlatform($platform); $device->setPushtoken($pushToken); return $device; } else { $device = new Device(); $device->setDeviceid($deviceId); $device->setEnabled(true); $device->setArn($this->devices->registerDevice($pushToken, $platform)); $device->setPushtoken($pushToken); $device->setPlatform($platform); $device->setUser($user); $this->em->persist($device); $this->logger->info("\n New device: ", ['DEVICE' => $device->toLog()]); return $device; } }
/** * @param Device $device * @return RedmineUser */ public function addDevice(Device $device) { $device->setUser($this); $this->devices->add($device); return $this; }