/** * @param string $config * @return string */ public function getPrivateMirror($config) { /** @var \App\Satis\Model\Config $privateConfig */ $privateConfig = $this->serializer->deserialize($config, 'App\\Satis\\Model\\Config', 'json'); $homepage = $privateConfig->getHomepage(); $privateConfig->setHomepage(rtrim($homepage, '/') . '/' . config('satis.private_repository'))->setRequireAll(true)->setPackages(new PackageCollection()); return $this->serializer->serialize($privateConfig, 'json'); }
/** * @param string|null $repositoryId */ public function unlock($repositoryId = null) { $lockedRepositories = $this->getLockedRepositories(); if ($repositoryId !== null && $lockedRepositories->contains($repositoryId)) { $lockedRepositories = $lockedRepositories->filter(function ($id) use($repositoryId) { return $id !== $repositoryId; }); } $this->configLock->isLocked(false)->by($lockedRepositories); $this->filesystem->put($this->lockFilename, $this->serializer->serialize($this->configLock, 'json')); }