mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/shipping-portal.git
synced 2026-08-19 04:24:12 +00:00
WIP - Order steps & remaining APIs
This commit is contained in:
@@ -0,0 +1,72 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Classes\Modules\Banks\ControllersLogic;
|
||||||
|
|
||||||
|
use App\Classes\General\Abstracts\AbstractControllerLogic;
|
||||||
|
|
||||||
|
use App\Classes\Modules\Banks\Standards\Rules\CanCreateBank;
|
||||||
|
use App\Classes\Modules\Banks\Services\CreatesBank;
|
||||||
|
use App\Classes\Modules\Banks\DataTransferObjects\BankObject;
|
||||||
|
use App\Http\Resources\BankResource;
|
||||||
|
|
||||||
|
use ErrorException;
|
||||||
|
use Illuminate\Http\JsonResponse;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
|
||||||
|
class CreateBankLogic extends AbstractControllerLogic
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
protected function notification():array {
|
||||||
|
return [
|
||||||
|
'title' => 'Created Bank',
|
||||||
|
'message' => 'You have successfully created a new Bank'
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @var CanCreateBank */
|
||||||
|
private $canCreateBank;
|
||||||
|
|
||||||
|
/** @var CreatesBank */
|
||||||
|
private $createsBank;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* CreateBankLogic constructor.
|
||||||
|
* @param CanCreateBank $canCreateBank
|
||||||
|
* @param CreatesBank $createsBank
|
||||||
|
*/
|
||||||
|
public function __construct(
|
||||||
|
CanCreateBank $canCreateBank,
|
||||||
|
CreatesBank $createsBank
|
||||||
|
)
|
||||||
|
{
|
||||||
|
$this->canCreateBank = $canCreateBank;
|
||||||
|
$this->createsBank = $createsBank;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param Request $request
|
||||||
|
* @return JsonResponse
|
||||||
|
* @throws \App\Classes\Exceptions\AccessForbiddenException
|
||||||
|
* @throws \App\Classes\Exceptions\MalformedRequestException
|
||||||
|
* @throws \App\Classes\Exceptions\RequestValidationException
|
||||||
|
*/
|
||||||
|
public function logic(Request $request) : JsonResponse
|
||||||
|
{
|
||||||
|
|
||||||
|
$bank_object = new BankObject($request->input('company_id'), $request->input('account_type'),
|
||||||
|
$request->input('bank_name'), $request->input('holder_name'), $request->input('account_no'),
|
||||||
|
$request->input('bank_branch'), $request->input('swift'), $request->input('snap'),
|
||||||
|
$request->input('country_id'), $request->input('reference'));
|
||||||
|
|
||||||
|
$this->canCreateBank->passes($bank_object);
|
||||||
|
|
||||||
|
$bank = $this->createsBank->execute($bank_object);
|
||||||
|
|
||||||
|
return $this->resourceResponse(new BankResource($bank));
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,77 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Classes\Modules\Banks\ControllersLogic;
|
||||||
|
|
||||||
|
use App\Classes\Exceptions\RequestValidationException;
|
||||||
|
use App\Classes\General\Abstracts\AbstractControllerLogic;
|
||||||
|
use App\Classes\Modules\Banks\Services\FetchesBank;
|
||||||
|
use App\Classes\Modules\Banks\Standards\Rules\CanDeleteBank;
|
||||||
|
use App\Classes\Modules\Banks\Services\DeletesBank;
|
||||||
|
use App\Http\Resources\BankResource;
|
||||||
|
use Illuminate\Http\JsonResponse;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class DeleteBankLogic extends AbstractControllerLogic
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
protected function notification():array {
|
||||||
|
return [
|
||||||
|
'title' => 'Delete Bank',
|
||||||
|
'message' => 'You have successfully deleted the Bank'
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @var CanDeleteBank */
|
||||||
|
private $canDeleteBank;
|
||||||
|
|
||||||
|
/** @var DeletesBank */
|
||||||
|
private $deletesBank;
|
||||||
|
|
||||||
|
/** @var FetchesBank */
|
||||||
|
private $fetchesBank;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DeleteBankLogic constructor.
|
||||||
|
* @param CanDeleteBank $canDeleteBank
|
||||||
|
* @param DeletesBank $deletesBank
|
||||||
|
* @param FetchesBank $fetchesBank
|
||||||
|
*/
|
||||||
|
public function __construct(
|
||||||
|
CanDeleteBank $canDeleteBank,
|
||||||
|
DeletesBank $deletesBank,
|
||||||
|
FetchesBank $fetchesBank
|
||||||
|
)
|
||||||
|
{
|
||||||
|
$this->canDeleteBank = $canDeleteBank;
|
||||||
|
$this->deletesBank = $deletesBank;
|
||||||
|
$this->fetchesBank = $fetchesBank;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param Request $request
|
||||||
|
* @return JsonResponse
|
||||||
|
* @throws \App\Classes\Exceptions\AccessForbiddenException
|
||||||
|
* @throws \App\Classes\Exceptions\MalformedRequestException
|
||||||
|
* @throws \App\Classes\Exceptions\RequestValidationException
|
||||||
|
*/
|
||||||
|
public function logic(Request $request) : JsonResponse
|
||||||
|
{
|
||||||
|
|
||||||
|
$this->canDeleteBank->passes();
|
||||||
|
|
||||||
|
$bank = $this->fetchesBank->execute(['id' => $request->route('id')]);
|
||||||
|
|
||||||
|
if($bank->default){
|
||||||
|
throw new RequestValidationException('You can\'t delete bank account when it set to default');
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->deletesBank->execute($bank);
|
||||||
|
|
||||||
|
return $this->response([]);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,62 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Classes\Modules\Banks\ControllersLogic;
|
||||||
|
|
||||||
|
|
||||||
|
use App\Classes\General\Abstracts\AbstractControllerLogic;
|
||||||
|
use App\Classes\Modules\Banks\Services\ListsBanks;
|
||||||
|
use App\Classes\Modules\Banks\Standards\Rules\CanListBanks;
|
||||||
|
use App\Http\Resources\BankResource;
|
||||||
|
use App\Http\Resources\CompanyResource;
|
||||||
|
use Illuminate\Http\JsonResponse;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class ListBanksLogic extends AbstractControllerLogic
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
protected function notification():array {
|
||||||
|
return [
|
||||||
|
'title' => 'Retrieve Banks',
|
||||||
|
'message' => 'You have successfully retrieved a list of Banks'
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @var CanListBanks */
|
||||||
|
private $canListBanks;
|
||||||
|
|
||||||
|
/** @var ListsBanks */
|
||||||
|
private $listsBanks;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ListBanksLogic constructor.
|
||||||
|
* @param CanListBanks $canListBanks
|
||||||
|
* @param ListsBanks $listsBanks
|
||||||
|
*/
|
||||||
|
public function __construct(CanListBanks $canListBanks, ListsBanks $listsBanks)
|
||||||
|
{
|
||||||
|
$this->canListBanks = $canListBanks;
|
||||||
|
$this->listsBanks = $listsBanks;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param Request $request
|
||||||
|
* @return JsonResponse
|
||||||
|
* @throws \App\Classes\Exceptions\AccessForbiddenException
|
||||||
|
* @throws \App\Classes\Exceptions\MalformedRequestException
|
||||||
|
* @throws \App\Classes\Exceptions\RequestValidationException
|
||||||
|
*/
|
||||||
|
public function logic(Request $request) : JsonResponse
|
||||||
|
{
|
||||||
|
$this->canListBanks->passes();
|
||||||
|
|
||||||
|
$banks = $this->listsBanks->execute($this->listsBanks->deserializeFilters($request->input('filters')));
|
||||||
|
|
||||||
|
return $this->collectionResponse(BankResource::collection($banks));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,78 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Classes\Modules\Banks\ControllersLogic;
|
||||||
|
|
||||||
|
use App\Http\Resources\BankResource;
|
||||||
|
|
||||||
|
use App\Classes\General\Abstracts\AbstractControllerLogic;
|
||||||
|
|
||||||
|
use App\Classes\Modules\Banks\Services\FetchesBank;
|
||||||
|
use App\Classes\Modules\Banks\Services\ListsBanks;
|
||||||
|
|
||||||
|
use App\Classes\Modules\Banks\Standards\Rules\CanUpdateBank;
|
||||||
|
use App\Classes\Modules\Banks\Services\ResetsBanksDefault;
|
||||||
|
use App\Classes\Modules\Banks\Services\SetsBankToDefault;
|
||||||
|
|
||||||
|
use App\Classes\Modules\Banks\DataTransferObjects\BankObject;
|
||||||
|
use App\Classes\ValueObjects\Constants\DefaultType;
|
||||||
|
|
||||||
|
use App\Models\Bank;
|
||||||
|
use ErrorException;
|
||||||
|
use Illuminate\Http\JsonResponse;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
|
||||||
|
class SetBankToDefaultLogic extends AbstractControllerLogic
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
protected function notification():array {
|
||||||
|
return [
|
||||||
|
'title' => 'Updated Bank',
|
||||||
|
'message' => 'You have successfully updated the Bank'
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @var ResetsBanksDefault */
|
||||||
|
private $resetsBanksDefault;
|
||||||
|
|
||||||
|
/** @var FetchesBank */
|
||||||
|
private $fetchesBank;
|
||||||
|
|
||||||
|
/** @var SetsBankToDefault*/
|
||||||
|
private $setsBankToDefault ;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* SetBankToDefaultLogic constructor.
|
||||||
|
* @param ResetsBanksDefault $resetsBanksDefault
|
||||||
|
* @param FetchesBank $fetchesBank
|
||||||
|
* @param SetsBankToDefault $setsBankToDefault
|
||||||
|
*/
|
||||||
|
public function __construct(ResetsBanksDefault $resetsBanksDefault, FetchesBank $fetchesBank, SetsBankToDefault $setsBankToDefault)
|
||||||
|
{
|
||||||
|
$this->resetsBanksDefault = $resetsBanksDefault;
|
||||||
|
$this->fetchesBank = $fetchesBank;
|
||||||
|
$this->setsBankToDefault = $setsBankToDefault;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param Request $request
|
||||||
|
* @return JsonResponse
|
||||||
|
* @throws \App\Classes\Exceptions\MalformedRequestException
|
||||||
|
*/
|
||||||
|
public function logic(Request $request) : JsonResponse
|
||||||
|
{
|
||||||
|
|
||||||
|
/** @var Bank $bank */
|
||||||
|
$bank = $this->fetchesBank->execute(['id' => $request->route('id')]);
|
||||||
|
|
||||||
|
$this->resetsBanksDefault->execute($bank);
|
||||||
|
|
||||||
|
$this->setsBankToDefault->execute($bank);
|
||||||
|
|
||||||
|
return $this->resourceResponse(new BankResource($this->setsBankToDefault->execute($bank)));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,85 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Classes\Modules\Banks\ControllersLogic;
|
||||||
|
|
||||||
|
use App\Http\Resources\BankResource;
|
||||||
|
|
||||||
|
use App\Classes\General\Abstracts\AbstractControllerLogic;
|
||||||
|
|
||||||
|
use App\Classes\Modules\Banks\Services\FetchesBank;
|
||||||
|
|
||||||
|
use App\Classes\Modules\Banks\Standards\Rules\CanUpdateBank;
|
||||||
|
use App\Classes\Modules\Banks\Services\UpdatesBank;
|
||||||
|
use App\Classes\Modules\Banks\DataTransferObjects\BankObject;
|
||||||
|
|
||||||
|
use ErrorException;
|
||||||
|
use Illuminate\Http\JsonResponse;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
|
||||||
|
class UpdateBankLogic extends AbstractControllerLogic
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
protected function notification():array {
|
||||||
|
return [
|
||||||
|
'title' => 'Update Bank Account',
|
||||||
|
'message' => 'You have successfully updated the Bank Account'
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @var CanUpdateBank */
|
||||||
|
private $canUpdateBank;
|
||||||
|
|
||||||
|
/** @var UpdatesBank */
|
||||||
|
private $updatesBank;
|
||||||
|
|
||||||
|
/** @var FetchesBank */
|
||||||
|
private $fetchesBank;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* UpdateBankLogic constructor.
|
||||||
|
* @param CanUpdateBank $canUpdateBank
|
||||||
|
* @param UpdatesBank $updatesBank
|
||||||
|
* @param FetchesBank $fetchesBank
|
||||||
|
*/
|
||||||
|
public function __construct(
|
||||||
|
CanUpdateBank $canUpdateBank,
|
||||||
|
UpdatesBank $updatesBank,
|
||||||
|
FetchesBank $fetchesBank
|
||||||
|
)
|
||||||
|
{
|
||||||
|
$this->canUpdateBank = $canUpdateBank;
|
||||||
|
$this->updatesBank = $updatesBank;
|
||||||
|
$this->fetchesBank = $fetchesBank;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param Request $request
|
||||||
|
* @return JsonResponse
|
||||||
|
* @throws \App\Classes\Exceptions\AccessForbiddenException
|
||||||
|
* @throws \App\Classes\Exceptions\MalformedRequestException
|
||||||
|
* @throws \App\Classes\Exceptions\RequestValidationException
|
||||||
|
*/
|
||||||
|
public function logic(Request $request) : JsonResponse
|
||||||
|
{
|
||||||
|
|
||||||
|
$bankObject = new BankObject($request->input('company_id'), $request->input('country_id'),
|
||||||
|
$request->input('reference'), $request->input('bank_name'), $request->input('holder_name'),
|
||||||
|
$request->input('account_no'));
|
||||||
|
|
||||||
|
|
||||||
|
$bank = $this->fetchesBank->execute(['id' => $request->route('id')]);
|
||||||
|
|
||||||
|
$this->canUpdateBank->passes($bankObject);
|
||||||
|
|
||||||
|
$bank_query = $this->updatesBank->execute($bank, $bankObject);
|
||||||
|
|
||||||
|
return $this->resourceResponse(new BankResource($bank_query));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,136 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Classes\Modules\Banks\DataTransferObjects;
|
||||||
|
|
||||||
|
use App\Classes\General\Interfaces\DataTransferObject;
|
||||||
|
|
||||||
|
class BankObject implements DataTransferObject
|
||||||
|
{
|
||||||
|
|
||||||
|
/** @var int */
|
||||||
|
private $company_id;
|
||||||
|
|
||||||
|
/** @var int */
|
||||||
|
private $type;
|
||||||
|
|
||||||
|
/** @var string */
|
||||||
|
private $bank_name;
|
||||||
|
|
||||||
|
/** @var string */
|
||||||
|
private $holder_name;
|
||||||
|
|
||||||
|
/** @var string */
|
||||||
|
private $account_no;
|
||||||
|
|
||||||
|
/** @var int */
|
||||||
|
private $country_id;
|
||||||
|
|
||||||
|
/** @var string|null */
|
||||||
|
private $reference;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* BankObject constructor.
|
||||||
|
* @param int $company_id
|
||||||
|
* @param int $type
|
||||||
|
* @param string $bank_name
|
||||||
|
* @param string $holder_name
|
||||||
|
* @param string $account_no
|
||||||
|
* @param int $country_id
|
||||||
|
* @param null|string $reference
|
||||||
|
*/
|
||||||
|
public function __construct(int $company_id, int $type, string $bank_name, string $holder_name, string $account_no, ?string $bank_branch = null, ?string $swift = null, ?string $snap = null, int $country_id, ?string $reference = null)
|
||||||
|
{
|
||||||
|
$this->company_id = $company_id;
|
||||||
|
$this->type = $type;
|
||||||
|
$this->bank_name = $bank_name;
|
||||||
|
$this->holder_name = $holder_name;
|
||||||
|
$this->account_no = $account_no;
|
||||||
|
$this->bank_branch = $bank_branch;
|
||||||
|
$this->swift = $swift;
|
||||||
|
$this->snap = $snap;
|
||||||
|
$this->country_id = $country_id;
|
||||||
|
$this->reference = $reference;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public function getCompanyId(): int
|
||||||
|
{
|
||||||
|
return $this->company_id;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public function getType(): int
|
||||||
|
{
|
||||||
|
return $this->type;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getBankName(): string
|
||||||
|
{
|
||||||
|
return $this->bank_name;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getHolderName(): string
|
||||||
|
{
|
||||||
|
return $this->holder_name;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getAccountNo(): string
|
||||||
|
{
|
||||||
|
return $this->account_no;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return null|string
|
||||||
|
*/
|
||||||
|
public function getBankBranch(): ?string
|
||||||
|
{
|
||||||
|
return $this->bank_branch;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return null|string
|
||||||
|
*/
|
||||||
|
public function getSwift(): ?string
|
||||||
|
{
|
||||||
|
return $this->swift;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return null|string
|
||||||
|
*/
|
||||||
|
public function getSnap(): ?string
|
||||||
|
{
|
||||||
|
return $this->snap;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public function getCountryId(): int
|
||||||
|
{
|
||||||
|
return $this->country_id;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return null|string
|
||||||
|
*/
|
||||||
|
public function getReference(): ?string
|
||||||
|
{
|
||||||
|
return $this->reference;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Classes\Modules\Banks\Services;
|
||||||
|
|
||||||
|
use App\Classes\General\Eloquent\AbstractUpdateRecord;
|
||||||
|
use App\Classes\Modules\Banks\DataTransferObjects\BankObject;
|
||||||
|
use App\Models\Bank;
|
||||||
|
|
||||||
|
class CreatesBank extends AbstractUpdateRecord
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @param BankObject $object
|
||||||
|
* @return \Illuminate\Database\Eloquent\Model
|
||||||
|
* @throws \App\Classes\Exceptions\MalformedRequestException
|
||||||
|
*/
|
||||||
|
public function execute(BankObject $object) {
|
||||||
|
|
||||||
|
$model = new Bank();
|
||||||
|
$model->company_id = $object->getCompanyId();
|
||||||
|
$model->reference = $object->getReference();
|
||||||
|
$model->bank_name = $object->getBankName();
|
||||||
|
$model->holder_name = $object->getHolderName();
|
||||||
|
$model->account_no = $object->getAccountNo();
|
||||||
|
$model->bank_branch = $object->getBankBranch();
|
||||||
|
$model->swift = $object->getSwift();
|
||||||
|
$model->snap = $object->getSnap();
|
||||||
|
$model->type = $object->getType();
|
||||||
|
$model->country_id = $object->getCountryId();
|
||||||
|
|
||||||
|
return $this->handler($model);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Classes\Modules\Banks\Services;
|
||||||
|
|
||||||
|
use App\Classes\General\Eloquent\AbstractDeleteRecord;
|
||||||
|
use App\Models\Bank;
|
||||||
|
|
||||||
|
class DeletesBank extends AbstractDeleteRecord
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param Bank $model
|
||||||
|
* @return mixed
|
||||||
|
* @throws \App\Classes\Exceptions\MalformedRequestException
|
||||||
|
*/
|
||||||
|
public function execute(Bank $model) {
|
||||||
|
return $this->handler($model);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Classes\Modules\Banks\Services;
|
||||||
|
|
||||||
|
|
||||||
|
use App\Classes\General\Eloquent\AbstractFetchRecord;
|
||||||
|
use Illuminate\Database\Eloquent\Builder;
|
||||||
|
use App\Models\Bank;
|
||||||
|
|
||||||
|
class FetchesBank extends AbstractFetchRecord
|
||||||
|
{
|
||||||
|
|
||||||
|
/** @var Bank */
|
||||||
|
private $repository;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* FetchesBank constructor.
|
||||||
|
* @param Bank $repository
|
||||||
|
*/
|
||||||
|
public function __construct(Bank $repository)
|
||||||
|
{
|
||||||
|
$this->repository = $repository;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return Builder
|
||||||
|
*/
|
||||||
|
public function getRepository(): Builder
|
||||||
|
{
|
||||||
|
return $this->repository->newQuery();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Classes\Modules\Banks\Services;
|
||||||
|
|
||||||
|
|
||||||
|
use App\Classes\General\Eloquent\AbstractListRecord;
|
||||||
|
use Illuminate\Database\Eloquent\Builder;
|
||||||
|
use App\Models\Bank;
|
||||||
|
|
||||||
|
class ListsBanks extends AbstractListRecord
|
||||||
|
{
|
||||||
|
|
||||||
|
/** @var Bank */
|
||||||
|
private $repository;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ListsBank constructor.
|
||||||
|
* @param Bank $repository
|
||||||
|
*/
|
||||||
|
public function __construct(Bank $repository)
|
||||||
|
{
|
||||||
|
$this->repository = $repository;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return Builder
|
||||||
|
*/
|
||||||
|
function getRepository(): Builder
|
||||||
|
{
|
||||||
|
return $this->repository->newQuery();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Classes\Modules\Banks\Services;
|
||||||
|
|
||||||
|
use App\Classes\General\Eloquent\AbstractUpdateRecord;
|
||||||
|
use App\Models\Bank;
|
||||||
|
|
||||||
|
class ResetsBanksDefault extends AbstractUpdateRecord
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param Bank $bank
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function execute(Bank $bank)
|
||||||
|
{
|
||||||
|
$bank->company->banks()->where('type', $bank->type)->update(['default' => false]);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Classes\Modules\Banks\Services;
|
||||||
|
|
||||||
|
use App\Classes\General\Eloquent\AbstractUpdateRecord;
|
||||||
|
use App\Models\Bank;
|
||||||
|
|
||||||
|
class SetsBankToDefault extends AbstractUpdateRecord
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param Bank $model
|
||||||
|
* @return \Illuminate\Database\Eloquent\Model
|
||||||
|
* @throws \App\Classes\Exceptions\MalformedRequestException
|
||||||
|
*/
|
||||||
|
public function execute(Bank $model)
|
||||||
|
{
|
||||||
|
$model->default = true;
|
||||||
|
|
||||||
|
return $this->handler($model);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Classes\Modules\Banks\Services;
|
||||||
|
|
||||||
|
use App\Classes\General\Eloquent\AbstractUpdateRecord;
|
||||||
|
use App\Classes\Modules\Banks\DataTransferObjects\BankObject;
|
||||||
|
use App\Models\Bank;
|
||||||
|
|
||||||
|
class UpdatesBank extends AbstractUpdateRecord
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param Bank $model
|
||||||
|
* @param BankObject $object
|
||||||
|
* @return \Illuminate\Database\Eloquent\Model
|
||||||
|
* @throws \App\Classes\Exceptions\MalformedRequestException
|
||||||
|
*/
|
||||||
|
public function execute(Bank $model, BankObject $object)
|
||||||
|
{
|
||||||
|
$model->bank_name = $object->getBankName();
|
||||||
|
$model->holder_name = $object->getHolderName();
|
||||||
|
$model->account_no = $object->getAccountNo();
|
||||||
|
$model->bank_branch = $object->getBankBranch();
|
||||||
|
$model->swift = $object->getSwift();
|
||||||
|
$model->snap = $object->getSnap();
|
||||||
|
$model->default = $object->getDefault();
|
||||||
|
|
||||||
|
return $this->handler($model);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Classes\Modules\Banks\Standards\Rules;
|
||||||
|
|
||||||
|
use App\Classes\General\Abstracts\AbstractRule;
|
||||||
|
use App\Classes\Modules\Banks\Standards\Validators\BankValidation;
|
||||||
|
use App\Classes\Modules\Companies\DataTransferObjects\CompanyObject;
|
||||||
|
|
||||||
|
class CanCreateBank extends AbstractRule
|
||||||
|
{
|
||||||
|
|
||||||
|
/** @var BankValidation */
|
||||||
|
private $BankValidation;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* CanCreateBank constructor.
|
||||||
|
* @param BankValidation $BankValidation
|
||||||
|
*/
|
||||||
|
public function __construct(BankValidation $BankValidation)
|
||||||
|
{
|
||||||
|
$this->BankValidation = $BankValidation;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
protected function authorized(): bool
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param CompanyObject $object
|
||||||
|
* @return bool
|
||||||
|
* @throws \App\Classes\Exceptions\RequestValidationException
|
||||||
|
*/
|
||||||
|
protected function validators($object): bool
|
||||||
|
{
|
||||||
|
return $this->BankValidation->validate($object);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param CompanyObject $object
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
protected function criteria($object): bool
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Classes\Modules\Banks\Standards\Rules;
|
||||||
|
|
||||||
|
use App\Classes\General\Abstracts\AbstractRule;
|
||||||
|
use App\Classes\Modules\Banks\DataTransferObjects\BankObject;
|
||||||
|
|
||||||
|
class CanDeleteBank extends AbstractRule
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
protected function authorized(): bool
|
||||||
|
{
|
||||||
|
// TODO Set Authorization rules
|
||||||
|
return true;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param BankObject $object
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
protected function validators($object): bool
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param BankObject $object
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
protected function criteria($object): bool
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Classes\Modules\Banks\Standards\Rules;
|
||||||
|
|
||||||
|
use App\Classes\General\Abstracts\AbstractRule;
|
||||||
|
use App\Classes\Modules\Banks\Standards\Validators\BankValidation;
|
||||||
|
use App\Classes\Modules\Companies\DataTransferObjects\CompanyObject;
|
||||||
|
|
||||||
|
class CanListBanks extends AbstractRule
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
protected function authorized(): bool
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param CompanyObject $object
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
protected function validators($object): bool
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param CompanyObject $object
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
protected function criteria($object): bool
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Classes\Modules\Banks\Standards\Rules;
|
||||||
|
|
||||||
|
|
||||||
|
use App\Classes\General\Abstracts\AbstractRule;
|
||||||
|
use App\Classes\Modules\Banks\DataTransferObjects\BankObject;
|
||||||
|
use App\Classes\Modules\Banks\Standards\Validators\BankValidation;
|
||||||
|
|
||||||
|
class CanUpdateBank extends AbstractRule
|
||||||
|
{
|
||||||
|
|
||||||
|
/** @var BankValidation */
|
||||||
|
private $BankValidation;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* CanUpdateBank constructor.
|
||||||
|
* @param BankValidation $BankValidation
|
||||||
|
*/
|
||||||
|
public function __construct(BankValidation $BankValidation)
|
||||||
|
{
|
||||||
|
$this->BankValidation = $BankValidation;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
protected function authorized(): bool
|
||||||
|
{
|
||||||
|
// TODO Set Authorization rules
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param BankObject $object
|
||||||
|
* @return bool
|
||||||
|
* @throws \App\Classes\Exceptions\RequestValidationException
|
||||||
|
*/
|
||||||
|
protected function validators($object): bool
|
||||||
|
{
|
||||||
|
return $this->BankValidation->validate($object);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param BankObject $object
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
protected function criteria($object): bool
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Classes\Modules\Banks\Standards\Validators;
|
||||||
|
|
||||||
|
use App\Classes\General\Abstracts\AbstractValidation;
|
||||||
|
use App\Classes\Modules\Banks\DataTransferObjects\BankObject;
|
||||||
|
|
||||||
|
class BankValidation extends AbstractValidation
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @param BankObject $object
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
protected function data($object): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'country_id' => $object->getCountryId(),
|
||||||
|
'company_id' => $object->getCompanyId(),
|
||||||
|
'bank_name' => $object->getBankName(),
|
||||||
|
'holder_name' => $object->getHolderName(),
|
||||||
|
'account_no' => $object->getAccountNo()
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
protected function rules(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'country_id' => 'required',
|
||||||
|
'company_id' => 'required',
|
||||||
|
'bank_name' => 'required',
|
||||||
|
'holder_name' => 'required',
|
||||||
|
'account_no' => 'required'
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
protected function messages(): array
|
||||||
|
{
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Classes\Modules\Unity\Processors;
|
||||||
|
|
||||||
|
use Config;
|
||||||
|
use Illuminate\Support\Facades\Http;
|
||||||
|
use App\Classes\Modules\Unity\Services\CreatesEntity;
|
||||||
|
|
||||||
|
class CreateEntityProcessor
|
||||||
|
{
|
||||||
|
private $createsEntity;
|
||||||
|
|
||||||
|
public function __construct(CreatesEntity $createsEntity)
|
||||||
|
{
|
||||||
|
$this->createsEntity = $createsEntity;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function execute(){
|
||||||
|
return $this->createsEntity->execute();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -8,13 +8,10 @@ use App\Classes\Modules\Unity\Services\GetContractObligations;
|
|||||||
|
|
||||||
class GetContractObligationsProcessor
|
class GetContractObligationsProcessor
|
||||||
{
|
{
|
||||||
private $unityConfig;
|
private $getContractObligations;
|
||||||
|
|
||||||
private $GetContractObligations;
|
|
||||||
|
|
||||||
public function __construct(GetContractObligations $getContractObligations)
|
public function __construct(GetContractObligations $getContractObligations)
|
||||||
{
|
{
|
||||||
$this->unityConfig = Config::get('unity');
|
|
||||||
$this->getContractObligations = $getContractObligations;
|
$this->getContractObligations = $getContractObligations;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,30 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Classes\Modules\Unity\Services;
|
||||||
|
|
||||||
|
use Config;
|
||||||
|
use Illuminate\Support\Facades\Http;
|
||||||
|
use App\Classes\Modules\Unity\Services\GetAccessToken;
|
||||||
|
|
||||||
|
class CreatesEntity
|
||||||
|
{
|
||||||
|
private $getAccessToken;
|
||||||
|
|
||||||
|
private $createEntityEndpoint;
|
||||||
|
|
||||||
|
public function __construct(GetAccessToken $getAccessToken)
|
||||||
|
{
|
||||||
|
$this->createEntityEndpoint = Config::get('unity.url').Config::get('unity.create_entity_endpoint');
|
||||||
|
$this->getAccessToken = $getAccessToken;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function execute($entity_name){
|
||||||
|
|
||||||
|
$accesToken=$this->getAccessToken->execute();
|
||||||
|
|
||||||
|
$response = Http::withToken($accesToken)->post($this->createEntityEndpoint,['name'=>$entity_name])->object();
|
||||||
|
|
||||||
|
return (isset($response->data)) ? $response->data : [];
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Classes\ValueObjects\Constants;
|
||||||
|
|
||||||
|
final class BankAccountType {
|
||||||
|
|
||||||
|
public const PERSONAL = 1;
|
||||||
|
|
||||||
|
public const EXTERNAL = 2;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Classes\ValueObjects\Constants;
|
||||||
|
|
||||||
|
use Config;
|
||||||
|
|
||||||
|
final class UnityConfig {
|
||||||
|
|
||||||
|
|
||||||
|
public const AUTH_METHOD = Config::get('unity.default_auth');
|
||||||
|
|
||||||
|
public const API_BASE_URL = Config::get('unity.url');
|
||||||
|
|
||||||
|
public const CREATE_ENTITY_ENDPOINT = Config::get('unity.create_entity_endpoint');
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Banks;
|
||||||
|
|
||||||
|
use App\Classes\Modules\Banks\ControllersLogic\CreateBankLogic;
|
||||||
|
use Illuminate\Http\JsonResponse;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class CreateBankController
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @param Request $request
|
||||||
|
* @param CreateBankLogic $logic
|
||||||
|
* @return JsonResponse
|
||||||
|
*/
|
||||||
|
public function create(Request $request, CreateBankLogic $logic): JsonResponse {
|
||||||
|
return $logic->execute($request);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Banks;
|
||||||
|
|
||||||
|
use App\Classes\Modules\Banks\ControllersLogic\DeleteBankLogic;
|
||||||
|
use Illuminate\Http\JsonResponse;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class DeleteBankController
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @param Request $request
|
||||||
|
* @param DeleteBankLogic $logic
|
||||||
|
* @return JsonResponse
|
||||||
|
*/
|
||||||
|
public function delete(Request $request, DeleteBankLogic $logic): JsonResponse {
|
||||||
|
return $logic->execute($request);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Banks;
|
||||||
|
|
||||||
|
use App\Classes\Modules\Banks\ControllersLogic\ListBanksLogic;
|
||||||
|
use Illuminate\Http\JsonResponse;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class ListBanksController
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @param Request $request
|
||||||
|
* @param ListBanksLogic $logic
|
||||||
|
* @return JsonResponse
|
||||||
|
*/
|
||||||
|
public function list(Request $request, ListBanksLogic $logic): JsonResponse {
|
||||||
|
return $logic->execute($request);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Banks;
|
||||||
|
|
||||||
|
use App\Classes\Modules\Banks\ControllersLogic\SetBankToDefaultLogic;
|
||||||
|
use Illuminate\Http\JsonResponse;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class SetBankToDefaultController
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @param Request $request
|
||||||
|
* @param SetBankToDefaultLogic $logic
|
||||||
|
* @return JsonResponse
|
||||||
|
*/
|
||||||
|
public function update(Request $request, SetBankToDefaultLogic $logic): JsonResponse {
|
||||||
|
return $logic->execute($request);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Banks;
|
||||||
|
|
||||||
|
use App\Classes\Modules\Banks\ControllersLogic\UpdateBankLogic;
|
||||||
|
use Illuminate\Http\JsonResponse;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class UpdateBankController
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @param Request $request
|
||||||
|
* @param UpdateBankLogic $logic
|
||||||
|
* @return JsonResponse
|
||||||
|
*/
|
||||||
|
public function update(Request $request, UpdateBankLogic $logic): JsonResponse {
|
||||||
|
return $logic->execute($request);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Addresses;
|
||||||
|
|
||||||
|
use App\Classes\Modules\Addresses\ControllersLogic\CreateAddressLogic;
|
||||||
|
use Illuminate\Http\JsonResponse;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class CreateRemarkController
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @param Request $request
|
||||||
|
* @param CreateAddressLogic $logic
|
||||||
|
* @return JsonResponse
|
||||||
|
*/
|
||||||
|
public function create(Request $request, CreateAddressLogic $logic): JsonResponse {
|
||||||
|
return $logic->execute($request);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Addresses;
|
||||||
|
|
||||||
|
use App\Classes\Modules\Addresses\ControllersLogic\DeleteAddressLogic;
|
||||||
|
use Illuminate\Http\JsonResponse;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class DeleteRemarkController
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @param Request $request
|
||||||
|
* @param DeleteAddressLogic $logic
|
||||||
|
* @return JsonResponse
|
||||||
|
*/
|
||||||
|
public function destroy(Request $request, DeleteAddressLogic $logic): JsonResponse {
|
||||||
|
return $logic->execute($request);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Addresses;
|
||||||
|
|
||||||
|
use App\Classes\Modules\Addresses\ControllersLogic\FetchAddressLogic;
|
||||||
|
use Illuminate\Http\JsonResponse;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class FetchRemarkController
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @param Request $request
|
||||||
|
* @param FetchAddressLogic $logic
|
||||||
|
* @return JsonResponse
|
||||||
|
*/
|
||||||
|
public function fetch(Request $request, FetchAddressLogic $logic): JsonResponse {
|
||||||
|
return $logic->execute($request);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Addresses;
|
||||||
|
|
||||||
|
use App\Classes\Modules\Addresses\ControllersLogic\ListAddressesLogic;
|
||||||
|
use Illuminate\Http\JsonResponse;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class ListRemarksController
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @param Request $request
|
||||||
|
* @param ListAddressesLogic $logic
|
||||||
|
* @return JsonResponse
|
||||||
|
*/
|
||||||
|
public function list(Request $request, ListAddressesLogic $logic): JsonResponse {
|
||||||
|
return $logic->execute($request);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Addresses;
|
||||||
|
|
||||||
|
use App\Classes\Modules\Addresses\ControllersLogic\UpdateAddressLogic;
|
||||||
|
use Illuminate\Http\JsonResponse;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class UpdateRemarkController
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @param Request $request
|
||||||
|
* @param UpdateAddressLogic $logic
|
||||||
|
* @return JsonResponse
|
||||||
|
*/
|
||||||
|
public function update(Request $request, UpdateAddressLogic $logic): JsonResponse {
|
||||||
|
return $logic->execute($request);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Addresses;
|
||||||
|
|
||||||
|
use App\Classes\Modules\Addresses\ControllersLogic\CreateAddressLogic;
|
||||||
|
use Illuminate\Http\JsonResponse;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class CreateRemarkController
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @param Request $request
|
||||||
|
* @param CreateAddressLogic $logic
|
||||||
|
* @return JsonResponse
|
||||||
|
*/
|
||||||
|
public function create(Request $request, CreateAddressLogic $logic): JsonResponse {
|
||||||
|
return $logic->execute($request);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Addresses;
|
||||||
|
|
||||||
|
use App\Classes\Modules\Addresses\ControllersLogic\DeleteAddressLogic;
|
||||||
|
use Illuminate\Http\JsonResponse;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class DeleteRemarkController
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @param Request $request
|
||||||
|
* @param DeleteAddressLogic $logic
|
||||||
|
* @return JsonResponse
|
||||||
|
*/
|
||||||
|
public function destroy(Request $request, DeleteAddressLogic $logic): JsonResponse {
|
||||||
|
return $logic->execute($request);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Addresses;
|
||||||
|
|
||||||
|
use App\Classes\Modules\Addresses\ControllersLogic\FetchAddressLogic;
|
||||||
|
use Illuminate\Http\JsonResponse;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class FetchRemarkController
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @param Request $request
|
||||||
|
* @param FetchAddressLogic $logic
|
||||||
|
* @return JsonResponse
|
||||||
|
*/
|
||||||
|
public function fetch(Request $request, FetchAddressLogic $logic): JsonResponse {
|
||||||
|
return $logic->execute($request);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Addresses;
|
||||||
|
|
||||||
|
use App\Classes\Modules\Addresses\ControllersLogic\ListAddressesLogic;
|
||||||
|
use Illuminate\Http\JsonResponse;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class ListRemarksController
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @param Request $request
|
||||||
|
* @param ListAddressesLogic $logic
|
||||||
|
* @return JsonResponse
|
||||||
|
*/
|
||||||
|
public function list(Request $request, ListAddressesLogic $logic): JsonResponse {
|
||||||
|
return $logic->execute($request);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Addresses;
|
||||||
|
|
||||||
|
use App\Classes\Modules\Addresses\ControllersLogic\UpdateAddressLogic;
|
||||||
|
use Illuminate\Http\JsonResponse;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class UpdateRemarkController
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @param Request $request
|
||||||
|
* @param UpdateAddressLogic $logic
|
||||||
|
* @return JsonResponse
|
||||||
|
*/
|
||||||
|
public function update(Request $request, UpdateAddressLogic $logic): JsonResponse {
|
||||||
|
return $logic->execute($request);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Addresses;
|
||||||
|
|
||||||
|
use App\Classes\Modules\Addresses\ControllersLogic\CreateAddressLogic;
|
||||||
|
use Illuminate\Http\JsonResponse;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class CreateRemarkController
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @param Request $request
|
||||||
|
* @param CreateAddressLogic $logic
|
||||||
|
* @return JsonResponse
|
||||||
|
*/
|
||||||
|
public function create(Request $request, CreateAddressLogic $logic): JsonResponse {
|
||||||
|
return $logic->execute($request);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Addresses;
|
||||||
|
|
||||||
|
use App\Classes\Modules\Addresses\ControllersLogic\DeleteAddressLogic;
|
||||||
|
use Illuminate\Http\JsonResponse;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class DeleteRemarkController
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @param Request $request
|
||||||
|
* @param DeleteAddressLogic $logic
|
||||||
|
* @return JsonResponse
|
||||||
|
*/
|
||||||
|
public function destroy(Request $request, DeleteAddressLogic $logic): JsonResponse {
|
||||||
|
return $logic->execute($request);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Addresses;
|
||||||
|
|
||||||
|
use App\Classes\Modules\Addresses\ControllersLogic\FetchAddressLogic;
|
||||||
|
use Illuminate\Http\JsonResponse;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class FetchRemarkController
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @param Request $request
|
||||||
|
* @param FetchAddressLogic $logic
|
||||||
|
* @return JsonResponse
|
||||||
|
*/
|
||||||
|
public function fetch(Request $request, FetchAddressLogic $logic): JsonResponse {
|
||||||
|
return $logic->execute($request);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Addresses;
|
||||||
|
|
||||||
|
use App\Classes\Modules\Addresses\ControllersLogic\ListAddressesLogic;
|
||||||
|
use Illuminate\Http\JsonResponse;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class ListRemarksController
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @param Request $request
|
||||||
|
* @param ListAddressesLogic $logic
|
||||||
|
* @return JsonResponse
|
||||||
|
*/
|
||||||
|
public function list(Request $request, ListAddressesLogic $logic): JsonResponse {
|
||||||
|
return $logic->execute($request);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Addresses;
|
||||||
|
|
||||||
|
use App\Classes\Modules\Addresses\ControllersLogic\UpdateAddressLogic;
|
||||||
|
use Illuminate\Http\JsonResponse;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class UpdateRemarkController
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @param Request $request
|
||||||
|
* @param UpdateAddressLogic $logic
|
||||||
|
* @return JsonResponse
|
||||||
|
*/
|
||||||
|
public function update(Request $request, UpdateAddressLogic $logic): JsonResponse {
|
||||||
|
return $logic->execute($request);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use App\Classes\General\Interfaces\DataTransferObject;
|
||||||
|
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||||
|
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||||
|
use Illuminate\Database\Eloquent\Relations\MorphTo;
|
||||||
|
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Relations\HasOne;
|
||||||
|
|
||||||
|
class BankAccount extends AbstractModel implements DataTransferObject
|
||||||
|
{
|
||||||
|
use SoftDeletes;
|
||||||
|
|
||||||
|
protected $table = 'bank_accounts';
|
||||||
|
|
||||||
|
public function country(): HasOne
|
||||||
|
{
|
||||||
|
return $this->hasOne(Country::class, 'country_id', 'id');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function owner(): morphTo
|
||||||
|
{
|
||||||
|
return $this->morphTo();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||||
|
|
||||||
|
class ContainerPackingList extends AbstractModel
|
||||||
|
{
|
||||||
|
use SoftDeletes;
|
||||||
|
|
||||||
|
protected $table = 'container_packing_lists';
|
||||||
|
|
||||||
|
public function packingList(): HasMany
|
||||||
|
{
|
||||||
|
return $this->hasMany(PackingList::class, 'packing_list_id', 'id');
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Relations\MorphTo;
|
||||||
|
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||||
|
|
||||||
|
class Package extends AbstractModel
|
||||||
|
{
|
||||||
|
use SoftDeletes;
|
||||||
|
|
||||||
|
protected $table = 'packages';
|
||||||
|
|
||||||
|
public function order(): BelongsTo
|
||||||
|
{
|
||||||
|
return $this->BelongsTo(Order::class, 'order_id', 'id');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function owner(): morphTo
|
||||||
|
{
|
||||||
|
return $this->morphTo();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||||
|
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||||
|
|
||||||
|
class PackageItem extends AbstractModel
|
||||||
|
{
|
||||||
|
use SoftDeletes;
|
||||||
|
|
||||||
|
protected $table = 'package_items';
|
||||||
|
|
||||||
|
public function pacakge(): BelongsTo
|
||||||
|
{
|
||||||
|
return $this->BelongsTo(Package::class, 'package_id', 'id');
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||||
|
|
||||||
|
class PackingList extends AbstractModel
|
||||||
|
{
|
||||||
|
use SoftDeletes;
|
||||||
|
|
||||||
|
protected $table = 'package_lists';
|
||||||
|
}
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||||
|
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||||
|
|
||||||
|
class PackingListPackage extends AbstractModel
|
||||||
|
{
|
||||||
|
use SoftDeletes;
|
||||||
|
|
||||||
|
protected $table = 'package_list_packages';
|
||||||
|
|
||||||
|
public function package(): BelongsTo
|
||||||
|
{
|
||||||
|
return $this->BelongsTo(Package::class, 'package_id', 'id');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function packageList(): BelongsTo
|
||||||
|
{
|
||||||
|
return $this->BelongsTo(PackageList::class, 'package_list_id', 'id');
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Relations\MorphTo;
|
||||||
|
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||||
|
|
||||||
|
class Remark extends AbstractModel
|
||||||
|
{
|
||||||
|
use SoftDeletes;
|
||||||
|
|
||||||
|
protected $table = 'remarks';
|
||||||
|
|
||||||
|
public function owner(): morphTo
|
||||||
|
{
|
||||||
|
return $this->morphTo();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Relations\MorphTo;
|
||||||
|
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||||
|
|
||||||
|
class Schedule extends AbstractModel
|
||||||
|
{
|
||||||
|
use SoftDeletes;
|
||||||
|
|
||||||
|
protected $table = 'schedules';
|
||||||
|
|
||||||
|
public function owner(): morphTo
|
||||||
|
{
|
||||||
|
return $this->morphTo();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
class TransportArrangement extends Model
|
||||||
|
{
|
||||||
|
use HasFactory;
|
||||||
|
}
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use App\Classes\ValueObjects\Constants\ApprovalStatus;
|
||||||
|
use App\Classes\ValueObjects\Constants\BankAccountType;
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
class CreateBanksTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::create('bank_accounts', function (Blueprint $table) {
|
||||||
|
$table->id();
|
||||||
|
$table->morphs('owner');
|
||||||
|
$table->foreignId('country_id')->unsigned();
|
||||||
|
$table->string('bank_name',45);
|
||||||
|
$table->string('bank_branch',45)->nullable();
|
||||||
|
$table->string('account_name',45);
|
||||||
|
$table->string('account_number',45);
|
||||||
|
$table->integer('type')->default(BankAccountType::EXTERNAL);
|
||||||
|
$table->integer('default')->default(false);
|
||||||
|
$table->integer('status')->default(ApprovalStatus::APPROVED);
|
||||||
|
|
||||||
|
$table->softDeletes();
|
||||||
|
$table->timestamps();
|
||||||
|
|
||||||
|
$table->foreign('country_id')->references('id')->on('countries');
|
||||||
|
});
|
||||||
|
|
||||||
|
Schema::table('bank_accounts', function (Blueprint $table) {
|
||||||
|
$table->string('owner_type', 191)->change();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('banks');
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
class CreatePackagesTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::create('packages', function (Blueprint $table) {
|
||||||
|
$table->id();
|
||||||
|
$table->bigInteger('order_id')->unsigned()->index();
|
||||||
|
$table->bigInteger('claimant_id')->unsigned()->index();
|
||||||
|
$table->integer('type')->default(0);
|
||||||
|
|
||||||
|
$table->string('description',45);
|
||||||
|
|
||||||
|
$table->decimal('width', 8, 2);
|
||||||
|
$table->decimal('height', 8, 2);
|
||||||
|
$table->decimal('length', 8, 2);
|
||||||
|
$table->decimal('weight', 8, 2);
|
||||||
|
$table->integer('quantity')->default(0);
|
||||||
|
|
||||||
|
$table->integer('status')->default(0);
|
||||||
|
$table->softDeletes();
|
||||||
|
$table->timestamps();
|
||||||
|
|
||||||
|
$table->foreign('order_id')->references('id')->on('orders');
|
||||||
|
$table->foreign('claimant_id')->references('id')->on('company_modules');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('packages');
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
class CreatePackageItemsTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::create('package_items', function (Blueprint $table) {
|
||||||
|
$table->id();
|
||||||
|
$table->bigInteger('package_id')->unsigned()->index();
|
||||||
|
$table->string('name',45);
|
||||||
|
$table->string('reference',45);
|
||||||
|
$table->string('description',45);
|
||||||
|
$table->decimal('quantity', 8, 2);
|
||||||
|
$table->string('uom',45);
|
||||||
|
$table->decimal('price', 8, 2);
|
||||||
|
$table->decimal('total', 8, 2);
|
||||||
|
$table->integer('status')->default(0);
|
||||||
|
$table->softDeletes();
|
||||||
|
$table->timestamps();
|
||||||
|
|
||||||
|
$table->foreign('package_id')->references('id')->on('packages');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('package_items');
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
class CreatePackingListsTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::create('packing_lists', function (Blueprint $table) {
|
||||||
|
$table->id();
|
||||||
|
$table->string('reference',200);
|
||||||
|
$table->integer('status')->default(0);
|
||||||
|
$table->softDeletes();
|
||||||
|
$table->timestamps();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('packing_lists');
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
class CreatePackingListPackagesTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::create('packing_list_packages', function (Blueprint $table) {
|
||||||
|
$table->id();
|
||||||
|
$table->bigInteger('packing_list_id')->unsigned()->index();
|
||||||
|
$table->bigInteger('package_id')->unsigned()->index();
|
||||||
|
$table->softDeletes();
|
||||||
|
$table->timestamps();
|
||||||
|
|
||||||
|
$table->foreign('packing_list_id')->references('id')->on('packing_lists');
|
||||||
|
$table->foreign('package_id')->references('id')->on('packages');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('packing_list_packages');
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
class CreateContainerPackingListsTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::create('container_packing_lists', function (Blueprint $table) {
|
||||||
|
$table->id();
|
||||||
|
$table->bigInteger('packing_list_id')->unsigned()->index();
|
||||||
|
$table->string('container_reference',45);
|
||||||
|
$table->integer('container_type');
|
||||||
|
$table->softDeletes();
|
||||||
|
$table->timestamps();
|
||||||
|
|
||||||
|
$table->foreign('packing_list_id')->references('id')->on('packing_lists');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('container_packing_lists');
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
class CreateRemarksTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::create('remarks', function (Blueprint $table) {
|
||||||
|
$table->id();
|
||||||
|
$table->morphs('owner');
|
||||||
|
$table->bigInteger('commenter_id')->unsigned()->index();
|
||||||
|
$table->string('content',200);
|
||||||
|
$table->softDeletes();
|
||||||
|
$table->timestamps();
|
||||||
|
});
|
||||||
|
|
||||||
|
Schema::table('remarks', function (Blueprint $table) {
|
||||||
|
$table->string('owner_type', 191)->change();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('remarks');
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
class CreateTransportArrangementsTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::create('transport_arrangements', function (Blueprint $table) {
|
||||||
|
$table->id();
|
||||||
|
$table->morphs('owner');
|
||||||
|
$table->integer('type')->default(0);
|
||||||
|
|
||||||
|
$table->string('courier',45);
|
||||||
|
$table->string('tracking_number',45);
|
||||||
|
|
||||||
|
$table->timestamp('dispacth_date')->nullable();
|
||||||
|
$table->timestamp('drop_date')->nullable();
|
||||||
|
|
||||||
|
$table->integer('status')->default(0);
|
||||||
|
$table->softDeletes();
|
||||||
|
$table->timestamps();
|
||||||
|
});
|
||||||
|
|
||||||
|
Schema::table('transport_arrangements', function (Blueprint $table) {
|
||||||
|
$table->string('owner_type', 191)->change();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('transport_arrangements');
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
class CreateSchedulesTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::create('schedules', function (Blueprint $table) {
|
||||||
|
$table->id();
|
||||||
|
$table->morphs('owner');
|
||||||
|
|
||||||
|
$table->timestamp('etd')->nullable();
|
||||||
|
$table->timestamp('eta')->nullable();
|
||||||
|
|
||||||
|
$table->integer('status')->default(0);
|
||||||
|
$table->softDeletes();
|
||||||
|
$table->timestamps();
|
||||||
|
});
|
||||||
|
|
||||||
|
Schema::table('schedules', function (Blueprint $table) {
|
||||||
|
$table->string('owner_type', 191)->change();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('schedules');
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Support\Facades\Route;
|
||||||
|
|
||||||
|
Route::group(['prefix' => 'bank', 'as' => 'bank.', 'namespace' => 'Banks'], function () {
|
||||||
|
Route::get('/list', 'ListBanksController@list')->name('list');
|
||||||
|
Route::post('/create', 'CreateBankController@create')->name('create');
|
||||||
|
Route::put('/update/{id}', 'UpdateBankController@update')->name('update');
|
||||||
|
Route::put('/{id}/default', 'SetBankToDefaultController@update')->name('default');
|
||||||
|
Route::delete('/delete/{id}', 'DeleteBankController@delete')->name('delete');
|
||||||
|
});
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Support\Facades\Route;
|
||||||
|
|
||||||
|
Route::group(['namespace' => 'Remarks', 'as' => 'remark.', 'prefix' => 'remark'], function () {
|
||||||
|
Route::get('/{id}/show', 'FetchRemarkController@fetch')->name('show');
|
||||||
|
Route::get('/list', 'ListRemarksController@list')->name('list');
|
||||||
|
Route::post('/create', 'CreateRemarkController@create')->name('create');
|
||||||
|
Route::put('/update/{id}', 'UpdateRemarkController@update')->name('update');
|
||||||
|
Route::delete('/delete/{id}', 'DeleteRemarkController@delete')->name('delete');
|
||||||
|
});
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Support\Facades\Route;
|
||||||
|
|
||||||
|
Route::group(['namespace' => 'Schedules', 'as' => 'schedule.', 'prefix' => 'schedule'], function () {
|
||||||
|
Route::get('/{id}/show', 'FetchScheduleController@fetch')->name('show');
|
||||||
|
Route::get('/list', 'ListScheduleController@list')->name('list');
|
||||||
|
Route::post('/create', 'CreateScheduleController@create')->name('create');
|
||||||
|
Route::put('/update/{id}', 'UpdateScheduleController@update')->name('update');
|
||||||
|
Route::delete('/delete/{id}', 'DeleteScheduleController@delete')->name('delete');
|
||||||
|
});
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Support\Facades\Route;
|
||||||
|
|
||||||
|
Route::group(['namespace' => 'Transports', 'as' => 'transport.', 'prefix' => 'transport'], function () {
|
||||||
|
Route::get('/{id}/show', 'FetchTransportController@fetch')->name('show');
|
||||||
|
Route::get('/list', 'ListTransportController@list')->name('list');
|
||||||
|
Route::post('/create', 'CreateTransportController@create')->name('create');
|
||||||
|
Route::put('/update/{id}', 'UpdateTransportController@update')->name('update');
|
||||||
|
Route::delete('/delete/{id}', 'DeleteTransportController@delete')->name('delete');
|
||||||
|
});
|
||||||
Reference in New Issue
Block a user