Skip to content
This repository was archived by the owner on Feb 18, 2023. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions app/Contracts/AssetsServiceContract.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,10 @@
use Dingo\Api\Exception\ResourceException;

/**
* Class AssetsServiceContract
* @package App\Contracts
* Class AssetsServiceContract.
*/
interface AssetsServiceContract
{

/**
* @param array $attributes
* @param int $limit
Expand Down
4 changes: 1 addition & 3 deletions app/Contracts/PermissionsServiceContract.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,10 @@
use Dingo\Api\Exception\ResourceException;

/**
* Class PermissionsServiceContract
* @package App\Contracts
* Class PermissionsServiceContract.
*/
interface PermissionsServiceContract
{

/**
* @param array $attributes
* @param int $limit
Expand Down
4 changes: 1 addition & 3 deletions app/Contracts/RolesServiceContract.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,10 @@
use Dingo\Api\Exception\ResourceException;

/**
* Class RolesServiceContract
* @package App\Contracts
* Class RolesServiceContract.
*/
interface RolesServiceContract
{

/**
* @param array $attributes
* @param int $limit
Expand Down
4 changes: 1 addition & 3 deletions app/Contracts/UsersServiceContract.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,10 @@
use Dingo\Api\Exception\ResourceException;

/**
* Class UsersServiceContract
* @package App\Contracts
* Class UsersServiceContract.
*/
interface UsersServiceContract
{

/**
* @param array $attributes
* @param int $limit
Expand Down
2 changes: 1 addition & 1 deletion app/Entities/User.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
use Spatie\Permission\Traits\HasRoles;
use Illuminate\Notifications\Notifiable;
use Illuminate\Database\Eloquent\SoftDeletes;
use Joselfonseca\LaravelApiTools\Traits\UuidScopeTrait;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Joselfonseca\LaravelApiTools\Traits\UuidScopeTrait;

/**
* Class User.
Expand Down
3 changes: 1 addition & 2 deletions app/Http/Controllers/Api/Assets/UploadFileController.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,13 @@ class UploadFileController extends Controller
{
use Helpers;


protected $service;

/**
* @var \App\Entities\Asset
*/
protected $model;


public function __construct(AssetsServiceContract $service)
{
$this->service = $service;
Expand All @@ -47,6 +45,7 @@ public function store(Request $request)
'user' => $request->user(),
]);
}

return $this->response->created(url('api/assets/'.$asset->uuid), $this->service->transform($asset));
}
}
2 changes: 2 additions & 0 deletions app/Http/Controllers/Api/Users/ProfileController.php
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ public function update(Request $request)
$partial = true;
}
$user = $this->service->update(Auth::user()->id, $request->except('password'), $partial);

return $this->response->array($this->service->transform($user));
}

Expand All @@ -59,6 +60,7 @@ public function update(Request $request)
public function updatePassword(Request $request)
{
$user = $this->service->updatePassword(Auth::user()->id, $request->all());

return $this->response->array($this->service->transform($user));
}
}
3 changes: 3 additions & 0 deletions app/Http/Controllers/Api/Users/RolesController.php
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ public function show($id)
public function store(Request $request)
{
$model = $this->service->create($request->all());

return $this->response->created(url('api/roles/'.$model->uuid));
}

Expand All @@ -70,6 +71,7 @@ public function store(Request $request)
public function update(Request $request, $id)
{
$model = $this->service->update($id, $request->all());

return $this->response->array($this->service->transform($model));
}

Expand All @@ -80,6 +82,7 @@ public function update(Request $request, $id)
public function destroy($id)
{
$this->service->delete($id);

return $this->response->noContent();
}
}
4 changes: 4 additions & 0 deletions app/Http/Controllers/Api/Users/UsersController.php
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ public function __construct(UsersServiceContract $service)
public function index(Request $request)
{
$collection = $this->service->get($request->all(), $request->get('limit', config('app.pagination_limit')));

return $this->response->array($this->service->transform($collection));
}

Expand All @@ -64,6 +65,7 @@ public function show($id)
public function store(Request $request)
{
$user = $this->service->create($request->all());

return $this->response->created(url('api/users/'.$user->uuid));
}

Expand All @@ -79,6 +81,7 @@ public function update(Request $request, $id)
$partial = true;
}
$user = $this->service->update($id, $request->except('_token', 'password'), $partial);

return $this->response->array($this->service->transform($user));
}

Expand All @@ -89,6 +92,7 @@ public function update(Request $request, $id)
public function destroy($id)
{
$this->service->delete($id);

return $this->response->noContent();
}
}
8 changes: 3 additions & 5 deletions app/Providers/AppServiceProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,14 @@
use App\Services\UsersService;
use App\Services\AssetsService;
use App\Services\PermissionsService;
use App\Contracts\UsersServiceContract;
use App\Contracts\RolesServiceContract;
use App\Contracts\UsersServiceContract;
use Illuminate\Support\ServiceProvider;
use App\Contracts\AssetsServiceContract;
use App\Contracts\PermissionsServiceContract;

/**
* Class AppServiceProvider
*
* @package App\Providers
* Class AppServiceProvider.
*/
class AppServiceProvider extends ServiceProvider
{
Expand All @@ -26,7 +24,7 @@ class AppServiceProvider extends ServiceProvider
UsersServiceContract::class => UsersService::class,
RolesServiceContract::class => RolesService::class,
AssetsServiceContract::class => AssetsService::class,
PermissionsServiceContract::class => PermissionsService::class
PermissionsServiceContract::class => PermissionsService::class,
];

