Skip to content

Commit

Permalink
less code in methods
Browse files Browse the repository at this point in the history
  • Loading branch information
esposimo committed Apr 24, 2024
1 parent 70c056b commit 55b18c5
Show file tree
Hide file tree
Showing 34 changed files with 1,199 additions and 6,724 deletions.
711 changes: 711 additions & 0 deletions src/src/crawler/AbstractMethod.php

Large diffs are not rendered by default.

80 changes: 80 additions & 0 deletions src/src/crawler/AbstractResponseMethod.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
<?php

namespace pagopa\crawler;

use pagopa\crawler\methods\MethodInterface;
use SimpleXMLElement;

/**
* La classe AbstractMethod offre constanti di configurazione usate dai corrispondenti metodi per ricavare
* informazioni dalle strutture xml/json sfruttando Xpath/JsonPath
*
* Ogni Constante definita viene utilizzata attraverso dei placeholder numerati
*
* %1$d
* %2$d
* %3$d
* etc
*
* Ogni costante sostituisce a questi placeholder vari valori.
* Le sostituzioni sono 3 e riguardano la posizione iesima del pagamento (nel carrello), la posizione iesima del transfer, la posizione iesima del metadata (key, value)
* Ogni costante usa i placeholder a modo suo (alcune costanti usano %1$d per l'iesimo transfer, altri per l'iesimo payment)
*/
class AbstractResponseMethod extends AbstractMethod implements FaultInterface
{

const XPATH_FAULT_CODE = '/fault/faultCode';

const XPATH_FAULT_STRING = '/fault/faultString';

const XPATH_FAULT_DESCRIPTION = '/fault/description';


/**
* @return bool
*/
public function isFaultEvent(): bool
{
if (static::XPATH_FAULT_CODE == null)
{
return false;
}
return !(is_null($this->getElement(static::XPATH_FAULT_CODE)));
}

/**
* @return string|null
*/
public function getFaultCode(): string|null
{
if (static::XPATH_FAULT_CODE == null)
{
return false;
}
return $this->getElement(static::XPATH_FAULT_CODE);
}

/**
* @return string|null
*/
public function getFaultString(): string|null
{
if (static::XPATH_FAULT_STRING == null)
{
return false;
}
return $this->getElement(static::XPATH_FAULT_STRING);
}

/**
* @return string|null
*/
public function getFaultDescription(): string|null
{
if (static::XPATH_FAULT_DESCRIPTION == null)
{
return false;
}
return $this->getElement(static::XPATH_FAULT_DESCRIPTION);
}
}
5 changes: 4 additions & 1 deletion src/src/crawler/methods/MethodInterface.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ interface MethodInterface

/**
* Restituisce il numero di pagamenti gestiti da questo evento
* Per numero di pagamenti si intende l'occorrenza di ALMENO una di queste tre info (iuv, token, pa, notice_number)
* Se nel payload dell'evento non sono presenti queste 4 informazioni, restituisce null.
* Se almeno una è presente, restituisce 1, altrimenti se è un carrello restituisce il numero di pagamenti presenti nel carrello
* @return int|null
*/
public function getPaymentsCount() : int|null;
Expand Down Expand Up @@ -54,7 +57,7 @@ public function getAllNoticesNumbers() : array|null;


/**
* Restituisce l'i-esimo iuv del carrello. Se l'evento gestisce un solo pagamento, restituisce il singolo iuv
* Restituisce l'i-esimo iuv del carrello. Se l'evento gestisce un solo pagamento, restituisce il singolo iuv ignorando il valore di $index
* Restituisce null se non vi è la presenza del dato nel payload
* @param int $index
* @return string|null
Expand Down
Loading

0 comments on commit 55b18c5

Please sign in to comment.