Initial xentral_oss_20.3.c9ffacf
This commit is contained in:
@@ -0,0 +1,99 @@
|
||||
<?php
|
||||
|
||||
namespace Xentral\Modules\Api\Resource\Result;
|
||||
|
||||
abstract class AbstractResult
|
||||
{
|
||||
const RESULT_TYPE_ITEM = 'item';
|
||||
const RESULT_TYPE_COLLECTION = 'collection';
|
||||
|
||||
/** @var string $type */
|
||||
protected $type;
|
||||
|
||||
/** @var array $data */
|
||||
protected $data;
|
||||
|
||||
/** @var array $pagination */
|
||||
protected $pagination;
|
||||
|
||||
/** @var bool $success Als Kennzeichen ob Anlegen oder Bearbeiten erfolgreich war */
|
||||
protected $success;
|
||||
|
||||
/**
|
||||
* @param array $collection
|
||||
* @param array $pagination
|
||||
*/
|
||||
abstract public function __construct(array $collection, array $pagination = null);
|
||||
|
||||
/**
|
||||
* Ergebnis als Array zurückgeben
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getResult()
|
||||
{
|
||||
$result = [];
|
||||
|
||||
// Success-Flag ganz oben anzeigen
|
||||
if ($this->success !== null) {
|
||||
$result['success'] = $this->success;
|
||||
}
|
||||
|
||||
$result['data'] = $this->getData();
|
||||
|
||||
// Paginierung als letztes anzeigen
|
||||
if ($this->pagination !== null) {
|
||||
$result['pagination'] = $this->pagination;
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
public function getData()
|
||||
{
|
||||
return $this->data;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
public function getPagination()
|
||||
{
|
||||
return $this->pagination;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string [item|collection]
|
||||
*/
|
||||
public function getType()
|
||||
{
|
||||
return $this->type;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param bool $success
|
||||
*/
|
||||
public function setSuccess($success)
|
||||
{
|
||||
$this->success = (bool)$success;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
*/
|
||||
public function isItem()
|
||||
{
|
||||
return $this->type === self::RESULT_TYPE_ITEM;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
*/
|
||||
public function isCollection()
|
||||
{
|
||||
return $this->type === self::RESULT_TYPE_COLLECTION;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user