From 251943ff8194351d2074a758ed02117302abd1f4 Mon Sep 17 00:00:00 2001 From: Paul Barrett Date: Fri, 26 Feb 2010 16:14:30 +0200 Subject: [PATCH] Remove unnecessary webservice level classes --- lib/api/ktcmis/services/CMISVersioningService.inc.php | 9 +++++---- webservice/atompub/cmis/KT_cmis_atom_server.services.inc.php | 126 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------- webservice/atompub/cmis/KT_cmis_atom_service_helper.inc.php | 33 ++++++++++++++++++++------------- webservice/classes/atompub/KT_atom_serviceDoc.inc.php | 6 ------ webservice/classes/atompub/cmis/KT_cmis_atom_server.inc.php | 12 +++++++++--- webservice/classes/atompub/cmis/KT_cmis_atom_serviceDoc.inc.php | 12 +++++++++--- 6 files changed, 112 insertions(+), 86 deletions(-) diff --git a/lib/api/ktcmis/services/CMISVersioningService.inc.php b/lib/api/ktcmis/services/CMISVersioningService.inc.php index 8507255..3f21168 100644 --- a/lib/api/ktcmis/services/CMISVersioningService.inc.php +++ b/lib/api/ktcmis/services/CMISVersioningService.inc.php @@ -201,8 +201,9 @@ class CMISVersioningService { public function checkIn($repositoryId, $objectId, $major = true, $properties = array(), $contentStream = null, $checkinComment = '', $policies = array(), $addACEs = array(), $removeACEs = array()) { + $objectId = CMISUtil::decodeObjectId($objectId, $typeId); - + // throw updateConflictException if the operation is attempting to update an object that is no longer current (as determined by the repository). try { $pwc = new CMISDocumentObject($objectId, $this->ktapi); @@ -210,7 +211,7 @@ class CMISVersioningService { catch (exception $e) { throw new UpdateConflictException($e->getMessage()); } - + // throw exception if the object is not versionable if (!$pwc->getAttribute('versionable')) { throw new ConstraintViolationException('This document is not versionable and may not be checked in'); @@ -224,7 +225,7 @@ class CMISVersioningService { // if we can't get the type definition, then we can't store the content throw new StorageException($e->getMessage()); } - + // if content stream is required (capabilityPWCUpdatability == false) and no content stream is supplied, // throw a ConstraintViolationException if (($typeDefinition['attributes']['contentStreamAllowed'] == 'required') && is_null($contentStream)) { @@ -244,7 +245,7 @@ class CMISVersioningService { $tempfilename = CMISUtil::createTemporaryFile($contentStream); $reason = 'CMIS object checkin'; $response = $this->ktapi->checkin_document($objectId, $pwc->getProperty('contentStreamFilename'), $reason, $tempfilename, $major, - $sig_username, $sig_password); + $sig_username, $sig_password); // if there was any error checking in if ($response['status_code'] == 1) { diff --git a/webservice/atompub/cmis/KT_cmis_atom_server.services.inc.php b/webservice/atompub/cmis/KT_cmis_atom_server.services.inc.php index ff7242c..d9c7087 100644 --- a/webservice/atompub/cmis/KT_cmis_atom_server.services.inc.php +++ b/webservice/atompub/cmis/KT_cmis_atom_server.services.inc.php @@ -31,15 +31,12 @@ When POSTing an Atom Document, the atom fields take precedence over the CMIS pro */ // load all available CMIS services -include_once CMIS_ATOM_LIB_FOLDER . 'RepositoryService.inc.php'; -include_once CMIS_ATOM_LIB_FOLDER . 'NavigationService.inc.php'; -include_once CMIS_ATOM_LIB_FOLDER . 'ObjectService.inc.php'; +include_once CMIS_API . '/ktRepositoryService.inc.php'; +include_once CMIS_API . '/ktNavigationService.inc.php'; +include_once CMIS_API . '/ktObjectService.inc.php'; include_once CMIS_API . '/ktVersioningService.inc.php'; include_once 'KT_cmis_atom_service_helper.inc.php'; -// TODO consider changing all responses from the webservice layer to return PEAR errors or success results instead of the half/half we have at the moment. -// the half/half occurred because on initial services PEAR Error seemed unnecessary, but it has proven useful for some of the newer functions - // TODO proper first/last links // FIXME any incorrect or missing links // FIXME ContentStreamAllowed tag is empty (at least sometimes) @@ -75,14 +72,17 @@ class KT_cmis_atom_service_folder extends KT_cmis_atom_service { else if (($this->params[1] == 'children') || ($this->params[1] == 'descendants')) { $folderId = $this->params[0]; - $ObjectService = new ObjectService(KT_cmis_atom_service_helper::getKt()); + $ObjectService = new KTObjectService(KT_cmis_atom_service_helper::getKt()); $response = $ObjectService->getProperties($repositoryId, $folderId, false, false); - if (PEAR::isError($response)) { - $feed = KT_cmis_atom_service_helper::getErrorFeed($this, KT_cmis_atom_service::STATUS_SERVER_ERROR, $response->getMessage()); + if ($response['status_code'] == 1) { + $feed = KT_cmis_atom_service_helper::getErrorFeed($this, KT_cmis_atom_service::STATUS_SERVER_ERROR, $response['message']); $this->responseFeed = $feed; return null; } + else { + $response = $response['results']; + } $folderName = $response['properties']['Name']['value']; } @@ -94,14 +94,17 @@ class KT_cmis_atom_service_folder extends KT_cmis_atom_service { // abstract this to be used also by the document service (and the PWC service?) ??? // alternatively use getFolderParent here makes sense and use getObjectParents when document service? $folderId = $this->params[0]; - $NavigationService = new NavigationService(KT_cmis_atom_service_helper::getKt()); + $NavigationService = new KTNavigationService(KT_cmis_atom_service_helper::getKt()); $response = $NavigationService->getFolderParent($repositoryId, $folderId, false, false, false); - if (PEAR::isError($response)) { - $feed = KT_cmis_atom_service_helper::getErrorFeed($this, KT_cmis_atom_service::STATUS_SERVER_ERROR, $response->getMessage()); + if ($response['status_code'] == 1) { + $feed = KT_cmis_atom_service_helper::getErrorFeed($this, KT_cmis_atom_service::STATUS_SERVER_ERROR, $response['message']); $this->responseFeed = $feed; return null; } + else { + $response = $response['results']; + } // we know that a folder will only have one parent, so we can assume element 0 $folderId = $response[0]['properties']['objectId']['value']; @@ -113,12 +116,12 @@ class KT_cmis_atom_service_folder extends KT_cmis_atom_service { if (!empty($this->params[1]) && (($this->params[1] == 'children') || ($this->params[1] == 'descendants'))) { - $NavigationService = new NavigationService(KT_cmis_atom_service_helper::getKt()); + $NavigationService = new KTNavigationService(KT_cmis_atom_service_helper::getKt()); $feed = $this->getFolderChildrenFeed($NavigationService, $repositoryId, $folderId, $folderName, $this->params[1]); } else { - $ObjectService = new ObjectService(KT_cmis_atom_service_helper::getKt()); + $ObjectService = new KTObjectService(KT_cmis_atom_service_helper::getKt()); $feed = KT_cmis_atom_service_helper::getObjectFeed($this, $ObjectService, $repositoryId, $folderId); } @@ -175,7 +178,7 @@ class KT_cmis_atom_service_folder extends KT_cmis_atom_service { // determine type if object is being moved if (!is_null($objectId)) { - CMISUtil::decodeObjectId($objectId, $cmisObjectProperties['cmis:objectTypeId']); + CMISUtil::decodeObjectId($objectId, $typeId); } // check for content stream @@ -187,22 +190,26 @@ class KT_cmis_atom_service_folder extends KT_cmis_atom_service { ? $content['cmisra:text'] : null)); - $ObjectService = new ObjectService(KT_cmis_atom_service_helper::getKt()); + $ObjectService = new KTObjectService(KT_cmis_atom_service_helper::getKt()); $success = false; $error = null; if ($action == 'create') { // TODO detection and passing of optional parameters (policies, ACEs, etc...) as well as support for other object-types - if ($cmisObjectProperties['cmis:objectTypeId'] == 'folder') - $newObjectId = $ObjectService->createFolder($repositoryId, ucwords($cmisObjectProperties['cmis:objectTypeId']), $properties, $folderId); - else + if ($cmisObjectProperties['cmis:objectTypeId'] == 'folder') { + $newObjectId = $ObjectService->createFolder($repositoryId, ucwords($cmisObjectProperties['cmis:objectTypeId']), + $properties, $folderId); + } + else { // NOTE for the moment only creation in minor versioning state $newObjectId = $ObjectService->createDocument($repositoryId, $properties, $folderId, $cmisContent, 'minor'); + } - if (!PEAR::isError($newObjectId)) { + if ($newObjectId['status_code'] == 0) { + $newObjectId = $newObjectId['results']; // check if returned Object Id is a valid CMIS Object Id - CMISUtil::decodeObjectId($newObjectId, $cmisObjectProperties['cmis:objectTypeId']); + CMISUtil::decodeObjectId($newObjectId, $typeId); if ($typeId != 'Unknown') { $success = true; } @@ -211,18 +218,18 @@ class KT_cmis_atom_service_folder extends KT_cmis_atom_service { } } else { - $error = $newObjectId->getMessage(); + $error = $newObjectId['message']; } } else if ($action == 'move') { $response = $ObjectService->moveObject($repositoryId, $objectId, '', $folderId); - if (!PEAR::isError($response)) { + if ($response['status_code'] == 0) { $success = true; } else { - $error = $response->getMessage(); + $error = $response['message']; } // same object as before @@ -258,19 +265,21 @@ class KT_cmis_atom_service_folder extends KT_cmis_atom_service { $repositoryId = KT_cmis_atom_service_helper::getRepositoryId($RepositoryService); - $ObjectService = new ObjectService(KT_cmis_atom_service_helper::getKt()); + $ObjectService = new KTObjectService(KT_cmis_atom_service_helper::getKt()); // attempt delete $response = $ObjectService->deleteTree($repositoryId, $this->params[0]); // error? - if (PEAR::isError($response)) - { - $feed = KT_cmis_atom_service_helper::getErrorFeed($this, self::STATUS_SERVER_ERROR, $response->getMessage()); + if ($response['status_code'] == 1) { + $feed = KT_cmis_atom_service_helper::getErrorFeed($this, self::STATUS_SERVER_ERROR, $response['message']); // Expose the responseFeed $this->responseFeed = $feed; return null; } + else { + $response = $response['results']; + } // list of failed objects? if (is_array($response)) @@ -322,6 +331,9 @@ class KT_cmis_atom_service_folder extends KT_cmis_atom_service { else { // error, we shouldn't be here, if we are then the wrong service/function was called } + + // hack, for removing one level of access + $entries = $entries['results']; // $baseURI=NULL,$title=NULL,$link=NULL,$updated=NULL,$author=NULL,$id=NULL $feed = new KT_cmis_atom_responseFeed_GET(CMIS_APP_BASE_URI); @@ -350,12 +362,8 @@ class KT_cmis_atom_service_folder extends KT_cmis_atom_service { $link->appendChild($feed->newAttr('href', CMIS_APP_BASE_URI . $workspace . '/folder/' . $folderId)); $feed->appendChild($link); - foreach($entries as $cmisEntry) - { + foreach($entries as $cmisEntry) { KT_cmis_atom_service_helper::createObjectEntry($feed, $cmisEntry, $folderName); - - // after each entry, add app:edited tag - $feed->newField('app:edited', KT_cmis_atom_service_helper::formatDatestamp(), $feed); } $feed->newField('cmis:hasMoreItems', 'false', $feed); @@ -379,7 +387,7 @@ class KT_cmis_atom_service_document extends KT_cmis_atom_service { { $repositoryId = KT_cmis_atom_service_helper::getRepositoryId($RepositoryService); - $ObjectService = new ObjectService(KT_cmis_atom_service_helper::getKt()); + $ObjectService = new KTObjectService(KT_cmis_atom_service_helper::getKt()); $objectId = $this->params[0]; @@ -392,11 +400,14 @@ class KT_cmis_atom_service_document extends KT_cmis_atom_service { $NavigationService = new NavigationService(KT_cmis_atom_service_helper::getKt()); $response = $NavigationService->getObjectParents($repositoryId, $objectId, false, false); - if (PEAR::isError($response)) { - $feed = KT_cmis_atom_service_helper::getErrorFeed($this, KT_cmis_atom_service::STATUS_SERVER_ERROR, $response->getMessage()); + if ($response['status_code'] == 1) { + $feed = KT_cmis_atom_service_helper::getErrorFeed($this, KT_cmis_atom_service::STATUS_SERVER_ERROR, $response['message']); $this->responseFeed = $feed; return null; } + else { + $response = $response['results']; + } // for now a document will only have one parent as KnowledgeTree does not support multi-filing // TODO update this code if/when multi-filing support is added @@ -435,10 +446,8 @@ class KT_cmis_atom_service_document extends KT_cmis_atom_service { // attempt delete $response = $VersioningService->deleteAllVersions($repositoryId, $this->params[0]); - // error? - if (PEAR::isError($response)) - { - $feed = KT_cmis_atom_service_helper::getErrorFeed($this, self::STATUS_SERVER_ERROR, $response->getMessage()); + if ($response['status_code'] == 1) { + $feed = KT_cmis_atom_service_helper::getErrorFeed($this, self::STATUS_SERVER_ERROR, $response['message']); // Expose the responseFeed $this->responseFeed = $feed; return null; @@ -462,7 +471,7 @@ class KT_cmis_atom_service_pwc extends KT_cmis_atom_service { { $repositoryId = KT_cmis_atom_service_helper::getRepositoryId($RepositoryService); - $ObjectService = new ObjectService(KT_cmis_atom_service_helper::getKt()); + $ObjectService = new KTObjectService(KT_cmis_atom_service_helper::getKt()); // determine whether we want the Private Working Copy entry feed or the actual physical Private Working Copy content. // this depends on $this->params[1] @@ -489,10 +498,9 @@ class KT_cmis_atom_service_pwc extends KT_cmis_atom_service { { // call the cancel checkout function - $repositoryId = KT_cmis_atom_service_helper::getRepositoryId($RepositoryService); - + $repositoryId = KT_cmis_atom_service_helper::getRepositoryId($RepositoryService); $VersioningService = new KTVersioningService(KT_cmis_atom_service_helper::getKt()); - + $response = $VersioningService->cancelCheckout($repositoryId, $this->params[0]); if ($response['status_code'] == 1) { @@ -510,7 +518,7 @@ class KT_cmis_atom_service_pwc extends KT_cmis_atom_service { { $repositoryId = KT_cmis_atom_service_helper::getRepositoryId($RepositoryService); $VersioningService = new KTVersioningService(KT_cmis_atom_service_helper::getKt()); - $ObjectService = new ObjectService(KT_cmis_atom_service_helper::getKt()); + $ObjectService = new KTObjectService(KT_cmis_atom_service_helper::getKt()); // get object properties $cmisObjectProperties = KT_cmis_atom_service_helper::getCmisProperties($this->rawContent); @@ -568,10 +576,12 @@ class KT_cmis_atom_service_checkedout extends KT_cmis_atom_service { public function GET_action() { $repositoryId = KT_cmis_atom_service_helper::getRepositoryId($RepositoryService); - - $NavigationService = new NavigationService(KT_cmis_atom_service_helper::getKt()); + $NavigationService = new KTNavigationService(KT_cmis_atom_service_helper::getKt()); $checkedout = $NavigationService->getCheckedOutDocs($repositoryId); + + // hack, for removing one level of access + $checkedout = $checkedout['results']; //Create a new response feed $feed = new KT_cmis_atom_responseFeed_GET(CMIS_APP_BASE_URI); @@ -607,12 +617,8 @@ class KT_cmis_atom_service_checkedout extends KT_cmis_atom_service { $link->appendChild($feed->newAttr('type', 'application/atom+xml;type=feed')); $feed->appendChild($link); - foreach($checkedout as $cmisEntry) - { + foreach($checkedout as $cmisEntry) { KT_cmis_atom_service_helper::createObjectEntry($feed, $cmisEntry, $folderName, true); - -// // after each entry, add app:edited tag -// $feed->newField('app:edited', KT_cmis_atom_service_helper::formatDatestamp(), $feed); } $feed->newField('cmis:hasMoreItems', 'false', $feed); @@ -624,9 +630,8 @@ class KT_cmis_atom_service_checkedout extends KT_cmis_atom_service { public function POST_action() { $repositoryId = KT_cmis_atom_service_helper::getRepositoryId($RepositoryService); - $VersioningService = new KTVersioningService(KT_cmis_atom_service_helper::getKt()); - $ObjectService = new ObjectService(KT_cmis_atom_service_helper::getKt()); + $ObjectService = new KTObjectService(KT_cmis_atom_service_helper::getKt()); $cmisObjectProperties = KT_cmis_atom_service_helper::getCmisProperties($this->rawContent); @@ -664,10 +669,14 @@ class KT_cmis_atom_service_types extends KT_cmis_atom_service { public function GET_action() { - $RepositoryService = new RepositoryService(); + $RepositoryService = new KTRepositoryService(); $repositoryId = KT_cmis_atom_service_helper::getRepositoryId($RepositoryService); $types = $RepositoryService->getTypes($repositoryId); + + // hack for removing one level of access + $types = $types['results']; + $type = ((empty($this->params[0])) ? 'all' : $this->params[0]); $feed = KT_cmis_atom_service_helper::getTypeFeed($type, $types); @@ -684,7 +693,7 @@ class KT_cmis_atom_service_type extends KT_cmis_atom_service { public function GET_action() { - $RepositoryService = new RepositoryService(); + $RepositoryService = new KTRepositoryService(); $repositoryId = KT_cmis_atom_service_helper::getRepositoryId($RepositoryService); if (!isset($this->params[1])) { @@ -696,6 +705,10 @@ class KT_cmis_atom_service_type extends KT_cmis_atom_service { // call directly from here rather than via getTypeFeed. $type = ucwords($this->params[0]); $types = $RepositoryService->getTypes($repositoryId, $type); + + // hack for removing one level of access + $types = $types['results']; + $feed = KT_cmis_atom_service_helper::getTypeFeed($type, $types); } else { @@ -720,7 +733,6 @@ class KT_cmis_atom_service_type extends KT_cmis_atom_service { private function getTypeChildrenFeed() { //Create a new response feed - // $baseURI=NULL,$title=NULL,$link=NULL,$updated=NULL,$author=NULL,$id=NULL $feed = new KT_cmis_atom_responseFeed_GET(CMIS_APP_BASE_URI); $feed->newField('title', 'Child Types of ' . ucwords($this->params[0]), $feed); diff --git a/webservice/atompub/cmis/KT_cmis_atom_service_helper.inc.php b/webservice/atompub/cmis/KT_cmis_atom_service_helper.inc.php index 4373f61..0ce0805 100644 --- a/webservice/atompub/cmis/KT_cmis_atom_service_helper.inc.php +++ b/webservice/atompub/cmis/KT_cmis_atom_service_helper.inc.php @@ -16,11 +16,14 @@ class KT_cmis_atom_service_helper { static public function setRepositoryId(&$RepositoryService = null) { if (is_null($RepositoryService)) { - $RepositoryService = new RepositoryService(); + $RepositoryService = new KTRepositoryService(); } $repositories = $RepositoryService->getRepositories(); + // hack for removing one level of access + $repositories = $repositories['results']; + // TODO handle multiple repositories self::$repositoryId = $repositories[0]['repositoryId']; } @@ -60,11 +63,11 @@ class KT_cmis_atom_service_helper { $serviceType = $service->getServiceType(); $response = $ObjectService->getProperties($repositoryId, $objectId, false, false); - if (PEAR::isError($response)) { - return KT_cmis_atom_service_helper::getErrorFeed($service, KT_cmis_atom_service::STATUS_SERVER_ERROR, $response->getMessage()); + if ($response['status_code'] == 1) { + return KT_cmis_atom_service_helper::getErrorFeed($service, KT_cmis_atom_service::STATUS_SERVER_ERROR, $response['message']); } - - $cmisEntry = $response; + + $cmisEntry = $response['results']; $response = null; // POST/PWC responses only send back an entry, not a feed @@ -84,11 +87,6 @@ class KT_cmis_atom_service_helper { if ($serviceType == 'PWC') $pwc = true; else $pwc = false; KT_cmis_atom_service_helper::createObjectEntry($response, $cmisEntry, $cmisEntry['properties']['parentId']['value'], $pwc, $method); - - // Don't think this should be here...only one item so why would we need to say there are no more? - /*if ($method == 'GET') { - $response->newField('cmis:hasMoreItems', 'false', $response); - }*/ return $response; } @@ -639,12 +637,15 @@ class KT_cmis_atom_service_helper { static public function getContentStream(&$service, &$ObjectService, $repositoryId) { $response = $ObjectService->getProperties($repositoryId, $service->params[0], false, false); - if (PEAR::isError($response)) { + if ($response['status_code'] == 1) { return null; } $contentStream = $ObjectService->getContentStream($repositoryId, $service->params[0]); + // hack for removing one level of access + $contentStream = $contentStream['results']; + return $contentStream; } /** @@ -657,11 +658,14 @@ class KT_cmis_atom_service_helper { static public function downloadContentStream(&$service, &$ObjectService, $repositoryId) { $response = $ObjectService->getProperties($repositoryId, $service->params[0], false, false); - if (PEAR::isError($response)) { - $feed = KT_cmis_atom_service_helper::getErrorFeed($service, KT_cmis_atom_service::STATUS_SERVER_ERROR, $response->getMessage()); + if ($response['status_code'] == 1) { + $feed = KT_cmis_atom_service_helper::getErrorFeed($service, KT_cmis_atom_service::STATUS_SERVER_ERROR, $response['message']); $service->responseFeed = $feed; return null; } + else { + $response = $response['results']; + } // TODO also check If-Modified-Since? // $service->headers['If-Modified-Since'] => 2009-07-24 17:16:54 @@ -678,6 +682,9 @@ class KT_cmis_atom_service_helper { $contentStream = $ObjectService->getContentStream($repositoryId, $service->params[0]); + // hack for removing one level of access + $contentStream = $contentStream['results']; + // headers specific to output $service->setEtag($eTag); $service->setHeader('Last-Modified', $response['properties']['lastModificationDate']['value']); diff --git a/webservice/classes/atompub/KT_atom_serviceDoc.inc.php b/webservice/classes/atompub/KT_atom_serviceDoc.inc.php index bd7fe3c..1d2fe14 100644 --- a/webservice/classes/atompub/KT_atom_serviceDoc.inc.php +++ b/webservice/classes/atompub/KT_atom_serviceDoc.inc.php @@ -43,7 +43,6 @@ */ include_once('KT_atom_baseDoc.inc.php'); - class KT_atom_serviceDoc extends KT_atom_baseDoc { protected $baseURI=NULL; @@ -97,11 +96,6 @@ class KT_atom_serviceDoc extends KT_atom_baseDoc { - - - - - /** diff --git a/webservice/classes/atompub/cmis/KT_cmis_atom_server.inc.php b/webservice/classes/atompub/cmis/KT_cmis_atom_server.inc.php index be3f2da..94035b6 100644 --- a/webservice/classes/atompub/cmis/KT_cmis_atom_server.inc.php +++ b/webservice/classes/atompub/cmis/KT_cmis_atom_server.inc.php @@ -1,7 +1,7 @@ getRepositories(); + + // hack for removing one level of access + $repositories = $repositories['results']; + // fetch for default first repo; NOTE that this will probably have to change at some point, quick and dirty for now - $this->repositoryInfo = $RepositoryService->getRepositoryInfo($repositories[0]['repositoryId']); + // hack for removing one level of access + $repositoryInfo = $RepositoryService->getRepositoryInfo($repositories[0]['repositoryId']); + $this->repositoryInfo = $repositoryInfo['results']; } } diff --git a/webservice/classes/atompub/cmis/KT_cmis_atom_serviceDoc.inc.php b/webservice/classes/atompub/cmis/KT_cmis_atom_serviceDoc.inc.php index 2e9a0b4..3cf8c2b 100644 --- a/webservice/classes/atompub/cmis/KT_cmis_atom_serviceDoc.inc.php +++ b/webservice/classes/atompub/cmis/KT_cmis_atom_serviceDoc.inc.php @@ -43,7 +43,7 @@ * Includes */ include_once(KT_ATOM_LIB_FOLDER.'KT_atom_serviceDoc.inc.php'); -require_once('RepositoryService.inc.php'); +require_once(CMIS_API . '/ktRepositoryService.inc.php'); class KT_cmis_atom_serviceDoc extends KT_atom_serviceDoc { @@ -58,12 +58,18 @@ class KT_cmis_atom_serviceDoc extends KT_atom_serviceDoc { // get repositoryInfo // NOTE currently we only support one repository, which will be the first one found in the repositories.xml config // TODO multiple repositories as individual workspaces - $RepositoryService = new RepositoryService(); + $RepositoryService = new KTRepositoryService(); // fetch data for response $repositories = $RepositoryService->getRepositories(); + + // hack for removing one level of access + $repositories = $repositories['results']; + // fetch for default first repo; NOTE that this will probably have to change at some point, quick and dirty for now - $this->repositoryInfo = $RepositoryService->getRepositoryInfo($repositories[0]['repositoryId']); + // hack for removing one level of access + $repositoryInfo = $RepositoryService->getRepositoryInfo($repositories[0]['repositoryId']); + $this->repositoryInfo = $repositoryInfo['results']; } protected function constructServiceDocumentHeaders() -- libgit2 0.21.4