Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
fd311e8
add use hashids method
repl6669 May 8, 2024
e349196
add lunar api config
repl6669 May 8, 2024
f0c9a35
register lunar api config
repl6669 May 8, 2024
f5d96d6
Merge branch '0.8' into feature/add-lunar-api-config
repl6669 May 8, 2024
4b0df2a
add lunar api config facade
repl6669 May 8, 2024
d3a54e6
add docblocks
repl6669 May 8, 2024
2159844
add docblocks
repl6669 May 8, 2024
b2216d7
rename method and set domain name for domain config
repl6669 May 8, 2024
e24d91e
update domain config
repl6669 May 8, 2024
99508f4
add methods which get collections of configured classes from domain c…
repl6669 May 8, 2024
e46f2f1
rename method
repl6669 May 8, 2024
aa49258
add lunar api config test
repl6669 May 8, 2024
058aa45
Merge branch '1.0' into feature/add-lunar-api-config
repl6669 Sep 2, 2024
9893369
Merge branch '1.0' into feature/add-lunar-api-config
repl6669 Oct 1, 2024
338eaa0
Merge branch '1.0' into feature/add-lunar-api-config
repl6669 Oct 21, 2024
88fb549
rename method
repl6669 Oct 22, 2024
3b4ca3f
fix test
repl6669 Oct 22, 2024
3798ce9
add spatie php structure discoverer package
repl6669 Oct 22, 2024
92ff88d
add replace model attribute to models
repl6669 Oct 22, 2024
1b4f979
add type resolver to schemas
repl6669 Oct 22, 2024
4387c92
update model contract
repl6669 Oct 22, 2024
b5f1962
add get root method
repl6669 Oct 22, 2024
d3af869
add domain methods
repl6669 Oct 22, 2024
d7b962b
update domain config
repl6669 Oct 22, 2024
5056def
create domain config by discovery
repl6669 Oct 22, 2024
3ad2b5a
add attributes
repl6669 Oct 22, 2024
7592b81
use static type
repl6669 Oct 22, 2024
35f7929
update user model contract
repl6669 Oct 22, 2024
40042c6
rename payment-options to payment_options
repl6669 Oct 22, 2024
ef7737a
rename shipping-options to shipping_options
repl6669 Oct 22, 2024
3b51cd2
update changelog
repl6669 Oct 22, 2024
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
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@
### ⚠️ Breaking changes

- Renamed `lunar_model` to `model_contract` in `domains.php` config file
- Renamed `shipping-options` to `shipping_options`
- Renamed `payment-options` to `payment_options`

## 1.0.0-beta.2

