mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/izyim.git
synced 2026-08-19 04:24:00 +00:00
Merge branch 'Cleaned-BackEnd-Companies' into 'master'
Cleaned-BackEnd-Companies-AddressBook See merge request CIEFWorldwideSdnBhd/izyim!23
This commit is contained in:
@@ -1,23 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Classes\ControllersLogic\Companies\AddressBook;
|
||||
|
||||
use App\Models\Company;
|
||||
use App\Http\Resources\AddressBook as AddressBookResource;
|
||||
|
||||
class DefaultAddress
|
||||
{
|
||||
public function execute( string $companyId, string $id) {
|
||||
|
||||
Company::findOrfail($companyId)->addressBook()->update(['default' => 0]);
|
||||
|
||||
$address = Company::findOrfail($companyId)->addressBook()->findOrFail($id);
|
||||
|
||||
$address->default = 1;
|
||||
|
||||
if($address->save()){
|
||||
return new AddressBookResource($address);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Classes\ControllersLogic\Companies\AddressBook;
|
||||
|
||||
use App\Models\Company;
|
||||
use App\Http\Resources\AddressBook as AddressBookResource;
|
||||
|
||||
class DeleteAddress
|
||||
{
|
||||
public function execute(string $companyId, string $id) {
|
||||
|
||||
// Get address
|
||||
$address = Company::findOrfail($companyId)->addressBook()->findOrFail($id);
|
||||
|
||||
|
||||
if($address->delete()){
|
||||
|
||||
// Return single address as a resource
|
||||
return new AddressBookResource($address);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Classes\ControllersLogic\Companies\AddressBook;
|
||||
|
||||
use App\Models\Company;
|
||||
use App\Http\Resources\AddressBook as AddressBookResource;
|
||||
|
||||
class ListAddresses
|
||||
{
|
||||
public function execute(string $companyId) {
|
||||
|
||||
// Get addresses
|
||||
$addresses = Company::findOrfail($companyId)->addressBook()->orderBy('created_at')->paginate(5);
|
||||
|
||||
// Return collection of addresses as a resource
|
||||
return AddressBookResource::collection($addresses);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Classes\ControllersLogic\Companies\AddressBook;
|
||||
|
||||
use App\Classes\Objects\AddressObject;
|
||||
use App\Models\AddressBook;
|
||||
use App\Models\Company;
|
||||
use App\Http\Resources\AddressBook as AddressBookResource;
|
||||
|
||||
class UpdateAddress
|
||||
{
|
||||
public function execute(AddressObject $addressObject) {
|
||||
$address = $addressObject->getId() !== null ? Company::findOrfail($addressObject->getCompanyId())->addressBook()->findOrFail($addressObject->getId()) : new AddressBook;
|
||||
|
||||
$address->company_id = $addressObject->getCompanyId();
|
||||
$address->reference = $addressObject->getReference();
|
||||
$address->contact = $addressObject->getContact();
|
||||
$address->street_one = $addressObject->getStreetOne();
|
||||
$address->street_two = $addressObject->getStreetTwo();
|
||||
$address->city = $addressObject->getCity();
|
||||
$address->state = $addressObject->getState();
|
||||
$address->post_code = $addressObject->getPostCode();
|
||||
$address->country = $addressObject->getCountry();
|
||||
|
||||
if($address->save()){
|
||||
return new AddressBookResource($address);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Classes\ControllersLogic\Companies;
|
||||
|
||||
use App\Models\Company;
|
||||
use App\Http\Resources\Company as CompanyResource;
|
||||
|
||||
class CompanyProfile
|
||||
{
|
||||
public function execute(string $id) {
|
||||
|
||||
// Get company
|
||||
$company = Company::findOrFail($id);
|
||||
|
||||
// Return single company as a resource
|
||||
return new CompanyResource($company);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,31 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Classes\ControllersLogic\Companies;
|
||||
|
||||
use App\Classes\Modules\Documents\DeleteAllDocuments;
|
||||
use App\Models\Company;
|
||||
use App\Http\Resources\Company as CompanyResource;
|
||||
use App\Classes\Constants;
|
||||
|
||||
class DeleteCompany
|
||||
{
|
||||
|
||||
public function execute(string $id) {
|
||||
|
||||
// Get company
|
||||
$company = Company::findOrFail($id);
|
||||
|
||||
|
||||
foreach (Constants::COMPANY_DOCUMENTS as $documentType) {
|
||||
(new DeleteAllDocuments(Constants::MODULE_TYPES['company'], $id, $documentType))->execute();
|
||||
}
|
||||
|
||||
if($company->delete()){
|
||||
|
||||
// Return single compnay as a resource
|
||||
return new CompanyResource($company);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Classes\ControllersLogic\Companies;
|
||||
|
||||
use App\Models\Company;
|
||||
use App\Http\Resources\Company as CompanyResource;
|
||||
|
||||
class ListCompanies
|
||||
{
|
||||
public function execute() {
|
||||
|
||||
// Get company
|
||||
$companies = Company::orderBy('created_at')->paginate(10);
|
||||
|
||||
// Return collection of companies as a resource
|
||||
return CompanyResource::collection($companies);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: user
|
||||
* Date: 02/05/2019
|
||||
* Time: 10:09 AM
|
||||
*/
|
||||
|
||||
namespace App\Classes\Modules\AddressBook\Services;
|
||||
|
||||
|
||||
use App\Models\Company;
|
||||
use App\Http\Resources\AddressBook as AddressBookResource;
|
||||
|
||||
class DefaultsAddressBook
|
||||
{
|
||||
/** @var Company */
|
||||
private $repository;
|
||||
|
||||
/**
|
||||
* DefaultsAddressBook constructor.
|
||||
* @param Company $repository
|
||||
*/
|
||||
public function __construct(Company $repository)
|
||||
{
|
||||
$this->repository = $repository;
|
||||
}
|
||||
|
||||
public function execute(String $companyId, String $id){
|
||||
|
||||
$this->repository->findOrfail($companyId)->addressBook()->update(['default' => 0]);
|
||||
|
||||
$address = $this->repository->findOrfail($companyId)->addressBook()->findOrFail($id);
|
||||
$address->default = 1;
|
||||
|
||||
if($address->save()){
|
||||
return new AddressBookResource($address);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: user
|
||||
* Date: 03/05/2019
|
||||
* Time: 10:20 AM
|
||||
*/
|
||||
|
||||
namespace App\Classes\Modules\AddressBook\Services;
|
||||
|
||||
use App\Models\Company;
|
||||
use App\Http\Resources\AddressBook as AddressBookResource;
|
||||
|
||||
class DeletesAddressBook
|
||||
{
|
||||
/** @var Company */
|
||||
private $repository;
|
||||
|
||||
/**
|
||||
* DeletesAddressBook constructor.
|
||||
* @param Company $repository
|
||||
*/
|
||||
public function __construct(Company $repository)
|
||||
{
|
||||
$this->repository = $repository;
|
||||
}
|
||||
|
||||
|
||||
public function execute(String $companyId, String $id){
|
||||
|
||||
$address = $this->repository->findOrFail($companyId)->addressBook()->findOrFail($id);
|
||||
|
||||
if($address->delete()){
|
||||
|
||||
// Return single address as a resource
|
||||
return new AddressBookResource($address);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: user
|
||||
* Date: 30/04/2019
|
||||
* Time: 4:40 PM
|
||||
*/
|
||||
|
||||
namespace App\Classes\Modules\AddressBook\Services;
|
||||
|
||||
|
||||
use App\Models\AddressBook;
|
||||
use App\Http\Resources\AddressBook as AddressBookResource;
|
||||
use App\Models\Company;
|
||||
|
||||
class ListsAddressBook
|
||||
{
|
||||
/** @var Company */
|
||||
private $repository;
|
||||
|
||||
/**
|
||||
* ListsAddressBook constructor.
|
||||
* @param Company $repository
|
||||
*/
|
||||
public function __construct(Company $repository)
|
||||
{
|
||||
$this->repository = $repository;
|
||||
}
|
||||
|
||||
|
||||
public function execute(String $companyId){
|
||||
|
||||
$addresses = $this->repository->findOrfail($companyId)->addressBook()->orderBy('created_at')->paginate(5);
|
||||
return AddressBookResource::collection($addresses);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: user
|
||||
* Date: 03/05/2019
|
||||
* Time: 10:20 AM
|
||||
*/
|
||||
|
||||
namespace App\Classes\Modules\AddressBook\Services;
|
||||
|
||||
|
||||
use App\Models\Company;
|
||||
use App\Http\Resources\AddressBook as AddressBookResource;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class UpdatesAddressBook
|
||||
{
|
||||
|
||||
/** @var Company */
|
||||
private $repository;
|
||||
|
||||
/**
|
||||
* UpdatesAddressBook constructor.
|
||||
* @param Company $repository
|
||||
*/
|
||||
public function __construct(Company $repository)
|
||||
{
|
||||
$this->repository = $repository;
|
||||
}
|
||||
|
||||
|
||||
public function execute(String $companyId, Request $request){
|
||||
|
||||
$address = $this->repository->findOrfail($companyId)->addressBook()->findOrFail($request->input('id'));
|
||||
|
||||
$address->company_id = $companyId;
|
||||
$address->reference = $request->input('reference');
|
||||
$address->contact = $request->input('contact');
|
||||
$address->street_one = $request->input('street_one');
|
||||
$address->street_two = $request->input('street_two');
|
||||
$address->city = $request->input('city');
|
||||
$address->state = $request->input('state');
|
||||
$address->post_code = $request->input('post_code');
|
||||
$address->country = $request->input('country');
|
||||
|
||||
if($address->save()){
|
||||
return new AddressBookResource($address);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -24,6 +24,7 @@ class CreatesCompany
|
||||
$model = $this->repository->create([
|
||||
'marking' => $object->getMarking(),
|
||||
'name' => $object->getName(),
|
||||
'email' => $object->getEmail(),
|
||||
'registration_no' => $object->getRegistrationNumber(),
|
||||
'tax_no' => $object->getTaxNumber(),
|
||||
]);
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: user
|
||||
* Date: 30/04/2019
|
||||
* Time: 2:29 PM
|
||||
*/
|
||||
|
||||
namespace App\Classes\Modules\Companies\Services;
|
||||
|
||||
|
||||
use App\Classes\Constants;
|
||||
use App\Classes\Modules\Documents\DeleteAllDocuments;
|
||||
use App\Models\Company;
|
||||
use App\Http\Resources\Company as CompanyResource;
|
||||
|
||||
class DeletesCompany
|
||||
{
|
||||
|
||||
/** @var Company */
|
||||
private $repository;
|
||||
|
||||
/**
|
||||
* DeletesCompany constructor.
|
||||
* @param Company $repository
|
||||
*/
|
||||
public function __construct(Company $repository)
|
||||
{
|
||||
$this->repository = $repository;
|
||||
}
|
||||
|
||||
|
||||
public function execute(string $id)
|
||||
{
|
||||
|
||||
$company = $this->repository->findOrFail($id);
|
||||
|
||||
|
||||
foreach (Constants::COMPANY_DOCUMENTS as $documentType) {
|
||||
(new DeleteAllDocuments(Constants::MODULE_TYPES['company'], $id, $documentType))->execute();
|
||||
}
|
||||
|
||||
if ($company->delete()) {
|
||||
|
||||
// Return single compnay as a resource
|
||||
return new CompanyResource($company);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: user
|
||||
* Date: 29/04/2019
|
||||
* Time: 11:46 AM
|
||||
*/
|
||||
|
||||
namespace App\Classes\Modules\Companies\Services;
|
||||
|
||||
|
||||
use App\Models\Company;
|
||||
use App\Http\Resources\Company as CompanyResource;
|
||||
|
||||
class ListsCompany
|
||||
{
|
||||
|
||||
/** @var Company */
|
||||
private $repository;
|
||||
|
||||
/**
|
||||
* ListsCompany constructor.
|
||||
* @param Company $repository
|
||||
*/
|
||||
public function __construct(Company $repository)
|
||||
{
|
||||
$this->repository = $repository;
|
||||
}
|
||||
|
||||
|
||||
public function execute(){
|
||||
|
||||
$companies = $this->repository->orderBy('created_at')->paginate(10);
|
||||
|
||||
return CompanyResource::collection($companies);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: user
|
||||
* Date: 30/04/2019
|
||||
* Time: 9:49 AM
|
||||
*/
|
||||
|
||||
namespace App\Classes\Modules\Companies\Services;
|
||||
|
||||
use App\Models\Company;
|
||||
use App\Http\Resources\Company as CompanyResource;
|
||||
|
||||
class ProfilesCompany
|
||||
{
|
||||
/** @var Company */
|
||||
private $repository;
|
||||
|
||||
/**
|
||||
* ProfilesCompany constructor.
|
||||
* @param Company $repository
|
||||
*/
|
||||
public function __construct(Company $repository)
|
||||
{
|
||||
$this->repository = $repository;
|
||||
}
|
||||
|
||||
|
||||
public function execute(string $id){
|
||||
|
||||
$company = $this->repository->findOrFail($id);
|
||||
|
||||
return new CompanyResource($company);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: user
|
||||
* Date: 29/04/2019
|
||||
* Time: 2:13 PM
|
||||
*/
|
||||
|
||||
namespace App\Classes\Modules\Companies\Services;
|
||||
|
||||
|
||||
use App\Models\Company;
|
||||
use App\Http\Resources\Company as CompanyResource;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class SearchesCompany
|
||||
{
|
||||
|
||||
/** @var Company */
|
||||
private $repository;
|
||||
|
||||
/**
|
||||
* SearchesCompany constructor.
|
||||
* @param Company $repository
|
||||
*/
|
||||
public function __construct(Company $repository)
|
||||
{
|
||||
$this->repository = $repository;
|
||||
}
|
||||
|
||||
|
||||
public function execute(Request $request){
|
||||
|
||||
$companies = $this->repository->where('name', 'LIKE', "%".$request->input('query')."%")
|
||||
->orWhere('marking', 'LIKE', "%".$request->input('query')."%")->paginate(10);
|
||||
|
||||
return CompanyResource::collection($companies);
|
||||
}
|
||||
|
||||
}
|
||||
+21
-20
@@ -1,28 +1,33 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: user
|
||||
* Date: 30/04/2019
|
||||
* Time: 11:43 AM
|
||||
*/
|
||||
|
||||
namespace App\Classes\ControllersLogic\Companies;
|
||||
namespace App\Classes\Modules\Companies\Services;
|
||||
|
||||
use App\Classes\ControllersLogic\Companies\AddressBook\UpdateAddress;
|
||||
use App\Classes\Modules\AddressBook\DataTransferObjects\AddressBookObject;
|
||||
|
||||
use App\Classes\Constants;
|
||||
use App\Classes\Modules\AddressBook\Services\CreatesAddress;
|
||||
use App\Classes\Modules\AddressBook\DataTransferObjects\AddressBookObject;
|
||||
use App\Classes\Modules\Documents\UpdateDocuments;
|
||||
use App\Models\AddressBook;
|
||||
use App\Models\Company;
|
||||
use App\Http\Resources\Company as CompanyResource;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Classes\Constants;
|
||||
use App\Http\Resources\Company as CompanyResource;
|
||||
|
||||
class UpdateCompany
|
||||
class UpdatesCompany
|
||||
{
|
||||
|
||||
/** @var AddressBook */
|
||||
/** @var AddressBook */
|
||||
private $repository;
|
||||
|
||||
/** @var CreatesAddress */
|
||||
/** @var CreatesAddress */
|
||||
private $createsAddress;
|
||||
|
||||
/**
|
||||
* UpdateCompany constructor.
|
||||
* UpdatesCompany constructor.
|
||||
* @param AddressBook $repository
|
||||
* @param CreatesAddress $createsAddress
|
||||
*/
|
||||
@@ -33,9 +38,10 @@ class UpdateCompany
|
||||
}
|
||||
|
||||
|
||||
public function execute(Request $request) {
|
||||
$company = $request->method() === 'PUT' ? Company::findOrFail($request->input('id')) : new company;
|
||||
$company->fill($request->except(array_merge(Constants::COMPANY_DOCUMENTS, Constants::ADDRESS_FIELDS)));
|
||||
public function execute(Request $request){
|
||||
|
||||
$company = $request->method() === 'PUT' ? Company::findOrFail($request->input('id')) : new company;
|
||||
$company->fill($request->except(array_merge(Constants::COMPANY_DOCUMENTS, Constants::ADDRESS_FIELDS)));
|
||||
|
||||
if($company->save()){
|
||||
|
||||
@@ -60,14 +66,9 @@ class UpdateCompany
|
||||
$request->input('state'), $request->input('post_code'), $request->input('country'), false, true);
|
||||
|
||||
$this->createsAddress->execute($billing);
|
||||
|
||||
|
||||
return new CompanyResource($company);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function updateDocuments(){
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: user
|
||||
* Date: 07/05/2019
|
||||
* Time: 11:18 AM
|
||||
*/
|
||||
|
||||
namespace App\Classes\Modules\ControllersLogic\Companies\AddressBook;
|
||||
|
||||
|
||||
use App\Classes\Modules\AddressBook\DataTransferObjects\AddressBookObject;
|
||||
use App\Classes\Modules\AddressBook\Services\CreatesAddress;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class CreateAddressBookLogic
|
||||
{
|
||||
/** @var CreatesAddress */
|
||||
private $CreatesAddress;
|
||||
|
||||
/**
|
||||
* CreateAddressBookLogic constructor.
|
||||
* @param CreatesAddress $CreatesAddress
|
||||
*/
|
||||
public function __construct(CreatesAddress $CreatesAddress)
|
||||
{
|
||||
$this->CreatesAddress = $CreatesAddress;
|
||||
}
|
||||
|
||||
|
||||
public function execute(String $companyId, Request $request){
|
||||
|
||||
$object = new AddressBookObject(null, $companyId, $request->input('reference'), $request->input('contact'),
|
||||
$request->input('street_one'), $request->input('street_two'), $request->input('city'),
|
||||
$request->input('state'), $request->input('post_code'), $request->input('country'), false, true);
|
||||
|
||||
return $this->CreatesAddress->execute($object);
|
||||
}
|
||||
}
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: user
|
||||
* Date: 02/05/2019
|
||||
* Time: 10:17 AM
|
||||
*/
|
||||
|
||||
namespace App\Classes\Modules\ControllersLogic\Companies\AddressBook;
|
||||
|
||||
|
||||
use App\Classes\Modules\AddressBook\Services\DefaultsAddressBook;
|
||||
|
||||
class DefaultAddressBookLogic
|
||||
{
|
||||
/** @var DefaultsAddressBook */
|
||||
private $DefaultsAddressBook;
|
||||
|
||||
/**
|
||||
* DefaultAddressBookLogic constructor.
|
||||
* @param DefaultsAddressBook $DefaultsAddressBook
|
||||
*/
|
||||
public function __construct(DefaultsAddressBook $DefaultsAddressBook)
|
||||
{
|
||||
$this->DefaultsAddressBook = $DefaultsAddressBook;
|
||||
}
|
||||
|
||||
|
||||
public function execute(String $companyId, String $id){
|
||||
|
||||
return $this->DefaultsAddressBook->execute($companyId, $id);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: user
|
||||
* Date: 03/05/2019
|
||||
* Time: 10:20 AM
|
||||
*/
|
||||
|
||||
namespace App\Classes\Modules\ControllersLogic\Companies\AddressBook;
|
||||
|
||||
|
||||
use App\Classes\Modules\AddressBook\Services\DeletesAddressBook;
|
||||
|
||||
class DeleteAddressBookLogic
|
||||
{
|
||||
/** @var DeletesAddressBook */
|
||||
private $DeletesAddressBook;
|
||||
|
||||
/**
|
||||
* DeleteAddressBookLogic constructor.
|
||||
* @param DeletesAddressBook $DeletesAddressBook
|
||||
*/
|
||||
public function __construct(DeletesAddressBook $DeletesAddressBook)
|
||||
{
|
||||
$this->DeletesAddressBook = $DeletesAddressBook;
|
||||
}
|
||||
|
||||
public function execute(String $companyId, String $id){
|
||||
|
||||
return $this->DeletesAddressBook->execute($id, $companyId);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: user
|
||||
* Date: 30/04/2019
|
||||
* Time: 4:54 PM
|
||||
*/
|
||||
|
||||
namespace App\Classes\Modules\ControllersLogic\Companies\AddressBook;
|
||||
|
||||
use App\Classes\Modules\AddressBook\Services\ListsAddressBook;
|
||||
|
||||
class ListAddressBookLogic
|
||||
{
|
||||
/** @var ListsAddressBook */
|
||||
private $ListsAddressBook;
|
||||
|
||||
/**
|
||||
* ListAddressBookLogic constructor.
|
||||
* @param ListsAddressBook $ListsAddressBook
|
||||
*/
|
||||
public function __construct(ListsAddressBook $ListsAddressBook)
|
||||
{
|
||||
$this->ListsAddressBook = $ListsAddressBook;
|
||||
}
|
||||
|
||||
|
||||
public function execute(String $companyId){
|
||||
|
||||
return $this->ListsAddressBook->execute($companyId);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: user
|
||||
* Date: 03/05/2019
|
||||
* Time: 10:19 AM
|
||||
*/
|
||||
|
||||
namespace App\Classes\Modules\ControllersLogic\Companies\AddressBook;
|
||||
|
||||
use App\Classes\Modules\AddressBook\Services\UpdatesAddressBook;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class UpdateAddressBookLogic
|
||||
{
|
||||
/** @var UpdatesAddressBook */
|
||||
private $UpdatesAddressBook;
|
||||
|
||||
/**
|
||||
* UpdateAddressBookLogic constructor.
|
||||
* @param UpdatesAddressBook $UpdatesAddressBook
|
||||
*/
|
||||
public function __construct(UpdatesAddressBook $UpdatesAddressBook)
|
||||
{
|
||||
$this->UpdatesAddressBook = $UpdatesAddressBook;
|
||||
}
|
||||
|
||||
|
||||
public function execute(String $companyId, Request $request){
|
||||
|
||||
return $this->UpdatesAddressBook->execute($companyId, $request);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -60,7 +60,7 @@ class CreateCompanyLogic
|
||||
$company = $this->createsCompany->execute($object);
|
||||
|
||||
$address = new AddressBookObject(null, $company->id, $request->input('name'), $request->input('contact'),
|
||||
$request->input('street_one'), $request->input('stret_two'), $request->input('city'),
|
||||
$request->input('street_one'), $request->input('street_two'), $request->input('city'),
|
||||
$request->input('state'), $request->input('post_code'), $request->input('country'), false, true);
|
||||
|
||||
$this->createsAddress->execute($address);
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: user
|
||||
* Date: 30/04/2019
|
||||
* Time: 2:29 PM
|
||||
*/
|
||||
|
||||
namespace App\Classes\Modules\ControllersLogic\Companies;
|
||||
|
||||
|
||||
use App\Classes\Modules\Companies\Services\DeletesCompany;
|
||||
|
||||
class DeleteCompanyLogic
|
||||
{
|
||||
/** @var DeletesCompany */
|
||||
private $DeletesCompany;
|
||||
|
||||
/**
|
||||
* DeleteCompanyLogic constructor.
|
||||
* @param DeletesCompany $DeletesCompany
|
||||
*/
|
||||
public function __construct(DeletesCompany $DeletesCompany)
|
||||
{
|
||||
$this->DeletesCompany = $DeletesCompany;
|
||||
}
|
||||
|
||||
public function execute(String $id){
|
||||
|
||||
return $this->DeletesCompany->execute($id);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: user
|
||||
* Date: 29/04/2019
|
||||
* Time: 11:44 AM
|
||||
*/
|
||||
|
||||
namespace App\Classes\Modules\ControllersLogic\Companies;
|
||||
|
||||
|
||||
use App\Classes\Modules\Companies\Services\ListsCompany;
|
||||
|
||||
class ListCompanyLogic
|
||||
{
|
||||
/** @var ListsCompany */
|
||||
private $ListCompany;
|
||||
|
||||
/**
|
||||
* CompanyListLogic constructor.
|
||||
* @param ListsCompany $ListCompany
|
||||
*/
|
||||
public function __construct(ListsCompany $ListCompany)
|
||||
{
|
||||
$this->ListCompany = $ListCompany;
|
||||
}
|
||||
|
||||
|
||||
public function execute(){
|
||||
|
||||
return $this->ListCompany->execute();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: user
|
||||
* Date: 30/04/2019
|
||||
* Time: 9:48 AM
|
||||
*/
|
||||
|
||||
namespace App\Classes\Modules\ControllersLogic\Companies;
|
||||
|
||||
|
||||
use App\Classes\Modules\Companies\Services\ProfilesCompany;
|
||||
|
||||
class ProfileCompanyLogic
|
||||
{
|
||||
/** @var ProfilesCompany */
|
||||
private $ProfilesCompany;
|
||||
|
||||
/**
|
||||
* ProfileCompanyLogic constructor.
|
||||
* @param ProfilesCompany $ProfilesCompany
|
||||
*/
|
||||
public function __construct(ProfilesCompany $ProfilesCompany)
|
||||
{
|
||||
$this->ProfilesCompany = $ProfilesCompany;
|
||||
}
|
||||
|
||||
public function execute(string $id){
|
||||
|
||||
return $this->ProfilesCompany->execute($id);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: user
|
||||
* Date: 29/04/2019
|
||||
* Time: 2:11 PM
|
||||
*/
|
||||
|
||||
namespace App\Classes\Modules\ControllersLogic\Companies;
|
||||
|
||||
|
||||
use App\Classes\Modules\Companies\Services\SearchesCompany;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class SearchCompanyLogic
|
||||
{
|
||||
/** @var SearchesCompany */
|
||||
private $SearchesCompany;
|
||||
|
||||
/**
|
||||
* SearchCompanyLogic constructor.
|
||||
* @param SearchesCompany $SearchesCompany
|
||||
*/
|
||||
public function __construct(SearchesCompany $SearchesCompany)
|
||||
{
|
||||
$this->SearchesCompany = $SearchesCompany;
|
||||
}
|
||||
|
||||
|
||||
public function execute(Request $request){
|
||||
|
||||
return $this->SearchesCompany->execute($request);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: user
|
||||
* Date: 30/04/2019
|
||||
* Time: 11:42 AM
|
||||
*/
|
||||
|
||||
namespace App\Classes\Modules\ControllersLogic\Companies;
|
||||
|
||||
|
||||
use App\Classes\Modules\Companies\Services\UpdatesCompany;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class UpdateCompanyLogic
|
||||
{
|
||||
/** @var UpdatesCompany */
|
||||
private $UpdatesCompany;
|
||||
|
||||
/**
|
||||
* UpdateCompanyLogic constructor.
|
||||
* @param UpdatesCompany $UpdatesCompany
|
||||
*/
|
||||
public function __construct(UpdatesCompany $UpdatesCompany)
|
||||
{
|
||||
$this->UpdatesCompany = $UpdatesCompany;
|
||||
}
|
||||
|
||||
|
||||
public function execute(Request $request){
|
||||
|
||||
return $this->UpdatesCompany->execute($request);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: user
|
||||
* Date: 07/05/2019
|
||||
* Time: 11:17 AM
|
||||
*/
|
||||
|
||||
namespace App\Http\Controllers\Companies\AddressBook;
|
||||
|
||||
|
||||
use App\Classes\Modules\ControllersLogic\Companies\AddressBook\CreateAddressBookLogic;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class CreateAddressBookController
|
||||
{
|
||||
public function store(String $companyId, Request $request, CreateAddressBookLogic $logic){
|
||||
|
||||
return $logic->execute($companyId,$request);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: user
|
||||
* Date: 02/05/2019
|
||||
* Time: 10:23 AM
|
||||
*/
|
||||
|
||||
namespace App\Http\Controllers\Companies\AddressBook;
|
||||
|
||||
|
||||
use App\Classes\Modules\ControllersLogic\Companies\AddressBook\DefaultAddressBookLogic;
|
||||
|
||||
class DefaultAddressBookController
|
||||
{
|
||||
public function default(String $companyId, String $id, DefaultAddressBookLogic $logic){
|
||||
|
||||
return $logic->execute($companyId,$id);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: user
|
||||
* Date: 03/05/2019
|
||||
* Time: 10:19 AM
|
||||
*/
|
||||
|
||||
namespace App\Http\Controllers\Companies\AddressBook;
|
||||
|
||||
|
||||
use App\Classes\Modules\ControllersLogic\Companies\AddressBook\DeleteAddressBookLogic;
|
||||
|
||||
class DeleteAddressBookController
|
||||
{
|
||||
public function destroy(String $companyId, String $id, DeleteAddressBookLogic $logic){
|
||||
|
||||
return $logic->execute($id,$companyId);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: user
|
||||
* Date: 30/04/2019
|
||||
* Time: 5:15 PM
|
||||
*/
|
||||
|
||||
namespace App\Http\Controllers\Companies\AddressBook;
|
||||
|
||||
|
||||
|
||||
use App\Classes\Modules\ControllersLogic\Companies\AddressBook\ListAddressBookLogic;
|
||||
|
||||
class ListAddressBookController
|
||||
{
|
||||
public function list(String $companyId, ListAddressBookLogic $logic){
|
||||
|
||||
return $logic->execute($companyId);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: user
|
||||
* Date: 03/05/2019
|
||||
* Time: 10:18 AM
|
||||
*/
|
||||
|
||||
namespace App\Http\Controllers\Companies\AddressBook;
|
||||
|
||||
|
||||
use App\Classes\Modules\ControllersLogic\Companies\AddressBook\UpdateAddressBookLogic;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class UpdateAddressBookController
|
||||
{
|
||||
public function update(String $companyId, Request $request, UpdateAddressBookLogic $logic){
|
||||
|
||||
return $logic->execute($companyId,$request);
|
||||
}
|
||||
}
|
||||
@@ -1,76 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Companies;
|
||||
|
||||
use App\Classes\Objects\AddressObject;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Resources\AddressBook as AddressBookResource;
|
||||
use App\Classes\ControllersLogic\Companies\AddressBook\ListAddresses;
|
||||
use App\Classes\ControllersLogic\Companies\AddressBook\DeleteAddress;
|
||||
use App\Classes\ControllersLogic\Companies\AddressBook\UpdateAddress;
|
||||
use App\Classes\ControllersLogic\Companies\AddressBook\DefaultAddress;
|
||||
|
||||
|
||||
class AddressBookController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
* @param string $companyId
|
||||
* @return \Illuminate\Http\Resources\Json\AnonymousResourceCollection
|
||||
*/
|
||||
public function index(string $companyId) {
|
||||
|
||||
return (new ListAddresses())->execute($companyId);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param string $companyId
|
||||
* @return AddressBookResource
|
||||
*/
|
||||
public function store(Request $request, string $companyId)
|
||||
{
|
||||
return (new UpdateAddress())->execute(new AddressObject(
|
||||
$companyId,
|
||||
$request->input('street_one'),
|
||||
$request->input('street_two'),
|
||||
$request->input('city'),
|
||||
$request->input('state'),
|
||||
$request->input('post_code'),
|
||||
$request->input('country'),
|
||||
$request->input('id'),
|
||||
$request->input('reference'),
|
||||
$request->input('contact')
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* Set default address
|
||||
*
|
||||
* @param string $id
|
||||
* @param string $companyId
|
||||
* @return AddressBookResource
|
||||
*/
|
||||
public function default(string $companyId, string $id)
|
||||
{
|
||||
return (new DefaultAddress())->execute($companyId, $id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param string $companyId
|
||||
* @param string $id
|
||||
*
|
||||
* @return AddressBookResource
|
||||
*/
|
||||
public function destroy(string $companyId, string $id): AddressBookResource {
|
||||
|
||||
return (new DeleteAddress())->execute($companyId, $id);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,67 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Companies;
|
||||
|
||||
use App\Models\Company;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Resources\Company as CompanyResource;
|
||||
use App\Classes\ControllersLogic\Companies\ListCompanies;
|
||||
use App\Classes\ControllersLogic\Companies\UpdateCompany;
|
||||
use App\Classes\ControllersLogic\Companies\CompanyProfile;
|
||||
use App\Classes\ControllersLogic\Companies\DeleteCompany;
|
||||
|
||||
|
||||
class CompanyController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
*/
|
||||
public function index() {
|
||||
return (new ListCompanies())->execute();
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
*
|
||||
* @param UpdateCompany $logic
|
||||
* @return CompanyResource
|
||||
*/
|
||||
public function store(Request $request, UpdateCompany $logic): CompanyResource {
|
||||
return $logic->execute($request);
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
*
|
||||
* @return CompanyResource
|
||||
*/
|
||||
public function show($id): CompanyResource {
|
||||
return (new CompanyProfile())->execute($id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param int $id
|
||||
*
|
||||
* @return CompanyResource
|
||||
*/
|
||||
public function destroy($id): CompanyResource {
|
||||
return (new DeleteCompany())->execute($id);
|
||||
}
|
||||
|
||||
public function search(Request $request){
|
||||
// Get company
|
||||
$companies = Company::where('name', 'LIKE', "%".$request->input('query')."%")
|
||||
->orWhere('marking', 'LIKE', "%".$request->input('query')."%")->paginate(10);
|
||||
|
||||
// Return collection of companies as a resource
|
||||
return CompanyResource::collection($companies);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: user
|
||||
* Date: 30/04/2019
|
||||
* Time: 2:29 PM
|
||||
*/
|
||||
|
||||
namespace App\Http\Controllers\Companies;
|
||||
|
||||
|
||||
use App\Classes\Modules\ControllersLogic\Companies\DeleteCompanyLogic;
|
||||
|
||||
class DeleteCompanyController
|
||||
{
|
||||
public function destroy(String $id, DeleteCompanyLogic $logic){
|
||||
|
||||
return $logic->execute($id);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: user
|
||||
* Date: 29/04/2019
|
||||
* Time: 11:43 AM
|
||||
*/
|
||||
|
||||
namespace App\Http\Controllers\Companies;
|
||||
|
||||
use App\Classes\Modules\ControllersLogic\Companies\ListCompanyLogic;
|
||||
|
||||
class ListCompanyController
|
||||
{
|
||||
public function list(ListCompanyLogic $logic){
|
||||
|
||||
return $logic->execute();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: user
|
||||
* Date: 30/04/2019
|
||||
* Time: 9:47 AM
|
||||
*/
|
||||
|
||||
namespace App\Http\Controllers\Companies;
|
||||
|
||||
|
||||
use App\Classes\Modules\ControllersLogic\Companies\ProfileCompanyLogic;
|
||||
|
||||
class ProfileCompanyController
|
||||
{
|
||||
public function show(string $id, ProfileCompanyLogic $logic){
|
||||
|
||||
return $logic->execute($id);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: user
|
||||
* Date: 29/04/2019
|
||||
* Time: 2:10 PM
|
||||
*/
|
||||
|
||||
namespace App\Http\Controllers\Companies;
|
||||
|
||||
|
||||
use App\Classes\Modules\ControllersLogic\Companies\SearchCompanyLogic;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class SearchCompanyController
|
||||
{
|
||||
public function search(Request $request , SearchCompanyLogic $logic){
|
||||
|
||||
return $logic->execute($request);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: user
|
||||
* Date: 30/04/2019
|
||||
* Time: 11:42 AM
|
||||
*/
|
||||
|
||||
namespace App\Http\Controllers\Companies;
|
||||
|
||||
|
||||
use App\Classes\Modules\ControllersLogic\Companies\UpdateCompanyLogic;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class UpdateCompanyController
|
||||
{
|
||||
public function update(Request $request, UpdateCompanyLogic $logic){
|
||||
|
||||
return $logic->execute($request);
|
||||
}
|
||||
}
|
||||
+12
-11
@@ -20,6 +20,7 @@ Route::group(['middleware' => 'api', 'prefix' => 'v1', 'as' => 'api.'], function
|
||||
Route::get('/list', 'ListUserController@list')->name('list');
|
||||
Route::post('/create', 'RegisterAccountController@register')->name('create');
|
||||
Route::post('/update/{id}', 'UpdateUserController@update')->name('update');
|
||||
Route::get('/{id}/profile','UserProfileController@index')->name('profile');
|
||||
|
||||
Route::group(['prefix' => 'invite', 'as' => 'invite.'], function () {
|
||||
Route::post('/invite', 'InviteUserController@invite')->name('create');
|
||||
@@ -32,43 +33,43 @@ Route::group(['middleware' => 'api', 'prefix' => 'v1', 'as' => 'api.'], function
|
||||
Route::group(['prefix' => 'company', 'as' => 'company.', 'namespace' => 'Companies'], function () {
|
||||
|
||||
// List companies
|
||||
Route::get('/list', 'CompanyController@index')->name('list');
|
||||
Route::get('/list', 'ListCompanyController@list')->name('list');
|
||||
|
||||
// search companies
|
||||
Route::get('/search', 'CompanyController@search')->name('search');
|
||||
Route::get('/search', 'SearchCompanyController@search')->name('search');
|
||||
|
||||
// List single company
|
||||
Route::get('{id}/profile', 'CompanyController@show')->name('profile');
|
||||
Route::get('{id}/profile', 'ProfileCompanyController@show')->name('profile');
|
||||
|
||||
// Create new company
|
||||
Route::post('/', 'CreateCompanyController@create')->name('create');
|
||||
|
||||
// Update company
|
||||
Route::put('{id}', 'CompanyController@store')->name('update');
|
||||
Route::put('{id}', 'UpdateCompanyController@update')->name('update');
|
||||
|
||||
// Delete company
|
||||
Route::delete('{id}', 'CompanyController@destroy')->name('delete');
|
||||
Route::delete('{id}', 'DeleteCompanyController@destroy')->name('delete');
|
||||
|
||||
Route::get('{id}/order/{category}/list', 'CompanyOrderController@list')
|
||||
->where('category', 'processing|shipping|receiving|complete|cancel')->name('order.list');
|
||||
|
||||
// Companies Address Book Routes
|
||||
Route::group(['prefix' => 'address-book', 'as' => 'addressBook.'], function () {
|
||||
Route::group(['prefix' => 'address-book', 'as' => 'addressBook.', 'namespace' => 'AddressBook'], function () {
|
||||
|
||||
// List addresses in company's address book
|
||||
Route::get('{companyId}', 'AddressBookController@index')->name('list');
|
||||
Route::get('{companyId}', 'ListAddressBookController@list')->name('list');
|
||||
|
||||
// Create new address in company's address book
|
||||
Route::post('{companyId}', 'AddressBookController@store')->name('create');
|
||||
Route::post('{companyId}', 'CreateAddressBookController@store')->name('create');
|
||||
|
||||
// Update address in company's address book
|
||||
Route::put('{companyId}/{id}', 'AddressBookController@store')->name('update');
|
||||
Route::put('{companyId}/{id}', 'UpdateAddressBookController@update')->name('update');
|
||||
|
||||
// sets default delivery address
|
||||
Route::put('{companyId}/{id}/default', 'AddressBookController@default')->name('default');
|
||||
Route::put('{companyId}/{id}/default', 'DefaultAddressBookController@default')->name('default');
|
||||
|
||||
// Delete address from company's address book
|
||||
Route::delete('{companyId}/{id}', 'AddressBookController@destroy')->name('delete');
|
||||
Route::delete('{companyId}/{id}', 'DeleteAddressBookController@destroy')->name('delete');
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user