Skip to content

Commit

Permalink
less code in events
Browse files Browse the repository at this point in the history
  • Loading branch information
esposimo committed Apr 13, 2024
1 parent 277c7d1 commit a64628b
Show file tree
Hide file tree
Showing 13 changed files with 108 additions and 1,026 deletions.
114 changes: 97 additions & 17 deletions src/src/crawler/AbstractEvent.php
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,11 @@ public function getPayload(): string|null
return $this->getColumn('payload');
}

/**
* @inheritDoc
* @param int $index
* @return string|null
*/
public function getPaEmittente(int $index = 0): string|null
{
$column = $this->getColumn('iddominio');
Expand All @@ -131,36 +136,81 @@ public function getPaEmittente(int $index = 0): string|null
return (empty($column)) ? $this->getMethodInterface()->getPaEmittente(0) : $column;
}


/**
* @inheritDoc
*/
//abstract public function getPaEmittente(int $index = 0): string|null;

/**
* @inheritDoc
* @param int $index
* @return string|null
*/
abstract public function getIuv(int $index = 0): string|null;
public function getIuv(int $index = 0): string|null
{
$column = $this->getColumn('iuv');
if ($index > 0)
{
// se sto chiedendo una PA interna al payload , chiedo al metodo
return $this->getMethodInterface()->getIuv($index);
}
// altrimenti se $column è vuoto, chiedo al metodo con $index=0, altrimenti restituisco column (che esiste a questo punto)
return (empty($column)) ? $this->getMethodInterface()->getIuv(0) : $column;
}

/**
* @inheritDoc
*/
abstract public function getCcp(int $index = 0): string|null;
public function getCcp(int $index = 0): string|null
{
$column = $this->getColumn('ccp');
if ($index > 0)
{
// se sto chiedendo una PA interna al payload , chiedo al metodo
return $this->getMethodInterface()->getCcp($index);
}
// altrimenti se $column è vuoto, chiedo al metodo con $index=0, altrimenti restituisco column (che esiste a questo punto)
return (empty($column)) ? $this->getMethodInterface()->getCcp(0) : $column;
}

/**
* @inheritDoc
*/
abstract public function getNoticeNumber(int $index = 0): string|null;
public function getNoticeNumber(int $index = 0): string|null
{
$column = $this->getColumn('noticenumber');
if ($index > 0)
{
// se sto chiedendo una PA interna al payload , chiedo al metodo
return $this->getMethodInterface()->getNoticeNumber($index);
}
// altrimenti se $column è vuoto, chiedo al metodo con $index=0, altrimenti restituisco column (che esiste a questo punto)
return (empty($column)) ? $this->getMethodInterface()->getNoticeNumber(0) : $column;
}

/**
* @inheritDoc
*/
abstract public function getCreditorReferenceId(int $index = 0): string|null;
public function getCreditorReferenceId(int $index = 0): string|null
{
$column = $this->getColumn('creditorreferenceid');
if ($index > 0)
{
// se sto chiedendo una PA interna al payload , chiedo al metodo
return $this->getMethodInterface()->getIuv($index);
}
// altrimenti se $column è vuoto, chiedo al metodo con $index=0, altrimenti restituisco column (che esiste a questo punto)
return (empty($column)) ? $this->getMethodInterface()->getIuv(0) : $column;
}

/**
* @inheritDoc
*/
abstract public function getPaymentToken(int $index = 0): string|null;
public function getPaymentToken(int $index = 0): string|null
{
$column = $this->getColumn('paymenttoken');
if ($index > 0)
{
// se sto chiedendo una PA interna al payload , chiedo al metodo
return $this->getMethodInterface()->getToken($index);
}
// altrimenti se $column è vuoto, chiedo al metodo con $index=0, altrimenti restituisco column (che esiste a questo punto)
return (empty($column)) ? $this->getMethodInterface()->getToken(0) : $column;
}

/**
* @inheritDoc
Expand All @@ -181,22 +231,52 @@ abstract public function getCcps(): array|null;
* Restituisce il psp dell'evento. Sarà la classe che implementa la AbstractEvent a decidere se usare l'evento o il payload
* @return string|null
*/
abstract public function getPsp(): string|null;
public function getPsp(): string|null
{
$column = $this->getColumn('psp');
return (empty($column)) ? $this->getMethodInterface()->getPsp() : $column;
}

/**
* Restituisce la stazione dell'evento. Sarà la classe che implementa la AbstractEvent a decidere se usare l'evento o il payload
* @return string|null
*/
abstract public function getStazione(): string|null;
public function getStazione(): string|null
{
$column = $this->getColumn('stazione');
return (empty($column)) ? $this->getMethodInterface()->getStazione() : $column;
}


abstract public function getCanale(): string|null;
public function getCanale(): string|null
{
$column = $this->getColumn('canale');
return (empty($column)) ? $this->getMethodInterface()->getCanale() : $column;
}


