public static function getConfig(Application $app, Request $request, $repositoryName, $configTypeName, $workspace = 'default', $language = 'default', $timeshift = 0) { /** @var $repository Repository */ $repository = $app['repos']->get($repositoryName); if ($repository) { $manager = $repository->getConfigManager(); if ($manager) { if ($manager->hasConfigType($configTypeName)) { try { if ($request->query->has('language')) { $language = $request->get('language'); } if ($request->query->has('timeshift')) { $timeshift = (int) $request->get('timeshift'); } $record = $manager->getConfig($configTypeName, $workspace, $language, $timeshift); if ($record) { return $app->json($record); } } catch (RepositoryException $e) { } return self::notFoundError($app, self::CONFIG_NOT_FOUND, $repositoryName, $configTypeName); } else { return self::notFoundError($app, self::UNKNOWN_CONFIGTYPE, $repositoryName, $configTypeName); } } } return self::notFoundError($app, self::UNKNOWN_REPOSITORY, $repositoryName); }
public static function discardRepository(Application $app, Request $request, $repositoryName) { /** @var $manager RepositoryManager */ $manager = $app['repos']; $manager->discardRepository($repositoryName); return $app->json(true); }
public static function deleteFiles(Application $app, Request $request, $repositoryName, $path) { /** @var $repository Repository */ $repository = $app['repos']->get($repositoryName); if ($repository) { /** @var FilesManager $filesManager */ $filesManager = $repository->getFilesManager(); if ($filesManager->deleteFolder($path)) { return $app->json(true); } return $app->json(false); } return self::notFoundError($app, self::UNKNOWN_REPOSITORY, $repositoryName); }
public function __construct(Application $app, Repository $repository, $config) { $this->repository = $repository; $this->adapter = $app->getStorageAdapter($config, $repository->getName()); }
public static function truncate(Application $app, Request $request, $repositoryName, $contentTypeName, $workspace = 'default') { // deprecated, shortcut for reseting a content type if ($request->query->has('global') && $request->query->get('global') == 1) { return $app->json($app['db']->truncateContentType($repositoryName, $contentTypeName)); } $language = 'default'; if ($request->query->has('language')) { $language = $request->get('language'); } /** @var $repository Repository */ $repository = $app['repos']->get($repositoryName); if ($repository) { $manager = $repository->getContentManager($contentTypeName); if ($manager) { $result = $manager->getRecords('default', $workspace, 'id', null, 1, null, null, $language); foreach ($result['records'] as $record) { $manager->deleteRecord($record['id'], $workspace, $language); } } return true; } return false; }
public static function welcome(Application $app) { $result = 'Welcome to AnyContent Repository Server. Please specify desired repository.'; return $app->json($result); }