Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions src/Http/Traits/SetsOAuthResources.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
use Piggy\Api\Http\BaseClient;
use Piggy\Api\Resources\OAuth\Automations\AutomationsResource;
use Piggy\Api\Resources\OAuth\Brandkit\BrandkitResource;
use Piggy\Api\Resources\OAuth\Categories\CategoriesResource;
use Piggy\Api\Resources\OAuth\Contacts\ContactAttributesResource;
use Piggy\Api\Resources\OAuth\Contacts\ContactIdentifiersResource;
use Piggy\Api\Resources\OAuth\Contacts\ContactsResource;
Expand All @@ -25,9 +26,12 @@
use Piggy\Api\Resources\OAuth\Loyalty\Rewards\RewardAttributesResource;
use Piggy\Api\Resources\OAuth\Loyalty\Rewards\RewardsResource;
use Piggy\Api\Resources\OAuth\Loyalty\Tokens\LoyaltyTokensResource;
use Piggy\Api\Resources\OAuth\Orders\OrderReturnsResource;
use Piggy\Api\Resources\OAuth\Orders\OrdersResource;
use Piggy\Api\Resources\OAuth\Perks\PerksResource;
use Piggy\Api\Resources\OAuth\PortalSessions\PortalSessionsResource;
use Piggy\Api\Resources\OAuth\PrepaidTransactionsResource;
use Piggy\Api\Resources\OAuth\Products\ProductsResource;
use Piggy\Api\Resources\OAuth\Shops\ShopsResource;
use Piggy\Api\Resources\OAuth\SubscriptionTypesResource;
use Piggy\Api\Resources\OAuth\Tiers\TiersResource;
Expand Down Expand Up @@ -203,6 +207,26 @@ trait SetsOAuthResources
*/
public $customAttributes;

/**
* @var ProductsResource
*/
public $products;

/**
* @var CategoriesResource
*/
public $categories;

/**
* @var OrdersResource
*/
public $orders;

/**
* @var OrderReturnsResource
*/
public $orderReturns;

protected function setResources(BaseClient $client): void
{
$this->contacts = new ContactsResource($client);
Expand Down Expand Up @@ -238,5 +262,9 @@ protected function setResources(BaseClient $client): void
$this->contactsPortalAuthUrl = new ContactsPortalAuthUrlResource($client);
$this->collectableRewards = new CollectableRewardsResource($client);
$this->customAttributes = new CustomAttributeResource($client);
$this->products = new ProductsResource($client);
$this->categories = new CategoriesResource($client);
$this->orders = new OrdersResource($client);
$this->orderReturns = new OrderReturnsResource($client);
}
}
30 changes: 29 additions & 1 deletion src/Http/Traits/SetsRegisterResources.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
namespace Piggy\Api\Http\Traits;

use Piggy\Api\Http\BaseClient;
use Piggy\Api\Resources\Register\Loyalty\Tokens\LoyaltyTokensResource;
use Piggy\Api\Resources\Register\Categories\CategoriesResource;
use Piggy\Api\Resources\Register\ContactIdentifiersResource;
use Piggy\Api\Resources\Register\Contacts\ContactsResource;
use Piggy\Api\Resources\Register\ContactSubscriptionsResource;
Expand All @@ -13,7 +13,11 @@
use Piggy\Api\Resources\Register\Loyalty\Receptions\CreditReceptionsResource;
use Piggy\Api\Resources\Register\Loyalty\Receptions\RewardReceptionsResource;
use Piggy\Api\Resources\Register\Loyalty\Rewards\RewardsResource;
use Piggy\Api\Resources\Register\Loyalty\Tokens\LoyaltyTokensResource;
use Piggy\Api\Resources\Register\Orders\OrderReturnsResource;
use Piggy\Api\Resources\Register\Orders\OrdersResource;
use Piggy\Api\Resources\Register\PrepaidTransactionResource;
use Piggy\Api\Resources\Register\Products\ProductsResource;
use Piggy\Api\Resources\Register\Registers\RegisterResource;
use Piggy\Api\Resources\Register\SubscriptionTypesResource;
use Piggy\Api\Resources\Register\Vouchers\PromotionsResource;
Expand Down Expand Up @@ -99,6 +103,26 @@ trait SetsRegisterResources
*/
public $promotion;

/**
* @var ProductsResource
*/
public $products;

/**
* @var CategoriesResource
*/
public $categories;

/**
* @var OrdersResource
*/
public $orders;

/**
* @var OrderReturnsResource
*/
public $orderReturns;

protected function setResources(BaseClient $client): void
{
$this->registers = new RegisterResource($client);
Expand All @@ -116,5 +140,9 @@ protected function setResources(BaseClient $client): void
$this->subscriptionTypes = new SubscriptionTypesResource($client);
$this->voucher = new VouchersResource($client);
$this->promotion = new PromotionsResource($client);
$this->products = new ProductsResource($client);
$this->categories = new CategoriesResource($client);
$this->orders = new OrdersResource($client);
$this->orderReturns = new OrderReturnsResource($client);
}
}
25 changes: 25 additions & 0 deletions src/Mappers/Categories/CategoriesMapper.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<?php

namespace Piggy\Api\Mappers\Categories;

use Piggy\Api\Models\Categories\Category;
use stdClass;

