Skip to content

Instantly share code, notes, and snippets.

@muhamadsyahril
Created April 19, 2020 13:47
Show Gist options
  • Save muhamadsyahril/182d2a19ec08da07314318e84969ddb5 to your computer and use it in GitHub Desktop.
Save muhamadsyahril/182d2a19ec08da07314318e84969ddb5 to your computer and use it in GitHub Desktop.
Apiato base controller with check permission
<?php
namespace App\Containers\_Container_\UI\API\Controllers;
use App\Containers\Authorization\Models\Permission;
use App\Containers\_Container_\Models\_Container_;
use App\Containers\_Container_\UI\API\Requests\Create_Container_Request;
use App\Containers\_Container_\UI\API\Requests\Delete_Container_Request;
use App\Containers\_Container_\UI\API\Requests\GetAll_Container_sRequest;
use App\Containers\_Container_\UI\API\Requests\Find_Container_ByIdRequest;
use App\Containers\_Container_\UI\API\Requests\Update_Container_Request;
use App\Containers\_Container_\UI\API\Transformers\_Container_Transformer;
use App\Ship\Parents\Controllers\ApiController;
use Apiato\Core\Foundation\Facades\Apiato;
class Controller extends ApiController
{
public function create_Container_(Create_Container_Request $request)
{
$results = Apiato::call('_Container_@Create_Container_Action', [$request]);
return $this->created($this->transform($results, _Container_Transformer::class));
}
public function find_Container_ById(Find_Container_ByIdRequest $request)
{
$results = Apiato::call('_Container_@Find_Container_ByIdAction', [$request]);
return $this->transform($results, _Container_Transformer::class);
}
public function getAll_Container_s(GetAll_Container_sRequest $request)
{
$results = Apiato::call('_Container_@GetAll_Container_sAction', [$request]);
$permission = new Permission();
$metaPermission = $permission->userPermission(_Container_::MODULE);
return $this->transform($results, _Container_Transformer::class, [], $metaPermission);
}
public function update_Container_(Update_Container_Request $request)
{
$results = Apiato::call('_Container_@Update_Container_Action', [$request]);
return $this->transform($results, _Container_Transformer::class);
}
public function delete_Container_(Delete_Container_Request $request)
{
Apiato::call('_Container_@Delete_Container_Action', [$request]);
return $this->resSuccess();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment