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);
 }