class CategoriesMapper
{
/**
* @param stdClass[] $data
* @return Category[]
*/
public function map(array $data): array
{
$mapper = new CategoryMapper();

$categories = [];
foreach ($data as $item) {
$categories[] = $mapper->map($item);
}

return $categories;
}
}
18 changes: 18 additions & 0 deletions src/Mappers/Categories/CategoryMapper.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<?php

namespace Piggy\Api\Mappers\Categories;

use Piggy\Api\Models\Categories\Category;
use stdClass;

class CategoryMapper
{
public function map(stdClass $data): Category
{
return new Category(
$data->uuid,
$data->external_identifier,
$data->name
);
}
}
24 changes: 24 additions & 0 deletions src/Mappers/Orders/AppliedDiscountMapper.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?php

namespace Piggy\Api\Mappers\Orders;

use Piggy\Api\Models\Orders\AppliedDiscount;
use stdClass;

class AppliedDiscountMapper
{
public static function map(stdClass $data): AppliedDiscount
{
return new AppliedDiscount(
$data->uuid,
$data->external_identifier,
$data->name,
$data->amount,
$data->type,
$data->value,
$data->applied_to,
$data->line_items,
$data->sub_line_items
);
}
}
25 changes: 25 additions & 0 deletions src/Mappers/Orders/AppliedDiscountsMapper.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<?php

namespace Piggy\Api\Mappers\Orders;

use Piggy\Api\Models\Orders\AppliedDiscount;
use stdClass;

class AppliedDiscountsMapper
{
/**
* @param stdClass[] $data
* @return AppliedDiscount[]
*/
public static function map(array $data): array
{
$mapper = new AppliedDiscountMapper();

$appliedDiscounts = [];
foreach ($data as $item) {
$appliedDiscounts[] = $mapper->map($item);
}

return $appliedDiscounts;
}
}
22 changes: 22 additions & 0 deletions src/Mappers/Orders/ChargeMapper.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<?php

namespace Piggy\Api\Mappers\Orders;

use Piggy\Api\Models\Orders\Charge;
use stdClass;

class ChargeMapper
{
public static function map(stdClass $data): Charge
{
return new Charge(
$data->uuid,
$data->external_identifier,
$data->type,
$data->name,
$data->amount,
$data->discount_amount,
$data->total_amount
);
}
}
25 changes: 25 additions & 0 deletions src/Mappers/Orders/ChargesMapper.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<?php

namespace Piggy\Api\Mappers\Orders;

use Piggy\Api\Models\Orders\Charge;
use stdClass;

class ChargesMapper
{
/**
* @param stdClass[] $data
* @return Charge[]
*/
public static function map(array $data): array
{
$mapper = new ChargeMapper();

$charges = [];
foreach ($data as $item) {
$charges[] = $mapper->map($item);
}

return $charges;
}
}
37 changes: 37 additions & 0 deletions src/Mappers/Orders/LineItemMapper.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
<?php

namespace Piggy\Api\Mappers\Orders;

use Piggy\Api\Mappers\Products\ProductMapper;
use Piggy\Api\Models\Orders\LineItem;
use stdClass;

class LineItemMapper
{
public static function map(stdClass $data): LineItem
{
$product = null;
if (isset($data->product)) {
$mapper = new ProductMapper();
$product = $mapper->map($data->product);
}

$subLineItems = [];
if (isset($data->sub_line_items)) {
$mapper = new SubLineItemsMapper();
$subLineItems = $mapper->map($data->sub_line_items);
}

return new LineItem(
$data->uuid,
$data->external_identifier,
$data->name,
$data->quantity,
$data->price,
$data->discount_amount,
$data->total_amount,
$product,
$subLineItems
);
}
}
18 changes: 18 additions & 0 deletions src/Mappers/Orders/LineItemReturnMapper.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<?php

namespace Piggy\Api\Mappers\Orders;

use Piggy\Api\Models\Orders\LineItemReturn;
use stdClass;

class LineItemReturnMapper
{
public static function map(stdClass $data): LineItemReturn
{
return new LineItemReturn(
$data->uuid,
$data->quantity,
$data->line_item
);
}
}
25 changes: 25 additions & 0 deletions src/Mappers/Orders/LineItemReturnsMapper.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<?php

namespace Piggy\Api\Mappers\Orders;

use Piggy\Api\Models\Orders\LineItemReturn;
use stdClass;

class LineItemReturnsMapper
{
/**
* @param stdClass[] $data
* @return LineItemReturn[]
*/
public static function map(array $data): array
{
$mapper = new LineItemReturnMapper();

$lineItemReturns = [];
foreach ($data as $item) {
$lineItemReturns[] = $mapper->map($item);
}

return $lineItemReturns;
}
}
25 changes: 25 additions & 0 deletions src/Mappers/Orders/LineItemsMapper.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<?php

namespace Piggy\Api\Mappers\Orders;

use Piggy\Api\Models\Orders\LineItem;
use stdClass;

class LineItemsMapper
{
/**
* @param stdClass[] $data
* @return LineItem[]
*/
public static function map(array $data): array
{
$mapper = new LineItemMapper();

$lineItems = [];
foreach ($data as $item) {
$lineItems[] = $mapper->map($item);
}

return $lineItems;
}
}
Loading