webpress / core
Webpress Core Module
This package's canonical repository appears to be gone and the package has been frozen as a result.
Installs: 2 993
Dependents: 29
Suggesters: 0
Security: 0
Stars: 1
Watchers: 2
Forks: 4
Open Issues: 0
Requires
- cviebrock/eloquent-sluggable: 7.0.1
- dingo/blueprint: 0.4.2
- illuminate/auth: ^7.0
- illuminate/contracts: ^7.0
- illuminate/http: ^7.0
- illuminate/routing: ^7.0|^8.0
- illuminate/support: ^7.0|^8.0
- lcobucci/jwt: 3.3.3
- league/flysystem-aws-s3-v3: 1.0.25
- league/flysystem-cached-adapter: 1.0.9
- league/fractal: 0.19.2
- namshi/jose: 7.2.3
- nesbot/carbon: ^1.0 || ^2.0
Requires (Dev)
- orchestra/testbench: 5.0.0
- phpunit/phpunit: 8.5.13
- spatie/phpunit-watcher: 1.23.0
- dev-master
- 3.1.87
- 3.1.86
- 3.1.85
- 3.1.83
- 3.1.82
- 3.1.81
- 3.1.80
- 3.1.79
- 3.1.78
- 3.1.77
- 3.1.76
- 3.1.74
- 3.1.73
- 3.1.72
- 3.1.71
- 3.1.70
- 3.1.69
- 3.1.68
- 3.1.67
- 3.1.66
- 3.1.65
- 3.1.64
- 3.1.63
- 3.1.61
- 3.1.60
- 3.1.59
- 3.1.58
- 3.1.57
- 3.1.56
- 3.1.54
- 3.1.53
- 3.1.52
- 3.1.51
- 3.1.50
- 3.1.49
- 3.1.48
- 3.1.47
- 3.1.46
- 3.1.45
- 3.1.44
- 3.1.43
- 3.1.42
- 3.1.41
- 3.1.40
- 3.1.39
- 3.1.38
- 3.1.37
- 3.1.36
- 3.1.35
- 3.1.34
- 3.1.33
- 3.1.32
- 3.1.31
- 3.1.30
- 3.1.29
- 3.1.28
- 3.1.27
- 3.1.26
- 3.1.25
- 3.1.24
- 3.1.23
- 3.1.22
- 3.1.20
- 3.1.19
- 3.1.18
- 3.1.17
- 3.1.15
- 3.1.14
- 3.1.13
- 3.1.12
- 3.1.11
- 3.1.10
- 3.1.9
- 3.1.8
- 3.1.7
- 3.1.6
- 3.1.5
- 3.1.3
- 3.1.2
- 3.1.1
- 3.1.0
- 3.0.34
- 3.0.33
- 3.0.32
- 3.0.31
- 3.0.30
- 3.0.29
- 3.0.28
- 3.0.27
- 3.0.26
- 3.0.25
- 3.0.24
- 3.0.23
- 3.0.22
- 3.0.21
- 3.0.20
- 3.0.19
- 3.0.18
- 3.0.17
- 3.0.16
- 3.0.15
- 3.0.14
- 3.0.13
- 3.0.12
- 3.0.11
- 3.0.10
- 3.0.9
- 3.0.8
- 3.0.6
- 3.0.5
- 3.0.3
- 3.0.2
- 3.0.1
- 3.0.0
- 2.1.1
- 2.1.0
- 2.0.0
- 1.5.0
- 1.4.0
- 1.3.0
- 1.2.1
- 0.19.0
- 0.18.0
- 0.17.0
- 0.16.0
- 0.1.2
- 0.1.1
- 0.1.0
- 0.0.1
- dev-dev/v9.0
- dev-chore/host-own-dependency
This package is auto-updated.
Last update: 2022-06-17 10:32:14 UTC
README
This package contains 3 other packages which are dingo/api
, tymon/jwt-auth
, prettus/l5-repository
that provides powerful codebase to build Apis.
Installation
Composer
To include the package in your project, Please run following command.
composer require vicoders/core
Config and Migration
Run the following commands to publish configuration and migration files.
php artisan vendor:publish --provider="Dingo\Api\Provider\LaravelServiceProvider"
php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider"
php artisan vendor:publish --provider "Prettus\Repository\Providers\RepositoryServiceProvider"
Environment
In .env file, we need some configuration.
API_PREFIX=api
API_VERSION=v1
API_NAME="Your API Name"
API_DEBUG=false
Generate JWT_SECRET in .envfile.
php artisan jwt:secret
Apis
Vicoders/Core
package provides a base VCComponent\Laravel\Vicoders\Core\Controllers\ApiController
and upload file api in VCComponent\Laravel\Vicoders\Core\Controllers\FileController
{url}/api/file/upload
Upload file api have
POST
HTTP method.
Modify config/filesystems.php
to use the api:
'disks' => [ 'local' => [ 'driver' => 'local', 'root' => public_path(), ],
To use this api, please add the following params into the request:
Header
Request
FileValidator
You are free to use your own FileValidator
. Just implements FileValidatorInterface
in your validator and bind it in AppServiceProvider
.
<?php namespace App\Providers; use App\Validators\FileValidator; use Illuminate\Support\ServiceProvider; use VCComponent\Laravel\Vicoders\Core\Contracts\FileValidatorInterface; class AppServiceProvider extends ServiceProvider { /** * Register any application services. * * @return void */ public function register() { $this->app->bind(FileValidatorInterface::class, FileValidator::class); } }
<?php namespace App\Validators; use VCComponent\Laravel\Vicoders\Core\Contracts\FileValidatorInterface; use VCComponent\Laravel\Vicoders\Core\Validators\AbstractValidator; class FileValidator extends AbstractValidator implements FileValidatorInterface { protected $rules = [ 'RULE_CREATE' => [ 'file' => ['required', 'mimes:csv'], 'upload_path' => ['required', 'regex:/[a-z]*/'], ], ]; }
Exceptions
Vicoders/Core
package provides some commonly used Exception
class:
VCComponent\Laravel\Vicoders\Core\Exceptions\NotFoundException::class, VCComponent\Laravel\Vicoders\Core\Exceptions\PermissionDeniedException::class,
You can use these Exception
classes in your Controller
:
use VCComponent\Laravel\Vicoders\Core\Exceptions\NotFoundException; use VCComponent\Laravel\Vicoders\Core\Controllers\ApiController; class UserController extends ApiController { public function show(Request $request, $id) { $user = $this->entity->find($id); if (!$user) { throw new NotFoundException('User'); } } }
Validators
Vicoders/Core
package provides some an AbstractValidator
that you can use to create your Validator
class:
use VCComponent\Laravel\Vicoders\Core\Validators\AbstractValidator; class PostValidator extends AbstractValidator