Cleaned-BackEnd-Contact

This commit is contained in:
hazim
2019-05-09 12:26:14 +08:00
parent 039827f0c9
commit 1e751ecc32
16 changed files with 110 additions and 157 deletions
@@ -1,24 +0,0 @@
<?php
namespace App\Classes\ControllersLogic\Contacts;
use App\Models\Contact;
use App\Http\Resources\Contact as ContactResource;
class DeleteContact
{
public function execute(string $id) {
// Get address
$contact= Contact::findOrFail($id);
if($contact->delete()){
// Return single address as a resource
return new ContactResource($contact);
}
}
}
@@ -1,19 +0,0 @@
<?php
namespace App\Classes\ControllersLogic\Contacts;
use App\Models\Contact;
use App\Http\Resources\Contact as ContactResource;
class ListContacts
{
public function execute(int $type, string $reference) {
// Get contacts
$contacts = Contact::where('type', $type)->where('reference_id', $reference)->orderBy('created_at')->paginate(5);
// Return collection of contacts as a resource
return ContactResource::collection($contacts);
}
}
@@ -1,46 +0,0 @@
<?php
namespace App\Classes\ControllersLogic\Contacts;
use App\Models\Contact;
use App\Http\Resources\Contact as ContactResource;
use Illuminate\Http\Request;
class UpdateContact
{
/** @var Contact */
private $repository;
/**
* UpdateContact constructor.
* @param Contact $repository
*/
public function __construct(Contact $repository)
{
$this->repository = $repository;
}
public function execute(Request $request, int $type, string $reference) {
$contact = $this->repository->findOrFail($id);
$contact->type = $type;
$contact->reference_id = $reference;
$contact->name = $request->input('name');
$contact->designation = $request->input('designation');
$contact->contact = $request->input('contact');
$contact->email = $request->input('email');
$contact = $request->method() === 'PUT' ? Contact::findOrFail($request->input('id')) : new Contact;
if($contact->save()){
return new ContactResource($contact);
}
}
}
@@ -1,6 +1,6 @@
<?php
namespace App\Modules\Contacts\DataTransferObjects;
namespace App\Classes\Modules\Contacts\DataTransferObjects;
class ContactObject
{
@@ -0,0 +1,42 @@
<?php
/**
* Created by PhpStorm.
* User: user
* Date: 09/05/2019
* Time: 11:51 AM
*/
namespace App\Classes\Modules\Contacts\Services;
use App\Models\Contact;
use App\Http\Resources\Contact as ContactResource;
class DeletesContact
{
/** @var Contact */
private $repository;
/**
* DeletesContact constructor.
* @param Contact $repository
*/
public function __construct(Contact $repository)
{
$this->repository = $repository;
}
public function execute(String $id){
$contact = $this->repository->findOrFail($id);
if($contact->delete()){
// Return single address as a resource
return new ContactResource($contact);
}
}
}
@@ -30,7 +30,7 @@ class ListsContact
public function execute(int $type, int $referenceId){
$contacts = $this->repository->where('type', $type)
->where('reference_id', $referenceId)->get();
->where('reference_id', $referenceId)->orderBy('created_at')->paginate(5);
// Return collection of contacts as a resource
return ContactResource::collection($contacts);
@@ -27,7 +27,7 @@ class CreateContactLogic
{
try{
$object = new ContactObject($request->input('name'), $request->input('designation'), $request->input('contact'), $request->input('email'));
$object = new ContactObject($type, $referenceId, $request->input('name'), $request->input('designation'), $request->input('contact'), $request->input('email'));
return $this->createContact->execute($object, $type, $referenceId);
}
@@ -0,0 +1,35 @@
<?php
/**
* Created by PhpStorm.
* User: user
* Date: 09/05/2019
* Time: 11:51 AM
*/
namespace App\Modules\ControllerLogic\Contacts;
use App\Classes\Modules\Contacts\Services\DeletesContact;
class DeleteContactLogic
{
/** @var DeletesContact */
private $DeletesContact;
/**
* DeleteContactLogic constructor.
* @param DeletesContact $DeletesContact
*/
public function __construct(DeletesContact $DeletesContact)
{
$this->DeletesContact = $DeletesContact;
}
public function execute(String $id){
return $this->DeletesContact->execute($id);
}
}
@@ -28,10 +28,9 @@ class UpdateContactLogic
}
public function execute(int $id, Request $request)
public function execute(int $id, string $referenceId, int $type, Request $request)
{
$object = new ContactObject($request->input('name'), $request->input('designation'), $request->input('contact'), $request->input('email'));
$object = new ContactObject($type, $referenceId, $request->input('name'), $request->input('designation'), $request->input('contact'), $request->input('email'));
return $this->updateContact->execute($id, $object);
}
}