Skip to content

Commit

Permalink
Merge pull request #183 from dystcz/feature/consistent-naming
Browse files Browse the repository at this point in the history
Update consistent naming
  • Loading branch information
repl6669 authored Oct 14, 2024
2 parents ff2a90a + 2395e7f commit 3860bf7
Show file tree
Hide file tree
Showing 73 changed files with 470 additions and 438 deletions.
45 changes: 19 additions & 26 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,32 +11,25 @@

### ⚠️ Breaking changes

1. Changed relationship names and routes
Because Schemas now use type naming derived from pluralized morph aliases, relationship names and thus routes had to change as well.

`associations``product-associations`<br>
`attribute_group``attribute-group`<br>
`billing_address``billing-address`<br>
`cart_lines``cart-lines`<br>
`cheapest_variant``cheapest-product-variant`<br>
`default_url``default-url`<br>
`digital_lines``digital-lines`<br>
`highest_price``highest-price`<br>
`inverse_associations``inverse-product-associations`<br>
`latest_transaction``latest-transaction`<br>
`lowest_price``lowest-price`<br>
`most_expensive_variant``most-expensive-product-variant`<br>
`order_addresses``order-addresses`<br>
`order_lines``order-lines`<br>
`other_variants``other-product-variants`<br>
`payment_lines``payment-lines`<br>
`physical_lines``physical-lines`<br>
`product_lines``product-lines`<br>
`produst_type``product-type`<br>
`shipping_address``shipping-address`<br>
`shipping_address``shipping-address`<br>
`shipping_lines``shipping-lines`<br>
`variants``product-variants`
1. Changed relationship names and routes, because Schemas now use type naming
derived from snake_cased, pluralized morph aliases,
relationship names and thus routes had to change as well.

**Relationships:**

`associations``product_associations`<br>
`cheapest_variant``cheapest_product_variant`<br>
`inverse_associations``inverse_product_associations`<br>
`most_expensive_variant``most_expensive_product_variant`<br>
`other_variants``other_product_variants`<br>
`variants``product_variants`

**Routes:**

`/cart-addresses``/cart_addresses`<br>
`/orders/{order}/order-lines``/orders/{order}/order_lines`<br>
`/products/{product}/relationships/lowest-price``/products/{product}/relationships/lowest_price`<br>
...

2. Changed withCount query parameter
`?withCount=``?with_count=`
Expand Down
64 changes: 32 additions & 32 deletions config/domains.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

use Dystcz\LunarApi\Support\Models\Actions\ModelType;
use Dystcz\LunarApi\Support\Models\Actions\SchemaType;

