entityManager = $entityManager; } public function hasApprovedApp(string $name): bool { /** @var App|null $app */ $app = $this->entityManager ->getRepository(App::class) ->findOneBy(['name' => $name, 'status' => App::STATUS_APPROVED]); return $app !== null; } public function createApp(Apk $apk): App { $app = new App(); $app->setName($apk->getPackageName()); $app->setLabel($apk->getLabel()); return $app; } public function createRelease(Apk $apk, App $app, string $file): Release { $release = new Release(); $release->setApp($app); $release->setVersionCode($apk->getVersionCode()); $release->setVersionName($apk->getVersionName()); $release->setApk($file); return $release; } public function getStorePath(App $app, Apk $apk): string { return __DIR__ . '/../../var/storage/apk/' . $app->getName() . '/' . $app->getId() . '/' . $apk->getVersionCode(); } }