Expand Down
3 changes: 2 additions & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@
"laravel-json-api/hashids": "^3.0",
"laravel-json-api/laravel": "^4.0",
"laravel-json-api/non-eloquent": "^4.0",
"lunarphp/lunar": "^1.0.0-beta.1"
"lunarphp/lunar": "^1.0.0-beta.3",
"spatie/php-structure-discoverer": "^2.0"
},
"require-dev": {
"barryvdh/laravel-ide-helper": "^3.0",
Expand Down
16 changes: 16 additions & 0 deletions src/Base/Attributes/ReplaceModel.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?php

namespace Dystcz\LunarApi\Base\Attributes;

use Attribute;

#[Attribute(Attribute::TARGET_CLASS)]
class ReplaceModel
{
/**
* Create a new attribute instance.
*
* @return void
*/
public function __construct(public string $class) {}
}
3 changes: 3 additions & 0 deletions src/Domain/Addresses/Models/Address.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,13 @@

namespace Dystcz\LunarApi\Domain\Addresses\Models;

use Dystcz\LunarApi\Base\Attributes\ReplaceModel;
use Dystcz\LunarApi\Domain\Addresses\Concerns\InteractsWithLunarApi;
use Dystcz\LunarApi\Domain\Addresses\Contracts\Address as AddressContract;
use Lunar\Models\Address as LunarAddress;
use Lunar\Models\Contracts\Address as LunarAddressContract;

#[ReplaceModel(LunarAddressContract::class)]
class Address extends LunarAddress implements AddressContract
{
use InteractsWithLunarApi;
Expand Down
3 changes: 3 additions & 0 deletions src/Domain/AttributeGroups/Models/AttributeGroup.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,13 @@

namespace Dystcz\LunarApi\Domain\AttributeGroups\Models;

use Dystcz\LunarApi\Base\Attributes\ReplaceModel;
use Dystcz\LunarApi\Domain\AttributeGroups\Concerns\InteractsWithLunarApi;
use Dystcz\LunarApi\Domain\AttributeGroups\Contracts\AttributeGroup as AttributeGroupContract;
use Lunar\Models\AttributeGroup as LunarAttributeGroup;
use Lunar\Models\Contracts\AttributeGroup as LunarAttributeGroupContract;

#[ReplaceModel(LunarAttributeGroupContract::class)]
class AttributeGroup extends LunarAttributeGroup implements AttributeGroupContract
{
use InteractsWithLunarApi;
Expand Down
3 changes: 3 additions & 0 deletions src/Domain/Attributes/Models/Attribute.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,13 @@

namespace Dystcz\LunarApi\Domain\Attributes\Models;

use Dystcz\LunarApi\Base\Attributes\ReplaceModel;
use Dystcz\LunarApi\Domain\Attributes\Concerns\InteractsWithLunarApi;
use Dystcz\LunarApi\Domain\Attributes\Contracts\Attribute as AttributeContract;
use Lunar\Models\Attribute as LunarAttribute;
use Lunar\Models\Contracts\Attribute as LunarAttributeContract;

#[ReplaceModel(LunarAttributeContract::class)]
class Attribute extends LunarAttribute implements AttributeContract
{
use InteractsWithLunarApi;
Expand Down
3 changes: 3 additions & 0 deletions src/Domain/Brands/Models/Brand.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,13 @@

namespace Dystcz\LunarApi\Domain\Brands\Models;

use Dystcz\LunarApi\Base\Attributes\ReplaceModel;
use Dystcz\LunarApi\Domain\Brands\Concerns\InteractsWithLunarApi;
use Dystcz\LunarApi\Domain\Brands\Contracts\Brand as BrandContract;
use Lunar\Models\Brand as LunarBrand;
use Lunar\Models\Contracts\Brand as LunarBrandContract;

#[ReplaceModel(LunarBrandContract::class)]
class Brand extends LunarBrand implements BrandContract
{
use InteractsWithLunarApi;
Expand Down
3 changes: 3 additions & 0 deletions src/Domain/CartAddresses/Models/CartAddress.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,13 @@

namespace Dystcz\LunarApi\Domain\CartAddresses\Models;

use Dystcz\LunarApi\Base\Attributes\ReplaceModel;
use Dystcz\LunarApi\Domain\CartAddresses\Concerns\InteractsWithLunarApi;
use Dystcz\LunarApi\Domain\CartAddresses\Contracts\CartAddress as CartAddressContract;
use Lunar\Models\CartAddress as LunarCartAddress;
use Lunar\Models\Contracts\CartAddress as LunarCartAddressContract;

#[ReplaceModel(LunarCartAddressContract::class)]
class CartAddress extends LunarCartAddress implements CartAddressContract
{
use InteractsWithLunarApi;
Expand Down
3 changes: 3 additions & 0 deletions src/Domain/CartLines/Models/CartLine.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,13 @@

namespace Dystcz\LunarApi\Domain\CartLines\Models;

use Dystcz\LunarApi\Base\Attributes\ReplaceModel;
use Dystcz\LunarApi\Domain\CartLines\Concerns\InteractsWithLunarApi;
use Dystcz\LunarApi\Domain\CartLines\Contracts\CartLine as CartLineContract;
use Lunar\Models\CartLine as LunarCartLine;
use Lunar\Models\Contracts\CartLine as LunarCartLineContract;

#[ReplaceModel(LunarCartLineContract::class)]
class CartLine extends LunarCartLine implements CartLineContract
{
use InteractsWithLunarApi;
Expand Down
3 changes: 3 additions & 0 deletions src/Domain/Carts/Models/Cart.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,15 @@

namespace Dystcz\LunarApi\Domain\Carts\Models;

use Dystcz\LunarApi\Base\Attributes\ReplaceModel;
use Dystcz\LunarApi\Domain\Carts\Concerns\InteractsWithLunarApi;
use Dystcz\LunarApi\Domain\Carts\Contracts\Cart as CartContract;
use Dystcz\LunarApi\Domain\Carts\ValueObjects\PaymentBreakdown;
use Dystcz\LunarApi\Domain\PaymentOptions\Entities\PaymentOption;
use Lunar\Base\ValueObjects\Cart\TaxBreakdown;
use Lunar\DataTypes\Price;
use Lunar\Models\Cart as LunarCart;
use Lunar\Models\Contracts\Cart as LunarCartContract;

/**
* @property PaymentOption|null $paymentOption
Expand All @@ -24,6 +26,7 @@
* @method Cart unsetPaymentOption(PaymentOption $option, bool $refresh = true)
* @method ?PaymentOption getPaymentOption()
*/
#[ReplaceModel(LunarCartContract::class)]
class Cart extends LunarCart implements CartContract
{
use InteractsWithLunarApi;
Expand Down
3 changes: 3 additions & 0 deletions src/Domain/Channels/Models/Channel.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,13 @@

namespace Dystcz\LunarApi\Domain\Channels\Models;

use Dystcz\LunarApi\Base\Attributes\ReplaceModel;
use Dystcz\LunarApi\Domain\Channels\Concerns\InteractsWithLunarApi;
use Dystcz\LunarApi\Domain\Channels\Contracts\Channel as ChannelContract;
use Lunar\Models\Channel as LunarChannel;
use Lunar\Models\Contracts\Channel as LunarChannelContract;

#[ReplaceModel(LunarChannelContract::class)]
class Channel extends LunarChannel implements ChannelContract
{
use InteractsWithLunarApi;
Expand Down
3 changes: 3 additions & 0 deletions src/Domain/CollectionGroups/Models/CollectionGroup.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,13 @@

namespace Dystcz\LunarApi\Domain\CollectionGroups\Models;

use Dystcz\LunarApi\Base\Attributes\ReplaceModel;
use Dystcz\LunarApi\Domain\CollectionGroups\Concerns\InteractsWithLunarApi;
use Dystcz\LunarApi\Domain\CollectionGroups\Contracts\CollectionGroup as CollectionGroupContract;
use Lunar\Models\CollectionGroup as LunarCollectionGroup;
use Lunar\Models\Contracts\CollectionGroup as LunarCollectionGroupContract;

#[ReplaceModel(LunarCollectionGroupContract::class)]
class CollectionGroup extends LunarCollectionGroup implements CollectionGroupContract
{
use InteractsWithLunarApi;
Expand Down
3 changes: 3 additions & 0 deletions src/Domain/Collections/Models/Collection.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,22 @@

namespace Dystcz\LunarApi\Domain\Collections\Models;

use Dystcz\LunarApi\Base\Attributes\ReplaceModel;
use Dystcz\LunarApi\Domain\Collections\Concerns\InteractsWithLunarApi;
use Dystcz\LunarApi\Domain\Collections\Contracts\Collection as CollectionContract;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\Relations\MorphMany;
use Illuminate\Support\Collection as LaravelCollection;
use Lunar\Models\Collection as LunarCollection;
use Lunar\Models\Contracts\Collection as LunarCollectionContract;

/**
* @method HasMany attributes()
* @method MorphMany images()
*
* @property LaravelCollection $images
*/
#[ReplaceModel(LunarCollectionContract::class)]
class Collection extends LunarCollection implements CollectionContract
{
use InteractsWithLunarApi;
Expand Down
3 changes: 3 additions & 0 deletions src/Domain/Countries/Models/Country.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,13 @@

namespace Dystcz\LunarApi\Domain\Countries\Models;

use Dystcz\LunarApi\Base\Attributes\ReplaceModel;
use Dystcz\LunarApi\Domain\Countries\Concerns\InteractsWithLunarApi;
use Dystcz\LunarApi\Domain\Countries\Contracts\Country as CountryContract;
use Lunar\Models\Contracts\Country as LunarCountryContract;
use Lunar\Models\Country as LunarCountry;

#[ReplaceModel(LunarCountryContract::class)]
class Country extends LunarCountry implements CountryContract
{
use InteractsWithLunarApi;
Expand Down
3 changes: 3 additions & 0 deletions src/Domain/Currencies/Models/Currency.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,13 @@

namespace Dystcz\LunarApi\Domain\Currencies\Models;

use Dystcz\LunarApi\Base\Attributes\ReplaceModel;
use Dystcz\LunarApi\Domain\Currencies\Concerns\InteractsWithLunarApi;
use Dystcz\LunarApi\Domain\Currencies\Contracts\Currency as CurrencyContract;
use Lunar\Models\Contracts\Currency as LunarCurrencyContract;
use Lunar\Models\Currency as LunarCurrency;

#[ReplaceModel(LunarCurrencyContract::class)]
class Currency extends LunarCurrency implements CurrencyContract
{
use InteractsWithLunarApi;
Expand Down
3 changes: 3 additions & 0 deletions src/Domain/Customers/Models/Customer.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,16 @@

namespace Dystcz\LunarApi\Domain\Customers\Models;

use Dystcz\LunarApi\Base\Attributes\ReplaceModel;
use Dystcz\LunarApi\Domain\Customers\Concerns\InteractsWithLunarApi;
use Dystcz\LunarApi\Domain\Customers\Contracts\Customer as CustomerContract;
use Lunar\Models\Contracts\Customer as LunarCustomerContract;
use Lunar\Models\Customer as LunarCustomer;

/**
* @method HasMany attributes()
*/
#[ReplaceModel(LunarCustomerContract::class)]
class Customer extends LunarCustomer implements CustomerContract
{
use InteractsWithLunarApi;
Expand Down
16 changes: 16 additions & 0 deletions src/Domain/JsonApi/Attributes/HasAuthorizer.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?php

namespace Dystcz\LunarApi\Domain\JsonApi\Attributes;

use Attribute;

#[Attribute(Attribute::TARGET_CLASS)]
class HasAuthorizer
{
/**
* Create a new attribute instance.
*
* @return void
*/
public function __construct(public string $class) {}
}
16 changes: 16 additions & 0 deletions src/Domain/JsonApi/Attributes/HasCollectionQuery.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?php

namespace Dystcz\LunarApi\Domain\JsonApi\Attributes;

use Attribute;

#[Attribute(Attribute::TARGET_CLASS)]
class HasCollectionQuery
{
/**
* Create a new attribute instance.
*
* @return void
*/
public function __construct(public string $class) {}
}
16 changes: 16 additions & 0 deletions src/Domain/JsonApi/Attributes/HasQuery.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?php

namespace Dystcz\LunarApi\Domain\JsonApi\Attributes;

use Attribute;

#[Attribute(Attribute::TARGET_CLASS)]
class HasQuery
{
/**
* Create a new attribute instance.
*
* @return void
*/
public function __construct(public string $class) {}
}
16 changes: 16 additions & 0 deletions src/Domain/JsonApi/Attributes/HasResource.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?php

namespace Dystcz\LunarApi\Domain\JsonApi\Attributes;

use Attribute;

#[Attribute(Attribute::TARGET_CLASS)]
class HasResource
{
/**
* Create a new attribute instance.
*
* @return void
*/
public function __construct(public string $class) {}
}
5 changes: 2 additions & 3 deletions src/Domain/JsonApi/Eloquent/Schema.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\App;
use Illuminate\Support\Facades\Config;
use Illuminate\Support\Str;
use LaravelJsonApi\Contracts\Server\Server;
use LaravelJsonApi\Core\Schema\IncludePathIterator;
use LaravelJsonApi\Eloquent\Contracts\Paginator;
Expand Down Expand Up @@ -119,7 +118,7 @@ public static function model(): string
*/
public static function resource(): string
{
$type = Str::snake(static::type());
$type = static::type();

return Config::get(
"lunar-api.domains.{$type}.resource",
Expand All @@ -132,7 +131,7 @@ public static function resource(): string
*/
public static function authorizer(): string
{
$type = Str::snake(static::type());
$type = static::type();

return Config::get(
"lunar-api.domains.{$type}.authorizer",
Expand Down
3 changes: 3 additions & 0 deletions src/Domain/OrderAddresses/Models/OrderAddress.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,13 @@

namespace Dystcz\LunarApi\Domain\OrderAddresses\Models;

use Dystcz\LunarApi\Base\Attributes\ReplaceModel;
use Dystcz\LunarApi\Domain\OrderAddresses\Concerns\InteractsWithLunarApi;
use Dystcz\LunarApi\Domain\OrderAddresses\Contracts\OrderAddress as OrderAddressContract;
use Lunar\Models\Contracts\OrderAddress as LunarOrderAddressContract;
use Lunar\Models\OrderAddress as LunarOrderAddress;

#[ReplaceModel(LunarOrderAddressContract::class)]
class OrderAddress extends LunarOrderAddress implements OrderAddressContract
{
use InteractsWithLunarApi;
Expand Down
3 changes: 3 additions & 0 deletions src/Domain/OrderLines/Models/OrderLine.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,13 @@

namespace Dystcz\LunarApi\Domain\OrderLines\Models;

use Dystcz\LunarApi\Base\Attributes\ReplaceModel;
use Dystcz\LunarApi\Domain\OrderLines\Concerns\InteractsWithLunarApi;
use Dystcz\LunarApi\Domain\OrderLines\Contracts\OrderLine as OrderLineContract;
use Lunar\Models\Contracts\OrderLine as LunarOrderLineContract;
use Lunar\Models\OrderLine as LunarOrderLine;

#[ReplaceModel(LunarOrderLineContract::class)]
class OrderLine extends LunarOrderLine implements OrderLineContract
{
use InteractsWithLunarApi;
Expand Down
3 changes: 3 additions & 0 deletions src/Domain/Orders/Models/Order.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@

namespace Dystcz\LunarApi\Domain\Orders\Models;

use Dystcz\LunarApi\Base\Attributes\ReplaceModel;
use Dystcz\LunarApi\Domain\Orders\Concerns\InteractsWithLunarApi;
use Dystcz\LunarApi\Domain\Orders\Contracts\Order as OrderContract;
use Lunar\Models\Contracts\Order as LunarOrderContract;
use Lunar\Models\Order as LunarOrder;

/**
Expand All @@ -20,6 +22,7 @@
* @property Illuminate\Database\Eloquent\Collection $latest_transaction
* @property Illuminate\Database\Eloquent\Collection $latestTransaction
*/
#[ReplaceModel(LunarOrderContract::class)]
class Order extends LunarOrder implements OrderContract
{
use InteractsWithLunarApi;
Expand Down
Loading