/**
Expand Down
19 changes: 11 additions & 8 deletions app/Services/AssetsService.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,20 +15,18 @@
use League\Fractal\Serializer\DataArraySerializer;
use Dingo\Api\Exception\StoreResourceFailedException;
use Joselfonseca\LaravelApiTools\Contracts\FractalAble;
use Joselfonseca\LaravelApiTools\Traits\FilterableTrait;
use Joselfonseca\LaravelApiTools\Contracts\ValidateAble;
use Joselfonseca\LaravelApiTools\Traits\FilterableTrait;
use Joselfonseca\LaravelApiTools\Traits\FractalAbleTrait;
use Joselfonseca\LaravelApiTools\Traits\ValidateAbleTrait;
use Joselfonseca\LaravelApiTools\Traits\OrderQueryResultHelper;
use Joselfonseca\LaravelApiTools\Traits\ProcessMultipleParameterHelper;

/**
* Class AssetsService
* @package App\Services
* Class AssetsService.
*/
class AssetsService implements FractalAble, ValidateAble, AssetsServiceContract
{

use FractalAbleTrait,
ValidateAbleTrait,
FilterableTrait,
Expand Down Expand Up @@ -82,7 +80,7 @@ class AssetsService implements FractalAble, ValidateAble, AssetsServiceContract
/**
* @var string
*/
protected $resourceKey = "assets";
protected $resourceKey = 'assets';

/**
* @var Asset
Expand Down Expand Up @@ -131,11 +129,13 @@ public function get(array $attributes = [], $limit = 20)
$this->applyFilters($model, $attributes);
$this->processOrderingRules($attributes);
$this->applyOrderingRules($model);
if (!empty($limit)) {
if (! empty($limit)) {
$paginator = $model->paginate($limit);
$paginator->appends('limit', $limit);

return $paginator;
}

return $model->get();
}

Expand All @@ -158,6 +158,7 @@ public function create(array $attributes = [])
$this->runValidator($attributes, $this->validationCreateRules, $this->validationMessages);
$model = $this->model->create($attributes);
event(new AssetWasCreated($model));

return $model;
}

Expand All @@ -173,6 +174,7 @@ public function update($id, array $attributes = [])
$this->runValidator($attributes, $this->validationUpdateRules, $this->validationMessages);
$model->fill($attributes);
$model->save();

return $model->fresh();
}

Expand All @@ -184,6 +186,7 @@ public function delete($id)
{
$model = $this->find($id);
$model->delete();

return true;
}

Expand All @@ -197,7 +200,7 @@ public function uploadFromDirectFile($attributes = [])
$this->runValidator($attributes, [
'mime' => 'required',
'Content-Length' => 'required',
'content' => 'required'
'content' => 'required',
], $this->validationMessages);
$this->validateMime($attributes['mime']);
$attributes['type'] = $this->validMimes[$attributes['mime']]['type'];
Expand All @@ -216,7 +219,7 @@ public function uploadFromUrl($attributes = [])
{
$this->runValidator($attributes, [
'url' => 'required',
'user' => 'required'
'user' => 'required',
], $this->validationMessages);
$response = $this->callFileUrl($attributes['url']);
$attributes['mime'] = $response->getHeader('content-type')[0];
Expand Down
19 changes: 11 additions & 8 deletions app/Services/PermissionsService.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,26 +3,24 @@
namespace App\Services;

use App\Entities\Permission;
use App\Contracts\PermissionsServiceContract;
use App\Transformers\PermissionTransformer;
use League\Fractal\TransformerAbstract;
use Dingo\Api\Exception\ResourceException;
use App\Transformers\PermissionTransformer;
use App\Contracts\PermissionsServiceContract;
use League\Fractal\Serializer\DataArraySerializer;
use Joselfonseca\LaravelApiTools\Contracts\FractalAble;
use Joselfonseca\LaravelApiTools\Traits\FilterableTrait;
use Joselfonseca\LaravelApiTools\Contracts\ValidateAble;
use Joselfonseca\LaravelApiTools\Traits\FilterableTrait;
use Joselfonseca\LaravelApiTools\Traits\FractalAbleTrait;
use Joselfonseca\LaravelApiTools\Traits\ValidateAbleTrait;
use Joselfonseca\LaravelApiTools\Traits\OrderQueryResultHelper;
use Joselfonseca\LaravelApiTools\Traits\ProcessMultipleParameterHelper;

/**
* Class PermissionsService
* @package App\Services
* Class PermissionsService.
*/
class PermissionsService implements FractalAble, ValidateAble, PermissionsServiceContract
{

use FractalAbleTrait,
ValidateAbleTrait,
FilterableTrait,
Expand Down Expand Up @@ -53,7 +51,7 @@ class PermissionsService implements FractalAble, ValidateAble, PermissionsServic
/**
* @var string
*/
protected $resourceKey = "permissions";
protected $resourceKey = 'permissions';

/**
* @var Permission
Expand Down Expand Up @@ -101,11 +99,13 @@ public function get(array $attributes = [], $limit = 20)
$this->applyFilters($model, $attributes);
$this->processOrderingRules($attributes);
$this->applyOrderingRules($model);
if (!empty($limit)) {
if (! empty($limit)) {
$paginator = $model->paginate($limit);
$paginator->appends('limit', $limit);

return $paginator;
}

return $model->get();
}

Expand All @@ -127,6 +127,7 @@ public function create(array $attributes = [])
{
$this->runValidator($attributes, $this->validationCreateRules, $this->validationMessages);
$model = $this->model->create($attributes);

return $model;
}

Expand All @@ -142,6 +143,7 @@ public function update($id, array $attributes = [])
$this->runValidator($attributes, $this->validationUpdateRules, $this->validationMessages);
$model->fill($attributes);
$model->save();

return $model->fresh();
}

Expand All @@ -153,6 +155,7 @@ public function delete($id)
{
$model = $this->find($id);
$model->delete();

return true;
}

Expand Down
Loading