mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-14 05:23:21 +00:00
Fix unit tests
This commit is contained in:
@@ -9,9 +9,10 @@
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
|
||||
/**
|
||||
*
|
||||
* @package APIv1
|
||||
* @license http://opensource.org/licenses/gpl-3.0 GPLv3
|
||||
* @link www.phraseanet.com
|
||||
*/
|
||||
@@ -28,7 +29,7 @@ interface API_V1_Interface
|
||||
* Parameters :
|
||||
*
|
||||
*/
|
||||
public function get_databoxes(\Symfony\Component\HttpFoundation\Request $request);
|
||||
public function get_databoxes(Request $request);
|
||||
|
||||
/**
|
||||
* Route /databoxes/DATABOX_ID/collections/FORMAT/
|
||||
@@ -38,7 +39,7 @@ interface API_V1_Interface
|
||||
* Parameters ;
|
||||
* DATABOX_ID : required INT
|
||||
*/
|
||||
public function get_databox_collections(\Symfony\Component\HttpFoundation\Request $request, $databox_id);
|
||||
public function get_databox_collections(Request $request, $databox_id);
|
||||
|
||||
/**
|
||||
* Route /databoxes/DATABOX_ID/status/FORMAT/
|
||||
@@ -48,7 +49,7 @@ interface API_V1_Interface
|
||||
* Parameters ;
|
||||
* DATABOX_ID : required INT
|
||||
*/
|
||||
public function get_databox_status(\Symfony\Component\HttpFoundation\Request $request, $databox_id);
|
||||
public function get_databox_status(Request $request, $databox_id);
|
||||
|
||||
/**
|
||||
* Route /databoxes/DATABOX_ID/metadatas/FORMAT/
|
||||
@@ -58,7 +59,7 @@ interface API_V1_Interface
|
||||
* Parameters ;
|
||||
* DATABOX_ID : required INT
|
||||
*/
|
||||
public function get_databox_metadatas(\Symfony\Component\HttpFoundation\Request $request, $databox_id);
|
||||
public function get_databox_metadatas(Request $request, $databox_id);
|
||||
|
||||
/**
|
||||
* Route /databoxes/DATABOX_ID/termsOfUse/FORMAT/
|
||||
@@ -68,7 +69,7 @@ interface API_V1_Interface
|
||||
* Parameters ;
|
||||
* DATABOX_ID : required INT
|
||||
*/
|
||||
public function get_databox_terms(\Symfony\Component\HttpFoundation\Request $request, $databox_id);
|
||||
public function get_databox_terms(Request $request, $databox_id);
|
||||
|
||||
/**
|
||||
* Route : /records/search/FORMAT/
|
||||
@@ -86,7 +87,7 @@ interface API_V1_Interface
|
||||
* Array of record objects
|
||||
*
|
||||
*/
|
||||
public function search_records(\Symfony\Component\HttpFoundation\Request $request);
|
||||
public function search_records(Request $request);
|
||||
|
||||
/**
|
||||
* Route : /records/DATABOX_ID/RECORD_ID/related/FORMAT/
|
||||
@@ -98,7 +99,7 @@ interface API_V1_Interface
|
||||
* RECORD_ID : required INT
|
||||
*
|
||||
*/
|
||||
public function get_record_related(\Symfony\Component\HttpFoundation\Request $request, $databox_id, $record_id);
|
||||
public function get_record_related(Request $request, $databox_id, $record_id);
|
||||
|
||||
/**
|
||||
* Route : /records/DATABOX_ID/RECORD_ID/metadatas/FORMAT/
|
||||
@@ -110,7 +111,7 @@ interface API_V1_Interface
|
||||
* RECORD_ID : required INT
|
||||
*
|
||||
*/
|
||||
public function get_record_metadatas(\Symfony\Component\HttpFoundation\Request $request, $databox_id, $record_id);
|
||||
public function get_record_metadatas(Request $request, $databox_id, $record_id);
|
||||
|
||||
/**
|
||||
* Route : /records/DATABOX_ID/RECORD_ID/status/FORMAT/
|
||||
@@ -122,7 +123,7 @@ interface API_V1_Interface
|
||||
* RECORD_ID : required INT
|
||||
*
|
||||
*/
|
||||
public function get_record_status(\Symfony\Component\HttpFoundation\Request $request, $databox_id, $record_id);
|
||||
public function get_record_status(Request $request, $databox_id, $record_id);
|
||||
|
||||
/**
|
||||
* Route : /records/DATABOX_ID/RECORD_ID/embed/FORMAT/
|
||||
@@ -134,7 +135,7 @@ interface API_V1_Interface
|
||||
* RECORD_ID : required INT
|
||||
*
|
||||
*/
|
||||
public function get_record_embed(\Symfony\Component\HttpFoundation\Request $request, $databox_id, $record_id);
|
||||
public function get_record_embed(Request $request, $databox_id, $record_id);
|
||||
|
||||
/**
|
||||
* Route : /records/DATABOX_ID/RECORD_ID/setmetadatas/FORMAT/
|
||||
@@ -146,7 +147,7 @@ interface API_V1_Interface
|
||||
* RECORD_ID : required INT
|
||||
*
|
||||
*/
|
||||
public function set_record_metadatas(\Symfony\Component\HttpFoundation\Request $request, $databox_id, $record_id);
|
||||
public function set_record_metadatas(Request $request, $databox_id, $record_id);
|
||||
|
||||
/**
|
||||
* Route : /records/DATABOX_ID/RECORD_ID/setstatus/FORMAT/
|
||||
@@ -158,7 +159,7 @@ interface API_V1_Interface
|
||||
* RECORD_ID : required INT
|
||||
*
|
||||
*/
|
||||
public function set_record_status(\Symfony\Component\HttpFoundation\Request $request, $databox_id, $record_id);
|
||||
public function set_record_status(Request $request, $databox_id, $record_id);
|
||||
|
||||
/**
|
||||
* Route : /records/DATABOX_ID/RECORD_ID/setcollection/FORMAT/
|
||||
@@ -170,19 +171,7 @@ interface API_V1_Interface
|
||||
* RECORD_ID : required INT
|
||||
*
|
||||
*/
|
||||
public function set_record_collection(\Symfony\Component\HttpFoundation\Request $request, $databox_id, $record_id);
|
||||
|
||||
/**
|
||||
* Route : /records/DATABOX_ID/RECORD_ID/addtobasket/FORMAT/
|
||||
*
|
||||
* Method : POST
|
||||
*
|
||||
* Parameters :
|
||||
* DATABOX_ID : required INT
|
||||
* RECORD_ID : required INT
|
||||
*
|
||||
*/
|
||||
public function add_record_tobasket(\Symfony\Component\HttpFoundation\Request $request, $databox_id, $record_id);
|
||||
public function set_record_collection(Request $request, $databox_id, $record_id);
|
||||
|
||||
/**
|
||||
* Route : /baskets/list/FORMAT/
|
||||
@@ -192,7 +181,7 @@ interface API_V1_Interface
|
||||
* Parameters :
|
||||
*
|
||||
*/
|
||||
public function search_baskets(\Symfony\Component\HttpFoundation\Request $request);
|
||||
public function search_baskets(Request $request);
|
||||
|
||||
/**
|
||||
* Route : /baskets/add/FORMAT/
|
||||
@@ -202,7 +191,7 @@ interface API_V1_Interface
|
||||
* Parameters :
|
||||
*
|
||||
*/
|
||||
public function create_basket(\Symfony\Component\HttpFoundation\Request $request);
|
||||
public function create_basket(Request $request);
|
||||
|
||||
/**
|
||||
* Route : /baskets/BASKET_ID/delete/FORMAT/
|
||||
@@ -213,7 +202,7 @@ interface API_V1_Interface
|
||||
* BASKET_ID : required INT
|
||||
*
|
||||
*/
|
||||
public function delete_basket(\Symfony\Component\HttpFoundation\Request $request, $basket_id);
|
||||
public function delete_basket(Request $request, $basket_id);
|
||||
|
||||
/**
|
||||
* Route : /baskets/BASKET_ID/content/FORMAT/
|
||||
@@ -224,7 +213,7 @@ interface API_V1_Interface
|
||||
* BASKET_ID : required INT
|
||||
*
|
||||
*/
|
||||
public function get_basket(\Symfony\Component\HttpFoundation\Request $request, $basket_id);
|
||||
public function get_basket(Request $request, $basket_id);
|
||||
|
||||
/**
|
||||
* Route : /baskets/BASKET_ID/title/FORMAT/
|
||||
@@ -235,7 +224,7 @@ interface API_V1_Interface
|
||||
* BASKET_ID : required INT
|
||||
*
|
||||
*/
|
||||
public function set_basket_title(\Symfony\Component\HttpFoundation\Request $request, $basket_id);
|
||||
public function set_basket_title(Request $request, $basket_id);
|
||||
|
||||
/**
|
||||
* Route : /baskets/BASKET_ID/description/FORMAT/
|
||||
@@ -246,7 +235,7 @@ interface API_V1_Interface
|
||||
* BASKET_ID : required INT
|
||||
*
|
||||
*/
|
||||
public function set_basket_description(\Symfony\Component\HttpFoundation\Request $request, $basket_id);
|
||||
public function set_basket_description(Request $request, $basket_id);
|
||||
|
||||
/**
|
||||
* Route : /publications/list/FORMAT/
|
||||
@@ -256,7 +245,7 @@ interface API_V1_Interface
|
||||
* Parameters :
|
||||
*
|
||||
*/
|
||||
public function search_publications(\Symfony\Component\HttpFoundation\Request $request, User_Adapter &$user);
|
||||
public function search_publications(Request $request, User_Adapter &$user);
|
||||
|
||||
/**
|
||||
* Route : /publications/PUBLICATION_ID/remove/FORMAT/
|
||||
@@ -267,7 +256,7 @@ interface API_V1_Interface
|
||||
* PUBLICATION_ID : required INT
|
||||
*
|
||||
*/
|
||||
public function remove_publications(\Symfony\Component\HttpFoundation\Request $request, $publication_id);
|
||||
public function remove_publications(Request $request, $publication_id);
|
||||
|
||||
/**
|
||||
* Route : /publications/PUBLICATION_ID/content/FORMAT/
|
||||
@@ -278,7 +267,7 @@ interface API_V1_Interface
|
||||
* PUBLICATION_ID : required INT
|
||||
*
|
||||
*/
|
||||
public function get_publication(\Symfony\Component\HttpFoundation\Request $request, $publication_id, User_Adapter &$user);
|
||||
public function get_publication(Request $request, $publication_id, User_Adapter &$user);
|
||||
|
||||
/**
|
||||
* Route : /users/search/FORMAT/
|
||||
@@ -288,7 +277,7 @@ interface API_V1_Interface
|
||||
* Parameters :
|
||||
*
|
||||
*/
|
||||
public function search_users(\Symfony\Component\HttpFoundation\Request $request);
|
||||
public function search_users(Request $request);
|
||||
|
||||
/**
|
||||
* Route : /users/USER_ID/access/FORMAT/
|
||||
@@ -299,7 +288,7 @@ interface API_V1_Interface
|
||||
* USER_ID : required INT
|
||||
*
|
||||
*/
|
||||
public function get_user_acces(\Symfony\Component\HttpFoundation\Request $request, $usr_id);
|
||||
public function get_user_acces(Request $request, $usr_id);
|
||||
|
||||
/**
|
||||
* Route : /users/add/FORMAT/
|
||||
@@ -309,9 +298,9 @@ interface API_V1_Interface
|
||||
* Parameters :
|
||||
*
|
||||
*/
|
||||
public function add_user(\Symfony\Component\HttpFoundation\Request $request);
|
||||
public function add_user(Request $request);
|
||||
|
||||
public function get_error_message(\Symfony\Component\HttpFoundation\Request $request, $error, $message);
|
||||
public function get_error_message(Request $request, $error, $message);
|
||||
|
||||
public function get_error_code(\Symfony\Component\HttpFoundation\Request $request, $code);
|
||||
public function get_error_code(Request $request, $code);
|
||||
}
|
||||
|
@@ -695,14 +695,14 @@ class API_V1_adapter extends API_V1_Abstract
|
||||
$app['Core']['EM']->persist($session);
|
||||
$app['Core']['EM']->flush();
|
||||
|
||||
$errors = $output = null;
|
||||
$reasons = $output = null;
|
||||
|
||||
$callback = function($element, $visa, $code) use(&$errors, &$output) {
|
||||
$callback = function($element, $visa, $code) use(&$reasons, &$output) {
|
||||
if ( ! $visa->isValid()) {
|
||||
$errors = array();
|
||||
$reasons = array();
|
||||
|
||||
foreach ($visa->getResponses() as $response) {
|
||||
$errors[] = $response->getMessage();
|
||||
$reasons[] = $response->getMessage();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -726,14 +726,18 @@ class API_V1_adapter extends API_V1_Abstract
|
||||
|
||||
$app['Core']['border-manager']->process($session, $Package, $callback, $behavior);
|
||||
|
||||
$ret = array(
|
||||
'entity' => null,
|
||||
);
|
||||
|
||||
if ($output instanceof \record_adapter) {
|
||||
$ret = $this->list_record($output);
|
||||
$ret['entity'] = '0';
|
||||
$ret['record'] = $this->list_record($output);
|
||||
}
|
||||
if ($output instanceof \Entities\LazaretFile) {
|
||||
$ret = array(
|
||||
'errors' => $errors,
|
||||
'lazaretFile' => $this->list_lazaret_file($output),
|
||||
);
|
||||
$ret['entity'] = '1';
|
||||
$ret['reasons'] = $reasons;
|
||||
$ret['lazaretFile'] = $this->list_lazaret_file($output);
|
||||
}
|
||||
|
||||
$result = new API_V1_result($request, $this);
|
||||
@@ -745,31 +749,23 @@ class API_V1_adapter extends API_V1_Abstract
|
||||
|
||||
protected function list_lazaret_file(\Entities\LazaretFile $file)
|
||||
{
|
||||
$attributes = $checks = array();
|
||||
$checks = array();
|
||||
|
||||
foreach ($file->getAttributes() as $attr) {
|
||||
$attributes[] = array(
|
||||
'name' => $attr->getName(),
|
||||
'value' => $attr->asString(),
|
||||
);
|
||||
if ($file->getChecks()) {
|
||||
foreach ($file->getChecks() as $checker) {
|
||||
|
||||
$checks[] = $checker->getMessage();
|
||||
}
|
||||
}
|
||||
|
||||
foreach ((array) $file->getChecks() as $checker) {
|
||||
|
||||
if ( ! class_exists($checker)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( ! $checker instanceof \Alchemy\Phrasea\Border\Checker\Checker) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$checks[] = $checker::getMessage();
|
||||
$usr_id = null;
|
||||
if ($file->getSession()->getUser()) {
|
||||
$usr_id = $file->getSession()->getUser()->get_id();
|
||||
}
|
||||
|
||||
$session = array(
|
||||
'id' => $file->getSession()->getId(),
|
||||
'usr_id' => $file->getSession()->getUsrId(),
|
||||
'usr_id' => $usr_id,
|
||||
);
|
||||
|
||||
return array(
|
||||
@@ -780,7 +776,6 @@ class API_V1_adapter extends API_V1_Abstract
|
||||
'sha256' => $file->getSha256(),
|
||||
'uuid' => $file->getUuid(),
|
||||
'forced' => $file->getForced(),
|
||||
'attributes' => $attributes,
|
||||
'checks' => $checks,
|
||||
'created_on' => $file->getCreated()->format(DATE_ATOM),
|
||||
'updated_on' => $file->getUpdated()->format(DATE_ATOM),
|
||||
@@ -1151,18 +1146,6 @@ class API_V1_adapter extends API_V1_Abstract
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @todo
|
||||
*
|
||||
* @param Request $request
|
||||
* @param int $databox_id
|
||||
* @param int $record_id
|
||||
*/
|
||||
public function add_record_tobasket(Request $request, $databox_id, $record_id)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the baskets list of the authenticated user
|
||||
*
|
||||
@@ -1344,9 +1327,9 @@ class API_V1_adapter extends API_V1_Abstract
|
||||
}
|
||||
}
|
||||
|
||||
$ret['choices'] = $choices();
|
||||
$ret['agreement'] = $agreement();
|
||||
$ret['note'] = $note();
|
||||
$ret['choices'] = $choices;
|
||||
$ret['agreement'] = $agreement;
|
||||
$ret['note'] = $note;
|
||||
}
|
||||
|
||||
return $ret;
|
||||
@@ -1489,6 +1472,48 @@ class API_V1_adapter extends API_V1_Abstract
|
||||
return $result;
|
||||
}
|
||||
|
||||
public function get_publications(Request $request, User_Adapter &$user)
|
||||
{
|
||||
$result = new API_V1_result($request, $this);
|
||||
|
||||
$feed = Feed_Aggregate::load_with_user($this->appbox, $user);
|
||||
|
||||
$offset_start = (int) ($request->get('offset_start') ? : 0);
|
||||
$per_page = (int) ($request->get('per_page') ? : 5);
|
||||
|
||||
$per_page = (($per_page >= 1) && ($per_page <= 20)) ? $per_page : 5;
|
||||
|
||||
$datas = array(
|
||||
'feed' => $this->list_aggregate_publications($feed, $user),
|
||||
'offset_start' => $offset_start,
|
||||
'per_page' => $per_page,
|
||||
'entries' => $this->list_publications_entries($feed, $offset_start, $per_page),
|
||||
);
|
||||
|
||||
$result->set_datas($datas);
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
public function get_feed_entry(Request $request, $entry, User_Adapter &$user)
|
||||
{
|
||||
$result = new API_V1_result($request, $this);
|
||||
|
||||
$entry = Feed_Entry_Adapter::load_from_id($this->appbox, $id);
|
||||
|
||||
if ( ! $user->ACL()->has_access_to_base($entry->get_feed()->get_collection()->get_base_id())) {
|
||||
throw new \API_V1_exception_forbidden('You have not access to the parent feed');
|
||||
}
|
||||
|
||||
$datas = array(
|
||||
'entry' => $this->list_publication_entry($entry),
|
||||
);
|
||||
|
||||
$result->set_datas($datas);
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve detailled informations about one feed
|
||||
*
|
||||
@@ -1511,6 +1536,13 @@ class API_V1_adapter extends API_V1_Abstract
|
||||
);
|
||||
}
|
||||
|
||||
protected function list_aggregate_publications(Feed_Aggregate $feed, $user)
|
||||
{
|
||||
return array(
|
||||
'total_entries' => $feed->get_count_total_entries(),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve all entries of one feed
|
||||
*
|
||||
@@ -1519,7 +1551,7 @@ class API_V1_adapter extends API_V1_Abstract
|
||||
* @param int $how_many
|
||||
* @return array
|
||||
*/
|
||||
protected function list_publications_entries(Feed_Adapter $feed, $offset_start = 0, $how_many = 5)
|
||||
protected function list_publications_entries(Feed_Abstract $feed, $offset_start = 0, $how_many = 5)
|
||||
{
|
||||
|
||||
$entries = $feed->get_entries($offset_start, $how_many)->get_entries();
|
||||
@@ -1556,6 +1588,7 @@ class API_V1_adapter extends API_V1_Abstract
|
||||
'title' => $entry->get_title(),
|
||||
'subtitle' => $entry->get_subtitle(),
|
||||
'items' => $items,
|
||||
'url' => '/feeds/entry/' . $entry->getId() . '/',
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1692,11 +1725,6 @@ class API_V1_adapter extends API_V1_Abstract
|
||||
*/
|
||||
protected function list_record_caption_field(caption_Field_Value $value, caption_field $field)
|
||||
{
|
||||
/**
|
||||
* @todo ajouter une option pour avoir les values serialisées
|
||||
* dans un cas multi
|
||||
*/
|
||||
|
||||
return array(
|
||||
'meta_id' => $value->getId(),
|
||||
'meta_structure_id' => $field->get_meta_struct_id(),
|
||||
|
Reference in New Issue
Block a user