mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/portal.git
synced 2026-08-24 15:05:09 +00:00
Orders APIs WIP
This commit is contained in:
@@ -25,7 +25,7 @@ class OrderStepsObject implements DataTransferObject
|
||||
|
||||
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)
|
||||
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;
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
|
||||
namespace App\Classes\Modules\OrderSteps\Processors;
|
||||
|
||||
use App\Classes\Modules\Orders\DataTransferObjects\OrderObject;
|
||||
use App\Classes\Modules\Orders\Processors\UpdatesOrderCurrentStepProcessor;
|
||||
use App\Classes\Modules\Orders\Services\FetchesOrder;
|
||||
use App\Classes\Modules\OrderSteps\Services\CreatesOrderSteps;
|
||||
use App\Classes\Modules\OrderSteps\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\Modules\OrderSteps\Standards\Rules\CanCreateOrderStep;
|
||||
use App\Classes\ValueObjects\Constants\OrderStatus;
|
||||
use App\Classes\ValueObjects\Constants\OrderSteps;
|
||||
use App\Models\Order;
|
||||
use App\Models\OrderStep;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class CreateOrderStepsProcessor
|
||||
{
|
||||
private $canCreateOrderStep;
|
||||
|
||||
private $createsOrderSteps;
|
||||
|
||||
private $fetchesOrder;
|
||||
|
||||
private $fetchesOrderSteps;
|
||||
|
||||
public function __construct(CanCreateOrderStep $canCreateOrderStep, FetchesOrder $fetchesOrder, FetchesOrderSteps $fetchesOrderSteps, CreatesOrderSteps $createsOrderSteps )
|
||||
{
|
||||
$this->canCreateOrderStep = $canCreateOrderStep;
|
||||
$this->createsOrderSteps = $createsOrderSteps;
|
||||
$this->fetchesOrder = $fetchesOrder;
|
||||
$this->fetchesOrderSteps = $fetchesOrderSteps;
|
||||
}
|
||||
|
||||
public function execute(Model $order, string $currentStep){
|
||||
|
||||
$order_steps_object = new OrderStepsObject($order->id, $order->company_module_id, $currentStep, true, 0, OrderStatus::PROCESSING, 0, null);
|
||||
|
||||
$this->canCreateOrderStep->passes($order_steps_object);
|
||||
|
||||
return $this->createsOrderSteps->execute($order_steps_object);
|
||||
|
||||
}
|
||||
}
|
||||
+5
-6
@@ -1,10 +1,11 @@
|
||||
<?php
|
||||
|
||||
namespace App\Classes\Modules\Orders\Services\Steps;
|
||||
namespace App\Classes\Modules\OrderSteps\Processors;
|
||||
|
||||
use App\Classes\Modules\Orders\DataTransferObjects\OrderObject;
|
||||
use App\Classes\Modules\Orders\Processors\UpdatesOrderCurrentStepProcessor;
|
||||
use App\Classes\Modules\Orders\Services\FetchesOrder;
|
||||
use App\Classes\Modules\Orders\Services\FetchesOrderSteps;
|
||||
use App\Classes\Modules\OrderSteps\Services\FetchesOrderSteps;
|
||||
use App\Classes\Modules\Orders\Services\UpdatesCurrentStep;
|
||||
use App\Classes\Modules\Orders\Standards\Rules\CanUpdateCurrentStep;
|
||||
use App\Classes\Modules\OrderSteps\DataTransferObjects\OrderStepsObject;
|
||||
@@ -13,7 +14,7 @@ use App\Classes\ValueObjects\Constants\OrderSteps;
|
||||
use App\Models\Order;
|
||||
use App\Models\OrderStep;
|
||||
|
||||
class UpdateOrderStep
|
||||
class UpdateOrderStepsProcessor
|
||||
{
|
||||
private $canUpdateCurrentStep;
|
||||
|
||||
@@ -23,7 +24,7 @@ class UpdateOrderStep
|
||||
|
||||
private $fetchesOrderSteps;
|
||||
|
||||
public function __construct(CanUpdateCurrentStep $canUpdateCurrentStep, FetchesOrder $fetchesOrder, FetchesOrderSteps $fetchesOrderSteps, UpdatesOrderCurrentStep $updatesOrderCurrentStep)
|
||||
public function __construct(CanUpdateCurrentStep $canUpdateCurrentStep, FetchesOrder $fetchesOrder, FetchesOrderSteps $fetchesOrderSteps, UpdatesOrderCurrentStepProcessor $updatesOrderCurrentStep )
|
||||
{
|
||||
$this->canUpdateCurrentStep = $canUpdateCurrentStep;
|
||||
$this->updatesOrderCurrentStep = $updatesOrderCurrentStep;
|
||||
@@ -41,8 +42,6 @@ class UpdateOrderStep
|
||||
|
||||
$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,26 @@
|
||||
<?php
|
||||
|
||||
namespace App\Classes\Modules\OrderSteps\Services;
|
||||
|
||||
use App\Classes\General\Eloquent\AbstractUpdateRecord;
|
||||
use App\Classes\Modules\OrderSteps\DataTransferObjects\OrderStepsObject;
|
||||
use App\Models\OrderStep;
|
||||
|
||||
class CreatesOrderSteps extends AbstractUpdateRecord
|
||||
{
|
||||
|
||||
public function execute(OrderStepsObject $object) {
|
||||
|
||||
$model = new OrderStep();
|
||||
$model->order_id = $object->getOrderId();
|
||||
$model->appointee_id = $object->getAppointeeId();
|
||||
$model->reference = $object->getReference();
|
||||
$model->primary = $object->getPrimary();
|
||||
$model->sequence = $object->getSequence();
|
||||
$model->status = $object->getStatus();
|
||||
$model->contract_status = $object->getContractStatus();
|
||||
|
||||
return $this->handler($model);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
namespace App\Classes\Modules\Orders\Services;
|
||||
namespace App\Classes\Modules\OrderSteps\Services;
|
||||
|
||||
use App\Classes\General\Eloquent\AbstractFetchRecord;
|
||||
use App\Models\OrderStep;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
namespace App\Classes\Modules\Orders\Services;
|
||||
namespace App\Classes\Modules\OrderSteps\Services;
|
||||
|
||||
use App\Classes\General\Eloquent\AbstractFetchRecord;
|
||||
use App\Models\OrderStep;
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
namespace App\Classes\Modules\OrderSteps\Services;
|
||||
|
||||
use App\Classes\General\Eloquent\AbstractUpdateRecord;
|
||||
use App\Classes\Modules\OrderSteps\DataTransferObjects\OrderStepsObject;
|
||||
use App\Models\Order;
|
||||
|
||||
class UpdatesOrderSteps extends AbstractUpdateRecord
|
||||
{
|
||||
|
||||
public function execute(Order $model, OrderStepsObject $object) {
|
||||
|
||||
$model->appointee_id = $object->getAppointeeId();
|
||||
$model->reference = $object->getReference();
|
||||
$model->primary = $object->getPrimary();
|
||||
$model->sequence = $object->getSequence();
|
||||
$model->status = $object->getStatus();
|
||||
$model->contract_status = $object->getContractStatus();
|
||||
$model->complete_date = $object->getCompletedDate();
|
||||
|
||||
return $this->handler($model);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
namespace App\Classes\Modules\OrderSteps\Standards\Rules;
|
||||
|
||||
use App\Classes\General\Abstracts\AbstractRule;
|
||||
use App\Classes\Modules\OrderSteps\Standards\Validators\CreateOrderStepValidation;
|
||||
|
||||
class CanCreateOrderStep extends AbstractRule
|
||||
{
|
||||
private $orderValidation;
|
||||
|
||||
public function __construct(CreateOrderStepValidation $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\OrderSteps\Standards\Rules;
|
||||
|
||||
use App\Classes\General\Abstracts\AbstractRule;
|
||||
use App\Classes\Modules\OrderSteps\Standards\Validators\UpdateOrderStepValidation;
|
||||
|
||||
class CanUpdateOrderStep extends AbstractRule
|
||||
{
|
||||
private $orderValidation;
|
||||
|
||||
public function __construct(UpdateOrderStepValidation $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,41 @@
|
||||
<?php
|
||||
|
||||
namespace App\Classes\Modules\OrderSteps\Standards\Validators;
|
||||
|
||||
use App\Classes\General\Abstracts\AbstractValidation;
|
||||
use App\Classes\Modules\Orders\DataTransferObjects\OrderObject;
|
||||
|
||||
class CreateOrderStepValidation extends AbstractValidation
|
||||
{
|
||||
/**
|
||||
* @param OrderObject $object
|
||||
* @return array
|
||||
*/
|
||||
protected function data($object): array
|
||||
{
|
||||
return [];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $type
|
||||
* @return array
|
||||
*/
|
||||
protected function rules(?string $type = 'POST'): array
|
||||
{
|
||||
if ($type == 'POST') {
|
||||
return [];
|
||||
} elseif ($type == 'PUT') {
|
||||
return [
|
||||
'id' => 'required'
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
protected function messages(): array
|
||||
{
|
||||
return [];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
namespace App\Classes\Modules\OrderSteps\Standards\Validators;
|
||||
|
||||
use App\Classes\General\Abstracts\AbstractValidation;
|
||||
use App\Classes\Modules\Orders\DataTransferObjects\OrderObject;
|
||||
|
||||
class UpdateOrderStepValidation 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,45 @@
|
||||
<?php
|
||||
|
||||
namespace App\Classes\Modules\Orders\ControllersLogic;
|
||||
|
||||
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 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 ConfirmOrderLogic extends AbstractControllerLogic
|
||||
{
|
||||
|
||||
private $canCreateOrder;
|
||||
|
||||
private $createsOrder;
|
||||
|
||||
public function __construct(CanCreateOrder $canCreateOrder, CreatesOrder $createsOrder)
|
||||
{
|
||||
$this->canCreateOrder = $canCreateOrder;
|
||||
$this->createsOrder = $createsOrder;
|
||||
}
|
||||
|
||||
protected function notification():array {
|
||||
return [
|
||||
'title' => 'Created Order',
|
||||
'message' => 'You have successfully created a new Order'
|
||||
];
|
||||
}
|
||||
|
||||
public function logic(Request $request) : JsonResponse {
|
||||
$order_object = new OrderObject($request->get('company_module_id'), '', '', OrderType::SHARED_CONTAINER, OrderStatus::PROCESSING, OrderSteps::PROCESSING);
|
||||
|
||||
$this->canCreateOrder->passes($order_object);
|
||||
|
||||
$order = $this->createsOrder->execute($order_object);
|
||||
|
||||
return $this->resourceResponse(new OrderResource($order));
|
||||
}
|
||||
}
|
||||
@@ -5,6 +5,7 @@ namespace App\Classes\Modules\Orders\ControllersLogic;
|
||||
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\Processors\CreateOrderProcessor;
|
||||
use App\Classes\Modules\Orders\Standards\Rules\CanCreateOrder;
|
||||
use App\Classes\ValueObjects\Constants\OrderStatus;
|
||||
use App\Classes\ValueObjects\Constants\OrderSteps;
|
||||
@@ -16,14 +17,11 @@ use Illuminate\Http\JsonResponse;
|
||||
class CreateOrderLogic extends AbstractControllerLogic
|
||||
{
|
||||
|
||||
private $canCreateOrder;
|
||||
private $createOrderProcessor;
|
||||
|
||||
private $createsOrder;
|
||||
|
||||
public function __construct(CanCreateOrder $canCreateOrder, CreatesOrder $createsOrder)
|
||||
public function __construct( CreateOrderProcessor $createsOrderProcessor)
|
||||
{
|
||||
$this->canCreateOrder = $canCreateOrder;
|
||||
$this->createsOrder = $createsOrder;
|
||||
$this->createOrderProcessor = $createsOrderProcessor;
|
||||
}
|
||||
|
||||
protected function notification():array {
|
||||
@@ -34,11 +32,14 @@ class CreateOrderLogic extends AbstractControllerLogic
|
||||
}
|
||||
|
||||
public function logic(Request $request) : JsonResponse {
|
||||
$order_object = new OrderObject($request->get('company_module_id'), '', '', OrderType::SHARED_CONTAINER, OrderStatus::PROCESSING, OrderSteps::PROCESSING);
|
||||
|
||||
$this->canCreateOrder->passes($order_object);
|
||||
$order = $this->createOrderProcessor->execute($request);
|
||||
|
||||
$order = $this->createsOrder->execute($order_object);
|
||||
//$order_object = new OrderObject($request->get('company_module_id'), '', '', OrderType::SHARED_CONTAINER, OrderStatus::PROCESSING, OrderSteps::PROCESSING);
|
||||
|
||||
//$this->canCreateOrder->passes($order_object);
|
||||
|
||||
//$order = $this->createsOrder->execute($order_object);
|
||||
|
||||
return $this->resourceResponse(new OrderResource($order));
|
||||
}
|
||||
|
||||
@@ -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\OrderSteps\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 ConfirmOrderProcessor
|
||||
{
|
||||
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,42 @@
|
||||
<?php
|
||||
|
||||
namespace App\Classes\Modules\Orders\Processors;
|
||||
|
||||
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\Modules\OrderSteps\Processors\CreateOrderStepsProcessor;
|
||||
use App\Classes\ValueObjects\Constants\OrderStatus;
|
||||
use App\Classes\ValueObjects\Constants\OrderSteps;
|
||||
use App\Classes\ValueObjects\Constants\OrderType;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class CreateOrderProcessor
|
||||
{
|
||||
private $canCreateOrder;
|
||||
|
||||
private $createsOrder;
|
||||
|
||||
private $createOrderStepsProcessor;
|
||||
|
||||
public function __construct(CanCreateOrder $canCreateOrder, CreatesOrder $createsOrder, CreateOrderStepsProcessor $createOrderStepsProcessor)
|
||||
{
|
||||
$this->canCreateOrder = $canCreateOrder;
|
||||
$this->createsOrder = $createsOrder;
|
||||
$this->createOrderStepsProcessor = $createOrderStepsProcessor;
|
||||
}
|
||||
|
||||
public function execute(Request $request){
|
||||
|
||||
$order_object = new OrderObject($request->get('company_module_id'), $request->get('reference'), '', OrderType::SHARED_CONTAINER, OrderStatus::PROCESSING, OrderSteps::PROCESSING);
|
||||
|
||||
$this->canCreateOrder->passes($order_object);
|
||||
|
||||
$order = $this->createsOrder->execute($order_object);
|
||||
|
||||
//Add processing to order step
|
||||
$this->createOrderStepsProcessor->execute($order, OrderSteps::PROCESSING);
|
||||
|
||||
return $order;
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,11 @@
|
||||
<?php
|
||||
|
||||
namespace App\Classes\Modules\Orders\Services\Steps;
|
||||
namespace App\Classes\Modules\Orders\Processors;
|
||||
|
||||
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\OrderSteps\Services\FetchesOrderSteps;
|
||||
use App\Classes\Modules\Orders\Standards\Rules\CanUpdateCurrentStep;
|
||||
use App\Classes\ValueObjects\Constants\OrderStatus;
|
||||
use App\Classes\ValueObjects\Constants\OrderSteps;
|
||||
@@ -21,7 +22,7 @@ class UpdatesOrderCurrentStepProcessor
|
||||
|
||||
private $fetchesOrderSteps;
|
||||
|
||||
public function __construct(CanUpdateCurrentStep $canUpdateCurrentStep, FetchesOrder $fetchesOrder, FetchesOrderSteps $fetchesOrderSteps, UpdatesOrderCurrentStep $updatesCurrentStep)
|
||||
public function __construct(CanUpdateCurrentStep $canUpdateCurrentStep, FetchesOrder $fetchesOrder, FetchesOrderSteps $fetchesOrderSteps, UpdatesCurrentStep $updatesCurrentStep)
|
||||
{
|
||||
$this->canUpdateCurrentStep = $canUpdateCurrentStep;
|
||||
$this->updatesCurrentStep = $updatesCurrentStep;
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Classes\ValueObjects\Constants;
|
||||
|
||||
final class UnityStatus {
|
||||
|
||||
public const PENDING = 9;
|
||||
|
||||
public const ACTIVE = 1;
|
||||
|
||||
public const DELETED = 2;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Orders;
|
||||
|
||||
use App\Classes\Modules\Orders\ControllersLogic\CompletesOrderStepLogic;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class CompletesOrderStepsController
|
||||
{
|
||||
/**
|
||||
* @param Request $request
|
||||
* @param CreateOrderLogic $logic
|
||||
* @return JsonResponse
|
||||
*/
|
||||
public function complete(Request $request, CompletesOrderStepLogic $logic): JsonResponse
|
||||
{
|
||||
return $logic->execute($request);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Orders;
|
||||
|
||||
use App\Classes\Modules\Orders\ControllersLogic\ConfirmOrderLogic;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class ConfirmOrderController
|
||||
{
|
||||
/**
|
||||
* @param Request $request
|
||||
* @param ConfirmOrderLogic $logic
|
||||
* @return JsonResponse
|
||||
*/
|
||||
public function confirm(Request $request, ConfirmOrderLogic $logic): JsonResponse
|
||||
{
|
||||
return $logic->execute($request);
|
||||
}
|
||||
}
|
||||
@@ -5,6 +5,7 @@ namespace App\Http\Resources;
|
||||
|
||||
use App\Models\Company;
|
||||
use App\Models\Currency;
|
||||
use App\Models\OrderStep;
|
||||
use App\Models\SegmentConstant;
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
@@ -24,9 +25,9 @@ class OrderResource extends JsonResource
|
||||
'reference_contract' => (int) $this->type,
|
||||
'type' => (int) $this->type,
|
||||
'status' => (int) $this->status,
|
||||
'current_step' => $this->current_step,
|
||||
'company' => new CompanyResource(Company::where('id',$this->companyModule()->first()->company_id)->first()),
|
||||
|
||||
'order_steps' => OrderStepsResource::collection($this->orderSteps()->get()),
|
||||
];
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,30 +23,14 @@ class OrderStepsResource extends JsonResource
|
||||
{
|
||||
return [
|
||||
'id' => $this->id,
|
||||
'name' => $this->name,
|
||||
'order_id' => $this->order_id,
|
||||
'appointee_id' => $this->appointee_id,
|
||||
'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()) : [];
|
||||
// })
|
||||
|
||||
|
||||
'primary' => (int) $this->primary,
|
||||
'sequence' => (double) $this->sequence,
|
||||
'status' =>(int) $this->status,
|
||||
'contract_status' =>(int) $this->contract_status,
|
||||
'complete_date' => $this->complete_date,
|
||||
];
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,10 +2,14 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
class OrderStep extends Model
|
||||
class OrderStep extends AbstractModel
|
||||
{
|
||||
use HasFactory;
|
||||
use SoftDeletes;
|
||||
|
||||
protected $table = 'order_steps';
|
||||
|
||||
protected $dates = ['deleted_at'];
|
||||
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
+10
-5
@@ -3,14 +3,19 @@
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
Route::group(['prefix' => 'order', 'as' => 'order.', 'namespace' => 'Orders'], function () {
|
||||
Route::get('/{id}/show', 'FetchOrderController@fetch')->name('show');
|
||||
Route::get('/list', 'ListOrdersController@list')->name('list');
|
||||
#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::put('/confirm/{id}', 'ConfirmOrderController@confirm')->name('confirm');
|
||||
#Route::put('/update/{id}', 'UpdateOrderController@update')->name('update');
|
||||
#Route::delete('/delete/{id}', 'DeleteOrderController@destroy')->name('delete');
|
||||
|
||||
|
||||
Route::group(['prefix' => '{id}/step', 'as' => 'step.'], function () {});
|
||||
Route::group(['prefix' => '{id}/step', 'as' => 'step.'], function () {
|
||||
|
||||
Route::post('/complete', 'CompletesOrderStepsController@complete')->name('create');
|
||||
|
||||
});
|
||||
|
||||
Route::group(['prefix' => '{id}/role', 'as' => 'role.'], function () {});
|
||||
});
|
||||
Reference in New Issue
Block a user