Skip to content

Commit

Permalink
Merge a6caa37 into 89c555a
Browse files Browse the repository at this point in the history
  • Loading branch information
fcastilloes committed Nov 30, 2017
2 parents 89c555a + a6caa37 commit 2af9ea8
Show file tree
Hide file tree
Showing 3 changed files with 67 additions and 30 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Expand Up @@ -9,6 +9,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
## Added
- Tags in ActionSchema
- Entity name in ActionSchema
## Changed
- Removed empty elements from transport writes

## [1.2.8] - 2017-11-07
## Changed
Expand Down
47 changes: 32 additions & 15 deletions src/Mapper/CompactTransportMapper.php
Expand Up @@ -88,13 +88,27 @@ public function writeTransport(Transport $transport)
{
$output = [];
$output = $this->writeTransportMeta($transport->getMeta(), $output);
$output = $this->writeTransportFiles($transport->getFiles(), $output);
$output = $this->writeTransportData($transport->getData(), $output);
$output = $this->writeTransportRelations($transport->getRelations(), $output);
$output = $this->writeTransportLinks($transport->getLinks(), $output);
$output = $this->writeTransportCalls($transport->getCalls(), $output);
$output = $this->writeTransportTransactions($transport->getTransactions(), $output);
$output = $this->writeTransportErrors($transport->getErrors(), $output);
if ($transport->getFiles()->getAll()) {
$output = $this->writeTransportFiles($transport->getFiles(), $output);
}
if ($transport->getData()->get()) {
$output = $this->writeTransportData($transport->getData(), $output);
}
if ($transport->getRelations()->get()) {
$output = $this->writeTransportRelations($transport->getRelations(), $output);
}
if ($transport->getLinks()->get()) {
$output = $this->writeTransportLinks($transport->getLinks(), $output);
}
if ($transport->getCalls()->get()) {
$output = $this->writeTransportCalls($transport->getCalls(), $output);
}
if ($transport->getTransactions()->get()) {
$output = $this->writeTransportTransactions($transport->getTransactions(), $output);
}
if ($transport->getErrors()->get()) {
$output = $this->writeTransportErrors($transport->getErrors(), $output);
}
if ($transport->hasBody()) {
$output = $this->writeTransportBody($transport->getBody(), $output);
}
Expand Down Expand Up @@ -459,9 +473,6 @@ public function writeTransportTransactions(TransportTransactions $transactions,

if ($transaction->getParams()) {
$transactionData['p'] = array_map([$this, 'writeParam'], $transaction->getParams());
} else {
// todo: remove when katana makes parameters optional
$transactionData['p'] = [];
}

$type = [
Expand Down Expand Up @@ -517,11 +528,17 @@ public function getTransportErrors(array $raw)
public function writeTransportErrors(TransportErrors $errors, array $output)
{
foreach ($errors->get() as $error) {
$output['e'][$error->getAddress()][$error->getService()][$error->getVersion()][] = [
'm' => $error->getMessage(),
'c' => $error->getCode(),
's' => $error->getStatus(),
];
$errorData = [];
if ($error->getMessage()) {
$errorData['m'] = $error->getMessage();
}
if ($error->getCode()) {
$errorData['c'] = $error->getCode();
}
if ($error->getStatus()) {
$errorData['s'] = $error->getStatus();
}
$output['e'][$error->getAddress()][$error->getService()][$error->getVersion()][] = $errorData;
}

return $output;
Expand Down
48 changes: 33 additions & 15 deletions src/Mapper/ExtendedTransportMapper.php
Expand Up @@ -88,13 +88,28 @@ public function writeTransport(Transport $transport)
{
$output = [];
$output = $this->writeTransportMeta($transport->getMeta(), $output);
$output = $this->writeTransportFiles($transport->getFiles(), $output);
$output = $this->writeTransportData($transport->getData(), $output);
$output = $this->writeTransportRelations($transport->getRelations(), $output);
$output = $this->writeTransportLinks($transport->getLinks(), $output);
$output = $this->writeTransportCalls($transport->getCalls(), $output);
$output = $this->writeTransportTransactions($transport->getTransactions(), $output);
$output = $this->writeTransportErrors($transport->getErrors(), $output);

if ($transport->getFiles()->getAll()) {
$output = $this->writeTransportFiles($transport->getFiles(), $output);
}
if ($transport->getData()->get()) {
$output = $this->writeTransportData($transport->getData(), $output);
}
if ($transport->getRelations()->get()) {
$output = $this->writeTransportRelations($transport->getRelations(), $output);
}
if ($transport->getLinks()->get()) {
$output = $this->writeTransportLinks($transport->getLinks(), $output);
}
if ($transport->getCalls()->get()) {
$output = $this->writeTransportCalls($transport->getCalls(), $output);
}
if ($transport->getTransactions()->get()) {
$output = $this->writeTransportTransactions($transport->getTransactions(), $output);
}
if ($transport->getErrors()->get()) {
$output = $this->writeTransportErrors($transport->getErrors(), $output);
}
if ($transport->hasBody()) {
$output = $this->writeTransportBody($transport->getBody(), $output);
}
Expand Down Expand Up @@ -439,9 +454,6 @@ public function writeTransportTransactions(TransportTransactions $transactions,

if ($transaction->getParams()) {
$transactionData['params'] = array_map([$this, 'writeParam'], $transaction->getParams());
} else {
// todo: remove when katana makes parameters optional
$transactionData['params'] = [];
}

$type = $transaction->getType();
Expand Down Expand Up @@ -490,11 +502,17 @@ public function getTransportErrors(array $raw)
public function writeTransportErrors(TransportErrors $errors, array $output)
{
foreach ($errors->get() as $error) {
$output['errors'][$error->getService()][$error->getVersion()][] = [
'message' => $error->getMessage(),
'code' => $error->getCode(),
'status' => $error->getStatus(),
];
$errorData = [];
if ($error->getMessage()) {
$errorData['message'] = $error->getMessage();
}
if ($error->getCode()) {
$errorData['code'] = $error->getCode();
}
if ($error->getStatus()) {
$errorData['status'] = $error->getStatus();
}
$output['errors'][$error->getService()][$error->getVersion()][] = $errorData;
}

return $output;
Expand Down

0 comments on commit 2af9ea8

Please sign in to comment.