Orders APIs WIP

This commit is contained in:
Fairuz
2021-07-14 15:18:25 +08:00
parent ddbf83465e
commit 562ea1ff7b
28 changed files with 1570 additions and 67 deletions
@@ -33,7 +33,7 @@ class CreateCompanyModuleProcessor
$company_module_object = new CompanyModuleObject(
$company->id,
$company->type,
$company->status,
$company->status
);
return $this->createsCompanyModule->execute($company_module_object);
@@ -0,0 +1,86 @@
<?php
namespace App\Classes\Modules\OrderSteps\DataTransferObjects;
use App\Classes\General\Interfaces\DataTransferObject;
use Carbon\Carbon;
class OrderStepsObject implements DataTransferObject
{
private $id;
private $order_id;
private $appointee_id;
private $reference;
private $primary;
private $sequence;
private $status;
private $contract_status;
private $completed_date;
public function __construct(int $order_id, int $appointee_id, string $reference, bool $primary, float $sequence, int $status, int $contract_status, string $completed_date, int $id=0)
{
$this->order_id = $order_id;
$this->appointee_id = $appointee_id;
$this->reference = $reference;
$this->primary = $primary;
$this->sequence = $sequence;
$this->status = $status;
$this->contract_status = $contract_status;
$this->completed_date = $completed_date;
$this->id = $id;
}
public function getOrderId(): int
{
return $this->order_id;
}
public function getAppointeeId(): int
{
return $this->appointee_id;
}
public function getReference(): string
{
return $this->reference;
}
public function getPrimary(): bool
{
return $this->primary;
}
public function getSequence(): float
{
return $this->sequence;
}
public function getStatus(): int
{
return $this->status;
}
public function getContractStatus(): int
{
return $this->contract_status;
}
public function getCompletedDate(): Carbon
{
return $this->completed_date ? Carbon::parse($this->completed_date) : Carbon::now();
}
public function getId(): int
{
return $this->id;
}
}
@@ -0,0 +1,31 @@
<?php
namespace App\Classes\Modules\OrderSteps\Processors;
use App\Classes\General\Abstracts\AbstractControllerLogic;
use App\Classes\Modules\Orders\DataTransferObjects\OrderObject;
use App\Classes\Modules\Orders\Services\CreatesOrder;
use App\Classes\Modules\Orders\Standards\Rules\CanCreateOrder;
use Illuminate\Http\Request;
class CreateOrderStepsProcessor
{
private $canCreateOrder;
private $createsOrder;
public function __construct(CanCreateOrder $canCreateOrder, CreatesOrder $createsOrder)
{
$this->canCreateOrder = $canCreateOrder;
$this->createsOrder = $createsOrder;
}
public function execute(Request $request) {
$order_object = new OrderObject();
$this->canCreateOrder->passes($order_object);
return $this->createsOrder->execute($request);
}
}
@@ -0,0 +1,51 @@
<?php
namespace App\Classes\Modules\Orders\Services\Steps;
use App\Classes\Modules\Orders\DataTransferObjects\OrderObject;
use App\Classes\Modules\Orders\Services\FetchesOrder;
use App\Classes\Modules\Orders\Services\FetchesOrderSteps;
use App\Classes\Modules\Orders\Services\UpdatesCurrentStep;
use App\Classes\Modules\Orders\Standards\Rules\CanUpdateCurrentStep;
use App\Classes\Modules\OrderSteps\DataTransferObjects\OrderStepsObject;
use App\Classes\ValueObjects\Constants\OrderStatus;
use App\Classes\ValueObjects\Constants\OrderSteps;
use App\Models\Order;
use App\Models\OrderStep;
class UpdateOrderStep
{
private $canUpdateCurrentStep;
private $updatesOrderCurrentStep;
private $fetchesOrder;
private $fetchesOrderSteps;
public function __construct(CanUpdateCurrentStep $canUpdateCurrentStep, FetchesOrder $fetchesOrder, FetchesOrderSteps $fetchesOrderSteps, UpdatesOrderCurrentStep $updatesOrderCurrentStep)
{
$this->canUpdateCurrentStep = $canUpdateCurrentStep;
$this->updatesOrderCurrentStep = $updatesOrderCurrentStep;
$this->fetchesOrder = $fetchesOrder;
$this->fetchesOrderSteps = $fetchesOrderSteps;
}
public function execute(int $orderId, string $currentStep){
$order_object = new OrderStepsObject($currentStep, 0, $currentStep, 0, 0, OrderStatus::PROCESSING, 0, null);
$this->canUpdateCurrentStep->passes($order_object);
$order = $this->fetchesOrder->execute(['id'=>$order_object->getId()]);
$order_steps = $this->fetchesOrderSteps->execute(['order_id'=>$order_object->getId(), 'status'=> OrderStatus::PROCESSING, 'order_by' => 'sequence', 'per_page' => 1]);
$order_object->setCurrentStep($currentStep);
$this->updatesOrderCurrentStep->execute($orderId, $currentStep);
}
}
@@ -0,0 +1,32 @@
<?php
namespace App\Classes\Modules\Orders\Services;
use App\Classes\General\Eloquent\AbstractFetchRecord;
use App\Models\OrderStep;
use Illuminate\Database\Eloquent\Builder;
class FetchesOrderSteps extends AbstractFetchRecord
{
/** @var OrderStep */
private $repository;
/**
* FetchOrderSteps constructor.
* @param OrderStep $repository
*/
public function __construct(OrderStep $repository)
{
$this->repository = $repository;
}
/**
* @return Builder
*/
public function getRepository(): Builder
{
return $this->repository->newQuery();
}
}
@@ -0,0 +1,33 @@
<?php
namespace App\Classes\Modules\Orders\Services;
use App\Classes\General\Eloquent\AbstractFetchRecord;
use App\Models\OrderStep;
use Illuminate\Database\Eloquent\Builder;
use phpDocumentor\Reflection\Types\AbstractList;
class ListsOrderSteps extends AbstractList
{
/** @var OrderStep */
private $repository;
/**
* FetchOrderSteps constructor.
* @param OrderStep $repository
*/
public function __construct(OrderStep $repository)
{
$this->repository = $repository;
}
/**
* @return Builder
*/
public function getRepository(): Builder
{
return $this->repository->newQuery();
}
}
@@ -3,20 +3,27 @@
namespace App\Classes\Modules\Orders\ControllersLogic;
use App\Classes\General\Abstracts\AbstractControllerLogic;
use Illuminate\Http\JsonResponse;
use App\Classes\Modules\Orders\DataTransferObjects\OrderObject;
use App\Classes\Modules\Orders\Services\CreatesOrder;
use App\Classes\Modules\Orders\Standards\Rules\CanCreateOrder;
use App\Classes\ValueObjects\Constants\OrderStatus;
use App\Classes\ValueObjects\Constants\OrderSteps;
use App\Classes\ValueObjects\Constants\OrderType;
use App\Http\Resources\OrderResource;
use Illuminate\Http\Request;
use Illuminate\Http\JsonResponse;
class CreateOrderLogic extends AbstractControllerLogic
{
private $createOrderProcessor;
private $canCreateOrder;
private $createOrderStepsProcessor;
private $createsOrder;
public function __construct(CreateOrderProcessor $createOrderProcessor, CreateOrderStepsProcessor $createOrderStepsProcessor)
public function __construct(CanCreateOrder $canCreateOrder, CreatesOrder $createsOrder)
{
$this->createOrderProcessor = $createOrderProcessor;
$this->createOrderStepsProcessor = $createOrderStepsProcessor;
$this->canCreateOrder = $canCreateOrder;
$this->createsOrder = $createsOrder;
}
protected function notification():array {
@@ -26,11 +33,13 @@ class CreateOrderLogic extends AbstractControllerLogic
];
}
public function logic(Request $request) {
$this->createOrderProcessor->execute($request);
public function logic(Request $request) : JsonResponse {
$order_object = new OrderObject($request->get('company_module_id'), '', '', OrderType::SHARED_CONTAINER, OrderStatus::PROCESSING, OrderSteps::PROCESSING);
$this->createOrderStepsProcessor->execute($order_id, $request);
$this->canCreateOrder->passes($order_object);
//return resources JSON
$order = $this->createsOrder->execute($order_object);
return $this->resourceResponse(new OrderResource($order));
}
}
@@ -0,0 +1,74 @@
<?php
namespace App\Classes\Modules\Orders\DataTransferObjects;
use App\Classes\General\Interfaces\DataTransferObject;
class OrderObject implements DataTransferObject
{
private $id;
private $company_module_id;
private $reference;
private $reference_contract;
private $type;
private $status;
private $current_step;
public function __construct(int $company_module_id, string $reference, string $reference_contract, int $type, int $status, string $current_step, int $id=0)
{
$this->company_module_id = $company_module_id;
$this->reference = $reference;
$this->reference_contract = $reference_contract;
$this->type = $type;
$this->status = $status;
$this->current_step = $current_step;
$this->id = $id;
}
public function getId(): int
{
return $this->id;
}
public function getCompanyModuleId(): int
{
return $this->company_module_id;
}
public function getReference(): string
{
return $this->reference;
}
public function getReferenceContract(): string
{
return $this->reference_contract;
}
public function getType(): int
{
return $this->type;
}
public function getStatus(): int
{
return $this->status;
}
public function getCurrentStep(): string
{
return $this->current_step;
}
public function setCurrentStep(string $step)
{
$this->current_step = $step;
}
}
@@ -1,31 +0,0 @@
<?php
namespace App\Classes\Modules\Orders\ControllersLogic;
use App\Classes\General\Abstracts\AbstractControllerLogic;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
class CreateOrderProcessor
{
private $canCreateOrder;
private $createsOrder;
public function __construct(CanCreateOrder $canCreateOrder, CreatesOrder $createsOrder)
{
$this->canCreateOrder = $canCreateOrder;
$this->createsOrder = $createsOrder;
}
public function execute(Request $request) {
//Data object
$this->createOrderProcessor->execute($request);
//return resources JSON
}
}
@@ -0,0 +1,49 @@
<?php
namespace App\Classes\Modules\Orders\Services\Steps;
use App\Classes\Modules\Orders\DataTransferObjects\OrderObject;
use App\Classes\Modules\Orders\Services\FetchesOrder;
use App\Classes\Modules\Orders\Services\FetchesOrderSteps;
use App\Classes\Modules\Orders\Standards\Rules\CanUpdateCurrentStep;
use App\Classes\ValueObjects\Constants\OrderStatus;
use App\Classes\ValueObjects\Constants\OrderSteps;
use App\Models\Order;
use App\Models\OrderStep;
class UpdatesOrderCurrentStep
{
private $canUpdateCurrentStep;
private $updatesCurrentStep;
private $fetchesOrder;
private $fetchesOrderSteps;
public function __construct(CanUpdateCurrentStep $canUpdateCurrentStep, FetchesOrder $fetchesOrder, FetchesOrderSteps $fetchesOrderSteps, UpdatesOrderCurrentStep $updatesCurrentStep)
{
$this->canUpdateCurrentStep = $canUpdateCurrentStep;
$this->updatesCurrentStep = $updatesCurrentStep;
$this->fetchesOrder = $fetchesOrder;
$this->fetchesOrderSteps = $fetchesOrderSteps;
}
public function execute(int $orderId, string $currentStep){
$order_object = new OrderObject(0, '', '', 0, 0, $currentStep, $orderId);
$this->canUpdateCurrentStep->passes($order_object);
$order = $this->fetchesOrder->execute(['id'=>$order_object->getId()]);
$order_steps = $this->fetchesOrderSteps->execute(['order_id'=>$order_object->getId(), 'status'=> OrderStatus::PROCESSING, 'order_by' => 'sequence', 'per_page' => 1]);
$order_object->setCurrentStep($currentStep);
$order = $this->updatesCurrentStep->execute($order, $order_object);
}
}
@@ -0,0 +1,29 @@
<?php
namespace App\Classes\Modules\Orders\Services;
use App\Classes\General\Eloquent\AbstractUpdateRecord;
use App\Classes\Modules\Orders\DataTransferObjects\OrderObject;
use App\Models\Order;
class CreatesOrder extends AbstractUpdateRecord
{
/**
* @param OrderObject $object
* @return \Illuminate\Database\Eloquent\Model
* @throws \App\Classes\Exceptions\MalformedRequestException
*/
public function execute(OrderObject $object)
{
$model = new Order();
$model->company_module_id = $object->getCompanyModuleId();
$model->reference = $object->getReference();
$model->reference_contract = $object->getReferenceContract();
$model->type = $object->getType();
$model->status = $object->getStatus();
$model->current_step = $object->getCurrentStep();
return $this->handler($model);
}
}
@@ -0,0 +1,32 @@
<?php
namespace App\Classes\Modules\Orders\Services;
use App\Classes\General\Eloquent\AbstractFetchRecord;
use App\Models\Order;
use Illuminate\Database\Eloquent\Builder;
class FetchesOrder extends AbstractFetchRecord
{
/** @var Order */
private $repository;
/**
* FetchOrder constructor.
* @param Order $repository
*/
public function __construct(Order $repository)
{
$this->repository = $repository;
}
/**
* @return Builder
*/
public function getRepository(): Builder
{
return $this->repository->newQuery();
}
}
@@ -0,0 +1,19 @@
<?php
namespace App\Classes\Modules\Orders\Services;
use App\Classes\General\Eloquent\AbstractUpdateRecord;
use App\Classes\Modules\Orders\DataTransferObjects\OrderObject;
use App\Models\Order;
class UpdatesCurrentStep extends AbstractUpdateRecord
{
public function execute(Order $model, OrderObject $object) {
$model->current_step = $object->getCurrentStep();
return $this->handler($model);
}
}
@@ -0,0 +1,41 @@
<?php
namespace App\Classes\Modules\Orders\Standards\Rules;
use App\Classes\General\Abstracts\AbstractRule;
use App\Classes\Modules\Orders\Standards\Validators\OrderValidation;
class CanCreateOrder extends AbstractRule
{
private $orderValidation;
public function __construct(OrderValidation $orderValidation)
{
$this->orderValidation = $orderValidation;
}
/**
* @return bool
*/
protected function authorized(): bool
{
// TODO Set Authorization rules
return true;
}
protected function validators($object): bool
{
return $this->orderValidation->validate($object);
}
/**
* @param CompanyObject $object
* @return bool
*/
protected function criteria($object): bool
{
//Verify account?
//Contract created on Unity
return true;
}
}
@@ -0,0 +1,39 @@
<?php
namespace App\Classes\Modules\Orders\Standards\Rules;
use App\Classes\General\Abstracts\AbstractRule;
use App\Classes\Modules\Orders\Standards\Validators\UpdateCurrentStepValidation;
class CanUpdateCurrentStep extends AbstractRule
{
private $orderValidation;
public function __construct(UpdateCurrentStepValidation $orderValidation)
{
$this->orderValidation = $orderValidation;
}
/**
* @return bool
*/
protected function authorized(): bool
{
// TODO Set Authorization rules
return true;
}
protected function validators($object): bool
{
return $this->orderValidation->validate($object);
}
/**
* @param CompanyObject $object
* @return bool
*/
protected function criteria($object): bool
{
return true;
}
}
@@ -0,0 +1,49 @@
<?php
namespace App\Classes\Modules\Orders\Standards\Validators;
use App\Classes\General\Abstracts\AbstractValidation;
use App\Classes\Modules\Orders\DataTransferObjects\OrderObject;
class OrderValidation extends AbstractValidation
{
/**
* @param OrderObject $object
* @return array
*/
protected function data($object): array
{
return [
'company_module_id' => $object->getCompanyModuleId(),
'reference' => $object->getReference(),
'reference_contract' => $object->getReferenceContract(),
];
}
/**
* @param string $type
* @return array
*/
protected function rules(?string $type = 'POST'): array
{
if ($type == 'POST') {
return [
'company_module_id' => 'required',
'reference' => '',
'reference_contract' => ''
];
} elseif ($type == 'PUT') {
return [
'id' => 'required'
];
}
}
/**
* @return array
*/
protected function messages(): array
{
return [];
}
}
@@ -0,0 +1,41 @@
<?php
namespace App\Classes\Modules\Orders\Standards\Validators;
use App\Classes\General\Abstracts\AbstractValidation;
use App\Classes\Modules\Orders\DataTransferObjects\OrderObject;
class UpdateCurrentStepValidation extends AbstractValidation
{
/**
* @param OrderObject $object
* @return array
*/
protected function data($object): array
{
return [
'id' => $object->getId(),
'current_step' => $object->getCurrentStep(),
];
}
/**
* @param string $type
* @return array
*/
protected function rules(?string $type = 'POST'): array
{
return [
'id'=> 'required|numeric',
'current_step'=> 'required',
];
}
/**
* @return array
*/
protected function messages(): array
{
return [];
}
}
@@ -0,0 +1,17 @@
<?php
namespace App\Classes\ValueObjects\Constants;
final class OrderStatus {
public const PROCESSING = 0;
public const SHIPPING = 1;
public const RECEIVING = 2;
public const COMPLETE = 3;
public const CANCEL = 4;
}
@@ -2,18 +2,19 @@
namespace App\Classes\ValueObjects\Constants;
use App\Classes\Modules\Orders\Processors\ConfirmsOrder;
use App\Classes\Modules\Orders\Processors\DeliverOrder;
use App\Classes\Modules\Orders\Processors\ShipOrder;
use App\Classes\Modules\Orders\Processors\WarehouseArrivalOrder;
use App\Classes\Modules\Orders\Processors\WarehousePackOrder;
use App\Classes\Modules\Orders\Processors\WarehouseReceivesOrder;
use App\Classes\Modules\Orders\Processors\WarehouseUnpackingOrder;
class OrderSteps
final class OrderSteps
{
public const PROCESSING = 'PS_PROCESSING';
public const PACKING = 'PS_PACKING';
public const SHIPPING = 'PS_SHIPPING';
public const DELIVERY = 'PS_DELIVERY';
public const WAREHOUSE_RECEIVING = 'MS_WAREHOUSE_RECEIVING';
public const WAREHOUSE_LOAD_CONTAINER = 'MS_WAREHOUSE_LOAD_CONTAINER';
public const WAREHOUSE_ARRIVAL = 'MS_WAREHOUSE_ARRIVAL';
public const WAREHOUSE_UNLOAD_CONTAINER = 'MS_WAREHOUSE_UNLOAD_CONTAINER';
/*
public const COMPANY_PROCESSING_CATEGORY = 'processing';
public const COMPANY_SHIPPING_CATEGORY = 'shipping';
public const COMPANY_RECEIVING_CATEGORY = 'receiving';
@@ -156,5 +157,5 @@ class OrderSteps
OrderSteps::ORDER_WAREHOUSE_UNPACKING_STEP => WarehouseUnpackingOrder::class,
OrderSteps::ORDER_DELIVERY_STEP => DeliverOrder::class,
];
*/
}
@@ -0,0 +1,11 @@
<?php
namespace App\Classes\ValueObjects\Constants;
final class OrderType {
public const SHARED_CONTAINER = 0;
public const DEDICATED_CONTAINER = 1;
}
@@ -0,0 +1,19 @@
<?php
namespace App\Classes\ValueObjects\Constants;
final class OrderWorkflow
{
public const STANDARD = [
OrderSteps::PROCESSING=>[],
OrderSteps::PACKING=>[],
OrderSteps::SHIPPING=>[
OrderSteps::WAREHOUSE_ARRIVAL=>[],
OrderSteps::WAREHOUSE_LOAD_CONTAINER=>[]
],
OrderSteps::DELIVERY=>[
OrderSteps::WAREHOUSE_RECEIVING=>[],
OrderSteps::WAREHOUSE_UNLOAD_CONTAINER=>[]
],
];
}
@@ -1,8 +1,8 @@
<?php
namespace App\Http\Controllers\Accounts;
namespace App\Http\Controllers\Orders;
use App\Classes\Modules\ControllersLogic\Orders\CreateOrderLogic;
use App\Classes\Modules\Orders\ControllersLogic\CreateOrderLogic;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
@@ -13,8 +13,8 @@ class CreateOrderController
* @param CreateOrderLogic $logic
* @return JsonResponse
*/
public function create(Request $request, CreateOrderLogic $createOrderLogic): JsonResponse
public function create(Request $request, CreateOrderLogic $logic): JsonResponse
{
return $createOrderLogic->execute($request);
return $logic->execute($request);
}
}
+32
View File
@@ -0,0 +1,32 @@
<?php
namespace App\Http\Resources;
use App\Models\Company;
use App\Models\Currency;
use App\Models\SegmentConstant;
use Illuminate\Http\Resources\Json\JsonResource;
class OrderResource extends JsonResource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
return [
'id' => $this->id,
'reference' => $this->reference,
'reference_contract' => (int) $this->type,
'type' => (int) $this->type,
'status' => (int) $this->status,
'company' => new CompanyResource(Company::where('id',$this->companyModule()->first()->company_id)->first()),
];
}
}
+52
View File
@@ -0,0 +1,52 @@
<?php
namespace App\Http\Resources;
use App\Classes\Modules\Companies\Services\FetchesCompanyServices;
use App\Classes\ValueObjects\Constants\BankAccountType;
use App\Classes\ValueObjects\Constants\BusinessType;
use App\Classes\ValueObjects\Constants\DocumentType;
use App\Classes\ValueObjects\Constants\SegmentConstants;
use App\Models\Currency;
use App\Models\SegmentConstant;
use Illuminate\Http\Resources\Json\JsonResource;
class OrderStepsResource extends JsonResource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
return [
'id' => $this->id,
'name' => $this->name,
'reference' => $this->reference,
'type' => (int) $this->type,
'business_type' => (int) $this->business_type,
'status' => (int) $this->status,
'contact' => new ContactResource ($this->when($this->has('contacts'), $this->contacts->first())),
'address' => new AddressResource($this->when($this->has('addresses'), $this->addresses->where('billing', true)->first())),
// 'employee' => new UserResource($this->employees->first()),
// 'identification' => new DocumentResource($this->documents->whereIn('document_type', DocumentType::IDENTIFICATION_DOCUMENTS)->first()),
// 'bookings' => BookingResource::collection($this->whenLoaded('bookings', $this->bookings()->orderBy('id', 'DESC')->get(), [])),
// 'personal_banks' => BankResource::collection($this->banks->where('type', BankAccountType::PERSONAL)),
// 'recipient_banks' => [
// 'accounts' => BankResource::collection($this->banks->where('type', BankAccountType::EXTERNAL)),
// 'default' => new BankResource($this->banks->where('type', BankAccountType::EXTERNAL)->where('default', true)->first())
// ],
// 'segments' => SegmentResource::collection($this->segments),
// 'services' => (new FetchesCompanyServices())->getServices($this->servicesConfigurations()),
// 'currencies' => $this->when($this->business_type === BusinessType::CURRENCY_VENDOR, function(){
// $segment = SegmentConstant::where('reference', SegmentConstants::SUPPLIER_CURRENCIES)->where('detail->id', $this->id)->first();
// return $segment ? CurrencyResource::collection(Currency::whereIn('id', $segment->detail->currencies)->get()) : [];
// })
];
}
}
+23 -4
View File
@@ -2,10 +2,29 @@
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\Relations\MorphMany;
class Order extends Model
class Order extends AbstractModel
{
use HasFactory;
use SoftDeletes;
protected $table = 'orders';
protected $dates = ['deleted_at'];
public function companyModule(): belongsTo
{
return $this->belongsTo(CompanyModule::class, 'company_module_id', 'id');
}
public function orderSteps()
{
return $this->hasMany(OrderStep::class, 'order_id');
}
}
@@ -20,6 +20,7 @@ class CreateOrdersTable extends Migration
$table->string('reference_contract')->comment('Reference no from Unity platform');
$table->integer('type')->default(0)->comment('Order packages can be shipped in shared or dedicated container');
$table->integer('status')->default(0)->comment('Status of this order, e.g. processing, shipping etc.');
$table->string('current_step')->nullable(false)->comment('Current steps is quick reference for order steps');
$table->softDeletes();
$table->timestamps();
File diff suppressed because one or more lines are too long
+5 -5
View File
@@ -3,11 +3,11 @@
use Illuminate\Support\Facades\Route;
Route::group(['prefix' => 'order', 'as' => 'order.', 'namespace' => 'Orders'], function () {
Route::get('/{id}/show', 'FetchCompanyController@fetch')->name('show');
Route::get('/list', 'ListCompaniesController@list')->name('list');
Route::post('/create', 'CreateCompanyController@create')->name('create');
Route::put('/update/{id}', 'UpdateCompanyController@update')->name('update');
Route::delete('/delete/{id}', 'DeleteCompanyController@destroy')->name('delete');
Route::get('/{id}/show', 'FetchOrderController@fetch')->name('show');
Route::get('/list', 'ListOrdersController@list')->name('list');
Route::post('/create', 'CreateOrderController@create')->name('create');
Route::put('/update/{id}', 'UpdateOrderController@update')->name('update');
Route::delete('/delete/{id}', 'DeleteOrderController@destroy')->name('delete');
Route::group(['prefix' => '{id}/step', 'as' => 'step.'], function () {});