Skip to content

Commit

Permalink
Merge pull request #99 from heseya/bugfix/B2B-317
Browse files Browse the repository at this point in the history
Removed metadata from public order
  • Loading branch information
daVitekPL authored Nov 19, 2024
2 parents 87e74cc + a484af0 commit 49edf26
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 6 deletions.
10 changes: 10 additions & 0 deletions app/Http/Controllers/OrderController.php
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,13 @@
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Resources\Json\JsonResource;
use Illuminate\Http\UploadedFile;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Config;
use Illuminate\Support\Facades\Gate;
use Illuminate\Support\Facades\Response;
use Symfony\Component\HttpFoundation\Response as HttpFoundationResponse;
use Symfony\Component\HttpFoundation\StreamedResponse;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;

class OrderController extends Controller
{
Expand Down Expand Up @@ -79,6 +81,10 @@ public function index(OrderIndexRequest $request): JsonResource

public function show(Order $order): JsonResource
{
if (!Auth::user() || !Auth::user()->can('orders.show_details')) {
return OrderPublicResource::make($order);
}

$order->load([
'products.urls',
'products.schemas',
Expand All @@ -101,6 +107,10 @@ public function show(Order $order): JsonResource

public function showPublic(Order $order): JsonResource
{
if (!config('orders.enable_order_public')) {
throw new NotFoundHttpException();
}

return OrderPublicResource::make($order);
}

Expand Down
5 changes: 5 additions & 0 deletions config/orders.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?php

return [
'enable_order_public' => env('ENABLE_ORDER_PUBLIC', true),
];
3 changes: 2 additions & 1 deletion routes/order.php
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
});

Route::get('id:{order:id}', [OrderController::class, 'show'])
->middleware('can:orders.show_details');
->middleware('permission:orders.show_details|orders.show_summary');
Route::patch('id:{order:id}/status', [OrderController::class, 'updateStatus'])
->middleware('can:orders.edit.status');
Route::patch('id:{order:id}', [OrderController::class, 'update'])
Expand All @@ -42,6 +42,7 @@
->middleware('can:orders.edit');
Route::post('id:{order:id}/send-urls', [OrderController::class, 'sendUrls'])
->middleware('can:orders.show_details');
/** @deprecated */
Route::get('{order:code}', [OrderController::class, 'showPublic'])
->middleware('can:orders.show_summary');

Expand Down
7 changes: 2 additions & 5 deletions src/Domain/Order/Resources/OrderPublicResource.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@

use App\Http\Resources\Resource;
use App\Models\Order;
use App\Traits\MetadataResource;
use Domain\Order\Dtos\OrderPriceDto;
use Illuminate\Http\Request;

Expand All @@ -15,14 +14,12 @@
*/
final class OrderPublicResource extends Resource
{
use MetadataResource;

/**
* @return array<string, mixed>
*/
public function base(Request $request): array
{
return array_merge([
return [
'id' => $this->resource->getKey(),
'code' => $this->resource->code,
'status' => OrderStatusResource::make($this->resource->status),
Expand All @@ -41,6 +38,6 @@ public function base(Request $request): array
'language' => $this->resource->language,
'payment_method_type' => $this->resource->payment_method_type,
'vat_rate' => $this->resource->vat_rate,
], $this->metadataResource('orders.show_metadata_private'));
];
}
}

0 comments on commit 49edf26

Please sign in to comment.