Skip to content

Commit

Permalink
Merge pull request #54 from bildvitta/feature/sales-periodicitie-facts
Browse files Browse the repository at this point in the history
Criar histórico do pagamento de sinal no vendas
  • Loading branch information
leandrohago authored Jul 26, 2024
2 parents 8829a48 + 36e22e0 commit 510cac6
Show file tree
Hide file tree
Showing 3 changed files with 58 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?php

namespace Bildvitta\IssVendas\Contracts\Resources\Programmatic;

use Illuminate\Http\Client\RequestException;

interface SalePeriodicityFactContract
{
/**
* @const string
*/
public const ENDPOINT_PREFIX = '/programmatic/sales/%s/periodicities/facts';


/**
* @param string $sale_uuid
* @param array $data
*
* @return object
*
* @throws RequestException
*/
public function create(string $sale_uuid, array $data): object;
}
8 changes: 8 additions & 0 deletions src/Resources/Programmatic/Sale.php
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,14 @@ public function facts()
return new SaleFact($this);
}

/**
* @return SalePeriodicityFact
*/
public function periodicityFacts(): SalePeriodicityFact
{
return new SalePeriodicityFact($this);
}

/**
* @return SalePersonalization
*/
Expand Down
26 changes: 26 additions & 0 deletions src/Resources/Programmatic/SalePeriodicityFact.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<?php

namespace Bildvitta\IssVendas\Resources\Programmatic;

use Bildvitta\IssVendas\Contracts\Resources\Programmatic\SalePeriodicityFactContract;

class SalePeriodicityFact implements SalePeriodicityFactContract
{
private Sale $sale;

public function __construct(Sale $sale)
{
$this->sale = $sale;
}

/**
* @inheritDoc
*/
public function create(string $sale_uuid, array $data): object
{
return $this->sale->programmatic->vendas->request->post(
vsprintf(self::ENDPOINT_PREFIX, [$sale_uuid]),
$data
)->throw()->object();
}
}

0 comments on commit 510cac6

Please sign in to comment.