diff options
Diffstat (limited to 'lib/Controller/ApiPayloadTrait.php')
-rw-r--r-- | lib/Controller/ApiPayloadTrait.php | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/lib/Controller/ApiPayloadTrait.php b/lib/Controller/ApiPayloadTrait.php index 2bb31784e..c40ec9c25 100644 --- a/lib/Controller/ApiPayloadTrait.php +++ b/lib/Controller/ApiPayloadTrait.php @@ -1,8 +1,10 @@ <?php - namespace OCA\News\Controller; +use \OCP\AppFramework\Http; +use \OCP\AppFramework\Http\JSONResponse; + use OCA\News\Db\IAPI; trait ApiPayloadTrait @@ -33,4 +35,37 @@ trait ApiPayloadTrait } return $return; } + + /** + * Serialize an entity + * + * @param IAPI $data + * + * @return array + */ + public function serializeEntityV2($data, bool $reduced = false): array + { + return $data->toAPI2($reduced); + } + + /** + * Serialize array of entities + * + * @param array $data + * + * @return array + */ + public function serializeEntitiesV2($data, bool $reduced = false): array + { + $return = []; + foreach ($data as $entity) { + $return[] = $entity->toAPI2($reduced); + } + return $return; + } + + public function responseV2($data, $code = Http::STATUS_OK) + { + return new JSONResponse($data, $code); + } } |