abstract public function getBrokerPa(): string|null;
public function getBrokerPa(): string|null
{
// se il campo stazione è vuoto, allora chiedo al payload
// altrimenti prendo il campo stazione e me lo splitto
if (empty($this->getStazione()))
{
return $this->getMethodInterface()->getBrokerPa();
}
$stazione = explode('_', $this->getStazione(), 2);
return $stazione[0]; // ricavo il broker pa splittando la stazione
}


abstract public function getBrokerPsp(): string|null;
public function getBrokerPsp(): string|null
{
if (empty($this->getCanale()))
{
return $this->getMethodInterface()->getCanale();
}
$canale = explode('_', $this->getCanale(), 2);
return $canale[0];
}


/**
Expand Down
145 changes: 0 additions & 145 deletions src/src/crawler/events/req/activatePaymentNotice.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,78 +22,6 @@ public function __construct(array $eventData)
$this->method = new Payload($this->data['payload']);
}


/**
* Restituisce il valore della colonna idDominio.
* Se è vuota, restituisce l'id dominio dal payload.
* @param int $index
* @return string|null
*/
public function getPaEmittente(int $index = 0): string|null
{
if (empty($this->getColumn('iddominio')))
{
// se la colonna iddominio è vuota, provo a recuperare dal payload
return $this->getMethodInterface()->getPaEmittente(0);
}
return $this->getColumn('iddominio');
}

/**
* Restituisce il valore della colonna iuv, perchè lo iuv non è presente nel payload della activatePaymentNotice
* @param int $index
* @return string|null
*/
public function getIuv(int $index = 0): string|null
{
return $this->getColumn('iuv');
}

/**
* Restituisce il valore della colonna ccp, perchè il ccp non è presente nel payload della activatePaymentNotice
* @param int $index
* @return string|null
*/
public function getCcp(int $index = 0): string|null
{
return $this->getColumn('ccp');
}

/**
* Restituisce il valore della colonna noticeNumber.
* Se è vuota, restituisce il noticeNumber dal payload.
* @param int $index
* @return string|null
*/
public function getNoticeNumber(int $index = 0): string|null
{
if (empty($this->getColumn('noticenumber')))
{
// se la colonna iddominio è vuota, provo a recuperare dal payload
return $this->getMethodInterface()->getNoticeNumber(0);
}
return $this->getColumn('noticenumber');
}

/**
* Come getIuv, restituisce il valore della colonna creditorReferenceId
* @param int $index
* @return string|null
*/
public function getCreditorReferenceId(int $index = 0): string|null
{
return $this->getColumn('creditorreferenceid');
}

/**
* @param int $index
* @return string|null
*/
public function getPaymentToken(int $index = 0): string|null
{
return $this->getColumn('paymenttoken');
}

/**
* @return array|null
*/
Expand All @@ -117,79 +45,6 @@ public function getCcps(): array|null
{
return (is_null($this->getCcp(0))) ? null : [$this->getCcp(0)];
}

/**
* @return string|null
*/
public function getPsp(): string|null
{
if (empty($this->getColumn('psp')))
{
// se la colonna iddominio è vuota, provo a recuperare dal payload
return $this->getMethodInterface()->getPsp();
}
return $this->getColumn('psp');
}

/**
* Questo valore posso prelevarlo solo dall'evento perchè non presente nel payload
* @return string|null
*/
public function getStazione(): string|null
{
if (empty($this->getColumn('stazione')))
{
return $this->getMethodInterface()->getStazione();
}
return $this->getColumn('stazione');
}

/**
* Provo prima nell'evento, poi nel payload
* @return string|null
*/
public function getCanale(): string|null
{
if (empty($this->getColumn('canale')))
{
// se la colonna è vuota, provo a recuperare dal payload
return $this->getMethodInterface()->getCanale();
}
return $this->getColumn('canale');
}

/**
* Questo valore posso prelevarlo solo dall'evento
* @return string|null
*/
public function getBrokerPa(): string|null
{
if (empty($this->getStazione()))
{
return null;
}
$stazione = explode('_', $this->getStazione(), 2);
return $stazione[0]; // ricavo il broker pa splittando la stazione
}

/**
* Questo valore posso prelevarlo dal payload o lavorando sull'evento
* @return string|null
*/
public function getBrokerPsp(): string|null
{
if (is_null($this->getMethodInterface()->getBrokerPsp()))
{
if (empty($this->getCanale()))
{
return null;
}
$canale = explode('_', $this->getCanale(), 2);
return $canale[0];
}
return $this->getMethodInterface()->getBrokerPsp();
}

/**
* @param int $index
* @return \pagopa\database\sherlock\Transaction|null
Expand Down
Loading

0 comments on commit a64628b

Please sign in to comment.