/*
* Lunar API domains configuration
Expand All @@ -13,7 +13,7 @@
],
],

ModelType::get(Lunar\Models\Contracts\Address::class) => [
SchemaType::get(Lunar\Models\Contracts\Address::class) => [
'model' => Dystcz\LunarApi\Domain\Addresses\Models\Address::class,
'lunar_model' => Lunar\Models\Contracts\Address::class,
'policy' => Dystcz\LunarApi\Domain\Addresses\Policies\AddressPolicy::class,
Expand All @@ -24,7 +24,7 @@
'routes' => Dystcz\LunarApi\Domain\Addresses\Http\Routing\AddressRouteGroup::class,
],

ModelType::get(Lunar\Models\Contracts\Attribute::class) => [
SchemaType::get(Lunar\Models\Contracts\Attribute::class) => [
'model' => Dystcz\LunarApi\Domain\Attributes\Models\Attribute::class,
'lunar_model' => Lunar\Models\Contracts\Attribute::class,
'policy' => Dystcz\LunarApi\Domain\Attributes\Policies\AttributePolicy::class,
Expand All @@ -35,7 +35,7 @@
'routes' => null,
],

ModelType::get(Lunar\Models\Contracts\AttributeGroup::class) => [
SchemaType::get(Lunar\Models\Contracts\AttributeGroup::class) => [
'model' => Dystcz\LunarApi\Domain\AttributeGroups\Models\AttributeGroup::class,
'lunar_model' => Lunar\Models\Contracts\AttributeGroup::class,
'policy' => Dystcz\LunarApi\Domain\AttributeGroups\Policies\AttributeGroupPolicy::class,
Expand All @@ -46,7 +46,7 @@
'routes' => null,
],

ModelType::get(Lunar\Models\Contracts\ProductAssociation::class) => [
SchemaType::get(Lunar\Models\Contracts\ProductAssociation::class) => [
'model' => Dystcz\LunarApi\Domain\ProductAssociations\Models\ProductAssociation::class,
'lunar_model' => Lunar\Models\Contracts\ProductAssociation::class,
'policy' => Dystcz\LunarApi\Domain\ProductAssociations\Policies\ProductAssociationPolicy::class,
Expand All @@ -57,7 +57,7 @@
'routes' => null,
],

ModelType::get(Lunar\Models\Contracts\Brand::class) => [
SchemaType::get(Lunar\Models\Contracts\Brand::class) => [
'model' => Dystcz\LunarApi\Domain\Brands\Models\Brand::class,
'lunar_model' => Lunar\Models\Contracts\Brand::class,
'policy' => Dystcz\LunarApi\Domain\Brands\Policies\BrandPolicy::class,
Expand All @@ -68,7 +68,7 @@
'routes' => Dystcz\LunarApi\Domain\Brands\Http\Routing\BrandRouteGroup::class,
],

ModelType::get(Lunar\Models\Contracts\CartAddress::class) => [
SchemaType::get(Lunar\Models\Contracts\CartAddress::class) => [
'model' => Dystcz\LunarApi\Domain\CartAddresses\Models\CartAddress::class,
'lunar_model' => Lunar\Models\Contracts\CartAddress::class,
'policy' => Dystcz\LunarApi\Domain\CartAddresses\Policies\CartAddressPolicy::class,
Expand All @@ -79,7 +79,7 @@
'routes' => Dystcz\LunarApi\Domain\CartAddresses\Http\Routing\CartAddressRouteGroup::class,
],

ModelType::get(Lunar\Models\Contracts\CartLine::class) => [
SchemaType::get(Lunar\Models\Contracts\CartLine::class) => [
'model' => Dystcz\LunarApi\Domain\CartLines\Models\CartLine::class,
'lunar_model' => Lunar\Models\Contracts\CartLine::class,
'policy' => Dystcz\LunarApi\Domain\CartLines\Policies\CartLinePolicy::class,
Expand All @@ -90,7 +90,7 @@
'routes' => Dystcz\LunarApi\Domain\CartLines\Http\Routing\CartLineRouteGroup::class,
],

ModelType::get(Lunar\Models\Contracts\Cart::class) => [
SchemaType::get(Lunar\Models\Contracts\Cart::class) => [
'model' => Dystcz\LunarApi\Domain\Carts\Models\Cart::class,
'lunar_model' => Lunar\Models\Contracts\Cart::class,
'policy' => Dystcz\LunarApi\Domain\Carts\Policies\CartPolicy::class,
Expand All @@ -101,7 +101,7 @@
'routes' => Dystcz\LunarApi\Domain\Carts\Http\Routing\CartRouteGroup::class,
],

ModelType::get(Lunar\Models\Contracts\Channel::class) => [
SchemaType::get(Lunar\Models\Contracts\Channel::class) => [
'model' => Dystcz\LunarApi\Domain\Channels\Models\Channel::class,
'lunar_model' => Lunar\Models\Contracts\Channel::class,
'policy' => Dystcz\LunarApi\Domain\Channels\Policies\ChannelPolicy::class,
Expand All @@ -112,7 +112,7 @@
'routes' => Dystcz\LunarApi\Domain\Channels\Http\Routing\ChannelRouteGroup::class,
],

ModelType::get(Lunar\Models\Contracts\Collection::class) => [
SchemaType::get(Lunar\Models\Contracts\Collection::class) => [
'model' => Dystcz\LunarApi\Domain\Collections\Models\Collection::class,
'lunar_model' => Lunar\Models\Contracts\Collection::class,
'policy' => Dystcz\LunarApi\Domain\Collections\Policies\CollectionPolicy::class,
Expand All @@ -123,7 +123,7 @@
'routes' => Dystcz\LunarApi\Domain\Collections\Http\Routing\CollectionRouteGroup::class,
],

ModelType::get(Lunar\Models\Contracts\CollectionGroup::class) => [
SchemaType::get(Lunar\Models\Contracts\CollectionGroup::class) => [
'model' => Dystcz\LunarApi\Domain\CollectionGroups\Models\CollectionGroup::class,
'lunar_model' => Lunar\Models\Contracts\CollectionGroup::class,
'policy' => Dystcz\LunarApi\Domain\CollectionGroups\Policies\CollectionGroupPolicy::class,
Expand All @@ -134,7 +134,7 @@
'routes' => null,
],

ModelType::get(Lunar\Models\Contracts\Country::class) => [
SchemaType::get(Lunar\Models\Contracts\Country::class) => [
'model' => Dystcz\LunarApi\Domain\Countries\Models\Country::class,
'lunar_model' => Lunar\Models\Contracts\Country::class,
'policy' => Dystcz\LunarApi\Domain\Countries\Policies\CountryPolicy::class,
Expand All @@ -145,7 +145,7 @@
'routes' => Dystcz\LunarApi\Domain\Countries\Http\Routing\CountryRouteGroup::class,
],

ModelType::get(Lunar\Models\Contracts\Currency::class) => [
SchemaType::get(Lunar\Models\Contracts\Currency::class) => [
'model' => Dystcz\LunarApi\Domain\Currencies\Models\Currency::class,
'lunar_model' => Lunar\Models\Contracts\Currency::class,
'policy' => Dystcz\LunarApi\Domain\Currencies\Policies\CurrencyPolicy::class,
Expand All @@ -156,7 +156,7 @@
'routes' => Dystcz\LunarApi\Domain\Currencies\Http\Routing\CurrencyRouteGroup::class,
],

ModelType::get(Lunar\Models\Contracts\Customer::class) => [
SchemaType::get(Lunar\Models\Contracts\Customer::class) => [
'model' => Dystcz\LunarApi\Domain\Customers\Models\Customer::class,
'lunar_model' => Lunar\Models\Contracts\Customer::class,
'policy' => Dystcz\LunarApi\Domain\Customers\Policies\CustomerPolicy::class,
Expand All @@ -179,7 +179,7 @@
//
// ],

ModelType::get(Spatie\MediaLibrary\MediaCollections\Models\Media::class) => [
SchemaType::get(Spatie\MediaLibrary\MediaCollections\Models\Media::class) => [
'model' => Spatie\MediaLibrary\MediaCollections\Models\Media::class,
'lunar_model' => null,
'policy' => Dystcz\LunarApi\Domain\Media\Policies\MediaPolicy::class,
Expand All @@ -190,7 +190,7 @@
'routes' => Dystcz\LunarApi\Domain\Media\Http\Routing\MediaRouteGroup::class,
],

ModelType::get(Lunar\Models\Contracts\Order::class) => [
SchemaType::get(Lunar\Models\Contracts\Order::class) => [
'model' => Dystcz\LunarApi\Domain\Orders\Models\Order::class,
'lunar_model' => Lunar\Models\Contracts\Order::class,
'policy' => Dystcz\LunarApi\Domain\Orders\Policies\OrderPolicy::class,
Expand All @@ -201,7 +201,7 @@
'routes' => Dystcz\LunarApi\Domain\Orders\Http\Routing\OrderRouteGroup::class,
],

ModelType::get(Lunar\Models\Contracts\OrderAddress::class) => [
SchemaType::get(Lunar\Models\Contracts\OrderAddress::class) => [
'model' => Dystcz\LunarApi\Domain\OrderAddresses\Models\OrderAddress::class,
'lunar_model' => Lunar\Models\Contracts\OrderAddress::class,
'policy' => Dystcz\LunarApi\Domain\OrderAddresses\Policies\OrderAddressPolicy::class,
Expand All @@ -212,7 +212,7 @@
'routes' => null,
],

ModelType::get(Lunar\Models\Contracts\OrderLine::class) => [
SchemaType::get(Lunar\Models\Contracts\OrderLine::class) => [
'model' => Dystcz\LunarApi\Domain\OrderLines\Models\OrderLine::class,
'lunar_model' => Lunar\Models\Contracts\OrderLine::class,
'policy' => Dystcz\LunarApi\Domain\OrderLines\Policies\OrderLinePolicy::class,
Expand All @@ -223,7 +223,7 @@
'routes' => null,
],

ModelType::get(Dystcz\LunarApi\Domain\PaymentOptions\Entities\PaymentOption::class) => [
SchemaType::get(Dystcz\LunarApi\Domain\PaymentOptions\Entities\PaymentOption::class) => [
'model' => null,
'lunar_model' => null,
'policy' => null,
Expand All @@ -234,7 +234,7 @@
'routes' => Dystcz\LunarApi\Domain\PaymentOptions\Http\Routing\PaymentOptionRouteGroup::class,
],

ModelType::get(Lunar\Models\Contracts\Price::class) => [
SchemaType::get(Lunar\Models\Contracts\Price::class) => [
'model' => Dystcz\LunarApi\Domain\Prices\Models\Price::class,
'lunar_model' => Lunar\Models\Contracts\Price::class,
'policy' => Dystcz\LunarApi\Domain\Prices\Policies\PricePolicy::class,
Expand All @@ -245,7 +245,7 @@
'routes' => null,
],

ModelType::get(Lunar\Models\Contracts\ProductAssociation::class) => [
SchemaType::get(Lunar\Models\Contracts\ProductAssociation::class) => [
'model' => Dystcz\LunarApi\Domain\ProductAssociations\Models\ProductAssociation::class,
'lunar_model' => Lunar\Models\Contracts\ProductAssociation::class,
'policy' => Dystcz\LunarApi\Domain\ProductAssociations\Policies\ProductAssociationPolicy::class,
Expand All @@ -256,7 +256,7 @@
'routes' => null,
],

ModelType::get(Lunar\Models\Contracts\ProductOption::class) => [
SchemaType::get(Lunar\Models\Contracts\ProductOption::class) => [
'model' => Dystcz\LunarApi\Domain\ProductOptions\Models\ProductOption::class,
'lunar_model' => Lunar\Models\Contracts\ProductOption::class,
'policy' => Dystcz\LunarApi\Domain\ProductOptions\Policies\ProductOptionPolicy::class,
Expand All @@ -267,7 +267,7 @@
'routes' => null,
],

ModelType::get(Lunar\Models\Contracts\ProductOptionValue::class) => [
SchemaType::get(Lunar\Models\Contracts\ProductOptionValue::class) => [
'model' => Dystcz\LunarApi\Domain\ProductOptionValues\Models\ProductOptionValue::class,
'lunar_model' => Lunar\Models\Contracts\ProductOptionValue::class,
'policy' => Dystcz\LunarApi\Domain\ProductOptionValues\Policies\ProductOptionValuePolicy::class,
Expand All @@ -278,7 +278,7 @@
'routes' => Dystcz\LunarApi\Domain\ProductOptionValues\Http\Routing\ProductOptionValueRouteGroup::class,
],

ModelType::get(Lunar\Models\Contracts\ProductType::class) => [
SchemaType::get(Lunar\Models\Contracts\ProductType::class) => [
'model' => Dystcz\LunarApi\Domain\ProductTypes\Models\ProductType::class,
'lunar_model' => Lunar\Models\Contracts\ProductType::class,
'policy' => Dystcz\LunarApi\Domain\ProductTypes\Policies\ProductTypePolicy::class,
Expand All @@ -289,7 +289,7 @@
'routes' => null,
],

ModelType::get(Lunar\Models\Contracts\Product::class) => [
SchemaType::get(Lunar\Models\Contracts\Product::class) => [
'model' => Dystcz\LunarApi\Domain\Products\Models\Product::class,
'lunar_model' => Lunar\Models\Contracts\Product::class,
'policy' => Dystcz\LunarApi\Domain\Products\Policies\ProductPolicy::class,
Expand All @@ -300,7 +300,7 @@
'routes' => Dystcz\LunarApi\Domain\Products\Http\Routing\ProductRouteGroup::class,
],

ModelType::get(Lunar\Models\Contracts\ProductVariant::class) => [
SchemaType::get(Lunar\Models\Contracts\ProductVariant::class) => [
'model' => Dystcz\LunarApi\Domain\ProductVariants\Models\ProductVariant::class,
'lunar_model' => Lunar\Models\Contracts\ProductVariant::class,
'policy' => Dystcz\LunarApi\Domain\ProductVariants\Policies\ProductVariantPolicy::class,
Expand All @@ -311,7 +311,7 @@
'routes' => Dystcz\LunarApi\Domain\ProductVariants\Http\Routing\ProductVariantRouteGroup::class,
],

ModelType::get(Dystcz\LunarApi\Domain\ShippingOptions\Entities\ShippingOption::class) => [
SchemaType::get(Dystcz\LunarApi\Domain\ShippingOptions\Entities\ShippingOption::class) => [
'model' => null,
'lunar_model' => null,
'policy' => null,
Expand All @@ -322,7 +322,7 @@
'routes' => Dystcz\LunarApi\Domain\ShippingOptions\Http\Routing\ShippingOptionRouteGroup::class,
],

ModelType::get(Lunar\Models\Contracts\Tag::class) => [
SchemaType::get(Lunar\Models\Contracts\Tag::class) => [
'model' => Dystcz\LunarApi\Domain\Tags\Models\Tag::class,
'lunar_model' => Lunar\Models\Contracts\Tag::class,
'policy' => Dystcz\LunarApi\Domain\Tags\Policies\TagPolicy::class,
Expand All @@ -333,7 +333,7 @@
'routes' => Dystcz\LunarApi\Domain\Tags\Http\Routing\TagRouteGroup::class,
],

ModelType::get(Lunar\Models\Contracts\Transaction::class) => [
SchemaType::get(Lunar\Models\Contracts\Transaction::class) => [
'model' => Dystcz\LunarApi\Domain\Transactions\Models\Transaction::class,
'lunar_model' => Lunar\Models\Contracts\Transaction::class,
'policy' => Dystcz\LunarApi\Domain\Transactions\Policies\TransactionPolicy::class,
Expand All @@ -344,7 +344,7 @@
'routes' => null,
],

ModelType::get(Lunar\Models\Contracts\Url::class) => [
SchemaType::get(Lunar\Models\Contracts\Url::class) => [
'model' => Dystcz\LunarApi\Domain\Urls\Models\Url::class,
'lunar_model' => Lunar\Models\Contracts\Url::class,
'policy' => Dystcz\LunarApi\Domain\Urls\Policies\UrlPolicy::class,
Expand All @@ -355,7 +355,7 @@
'routes' => Dystcz\LunarApi\Domain\Urls\Http\Routing\UrlRouteGroup::class,
],

ModelType::get(Lunar\Models\Contracts\TaxZone::class) => [
SchemaType::get(Lunar\Models\Contracts\TaxZone::class) => [
'model' => Dystcz\LunarApi\Domain\TaxZones\Models\TaxZone::class,
'lunar_model' => Lunar\Models\Contracts\TaxZone::class,
'policy' => Dystcz\LunarApi\Domain\TaxZones\Policies\TaxZonePolicy::class,
Expand Down
8 changes: 4 additions & 4 deletions src/Domain/Attributes/JsonApi/V1/AttributeSchema.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
namespace Dystcz\LunarApi\Domain\Attributes\JsonApi\V1;

use Dystcz\LunarApi\Domain\JsonApi\Eloquent\Schema;
use Dystcz\LunarApi\Support\Models\Actions\ModelType;
use Dystcz\LunarApi\Support\Models\Actions\SchemaType;
use LaravelJsonApi\Eloquent\Fields\Relations\BelongsTo;
use Lunar\Models\Contracts\Attribute;
use Lunar\Models\Contracts\AttributeGroup;
Expand All @@ -21,7 +21,7 @@ class AttributeSchema extends Schema
public function includePaths(): iterable
{
return [
'attribute-group',
'attribute_group',

...parent::includePaths(),
];
Expand All @@ -35,9 +35,9 @@ public function fields(): iterable
return [
$this->idField(),

BelongsTo::make('attribute-group', 'attributeGroup')
BelongsTo::make('attribute_group', 'attributeGroup')
->retainFieldName()
->type(ModelType::get(AttributeGroup::class))
->type(SchemaType::get(AttributeGroup::class))
->serializeUsing(
static fn ($relation) => $relation->withoutLinks()
),
Expand Down
2 changes: 1 addition & 1 deletion src/Domain/Brands/Http/Routing/BrandRouteGroup.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public function routes(): void
->resources(function (ResourceRegistrar $server) {
$server->resource($this->getPrefix(), BrandsController::class)
->relationships(function (Relationships $relationships) {
$relationships->hasOne('default-url')->readOnly();
$relationships->hasOne('default_url')->readOnly();
})
->only('index', 'show')
->readOnly();
Expand Down
Loading

0 comments on commit 3860bf7

Please sign in to comment.