Files
izyim/app/Http/Controllers/Companies/AddressBookController.php
T
2019-03-19 17:11:21 +08:00

77 lines
2.1 KiB
PHP
Executable File

<?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);
}
}