Skimia\ApiFusion
  • Namespace
  • Class
  • Tree
  • Todo
  • Download

Namespaces

  • PHP
  • Skimia
    • ApiFusion
      • Annotations
        • ApiRouting
          • Annotations
      • Auth
      • Console
        • Commands
      • Domain
        • Contracts
        • Exceptions
        • Traits
        • Users
        • Validation
      • Facade
      • Http
        • Controllers
          • Api
      • Routing

Classes

  • Skimia\ApiFusion\Annotations\ApiRouting\Annotations\ApiEndpoint
  • Skimia\ApiFusion\Annotations\ApiRouting\Annotations\ApiResource
  • Skimia\ApiFusion\Annotations\ApiRouting\ApiRoutingAnnotationsServiceProvider
  • Skimia\ApiFusion\Annotations\ApiRouting\Scanner
  • Skimia\ApiFusion\ApiFusionServiceProvider
  • Skimia\ApiFusion\Auth\Sentinel
  • Skimia\ApiFusion\Auth\User
  • Skimia\ApiFusion\Console\Commands\GenerateDomainApi
  • Skimia\ApiFusion\Domain\ResourceService
  • Skimia\ApiFusion\Domain\ResourceServiceModel
  • Skimia\ApiFusion\Domain\Users\EloquentServiceUserAdapter
  • Skimia\ApiFusion\Domain\Users\SentinelServiceUserAdapter
  • Skimia\ApiFusion\Domain\Validation\Bindings
  • Skimia\ApiFusion\Domain\Validation\Validator
  • Skimia\ApiFusion\Facade\RouteFusion
  • Skimia\ApiFusion\Http\Controllers\Api\ApiController
  • Skimia\ApiFusion\Http\Controllers\Api\ResourceServiceController
  • Skimia\ApiFusion\Http\Controllers\Api\SentinelSessionsController
  • Skimia\ApiFusion\Routing\RouteFusion

Interfaces

  • Skimia\ApiFusion\Domain\Contracts\InputValidatorContract
  • Skimia\ApiFusion\Domain\Contracts\ResourceServiceModelContract
  • Skimia\ApiFusion\Domain\Contracts\ServiceUserContract

Traits

  • Skimia\ApiFusion\Domain\Traits\CheckableTrait

Exceptions

  • Exception
  • Skimia\ApiFusion\Domain\Exceptions\AuthorisationException
  • Skimia\ApiFusion\Domain\Exceptions\DomainException
  • Skimia\ApiFusion\Domain\Exceptions\RequiredInputValidatorException
  • Skimia\ApiFusion\Domain\Exceptions\ValidationException
 1 <?php
 2 
 3 namespace Skimia\ApiFusion;
 4 
 5 use Illuminate\Support\ServiceProvider;
 6 use Dingo\Api\Provider\LaravelServiceProvider as DingoApiServiceProvider;
 7 use KennedyTedesco\Validation\ValidationServiceProvider;
 8 use Cartalyst\Sentinel\Laravel\SentinelServiceProvider;
 9 use Illuminate\Foundation\AliasLoader;
10 use Dingo\Api\Facade\API;
11 use Dingo\Api\Facade\Route;
12 use Cartalyst\Sentinel\Laravel\Facades\Activation;
13 use Cartalyst\Sentinel\Laravel\Facades\Reminder;
14 use Cartalyst\Sentinel\Laravel\Facades\Sentinel;
15 use Skimia\ApiFusion\Annotations\ApiRouting\ApiRoutingAnnotationsServiceProvider;
16 use Skimia\ApiFusion\Routing\RouteFusion;
17 use Skimia\ApiFusion\Facade\RouteFusion as RouteFusionFacade;
18 use Dingo\Api\Auth\Provider\Basic;
19 use Skimia\ApiFusion\Auth\Sentinel as AuthSentinel;
20 
21 class ApiFusionServiceProvider extends ServiceProvider
22 {
23     /**
24      * {@inheritdoc}
25      */
26     public function register()
27     {
28         $this->app->register(DingoApiServiceProvider::class);
29         $this->app->register(SentinelServiceProvider::class);
30         $this->app->register(ValidationServiceProvider::class);
31         $this->app->register(ApiRoutingAnnotationsServiceProvider::class);
32 
33         $loader = AliasLoader::getInstance();
34 
35         $loader->alias('API', API::class);
36         $loader->alias('APIRoute', Route::class);
37 
38         $loader->alias('Activation', Activation::class);
39         $loader->alias('Reminder', Reminder::class);
40         $loader->alias('Sentinel', Sentinel::class);
41 
42         $this->app->singleton('api-fusion.route', function ($app) {
43             return new RouteFusion($app);
44         });
45 
46         $loader->alias('RouteFusion', RouteFusionFacade::class);
47 
48         if (class_exists('Tymon\JWTAuth\Providers\LaravelServiceProvider')) {
49             $this->app->register('Tymon\JWTAuth\Providers\LaravelServiceProvider');
50 
51             $loader->alias('JWTAuth', 'Tymon\JWTAuth\Facades\JWTAuth');
52         }
53 
54         $this->commands([
55             'Skimia\ApiFusion\Console\Commands\GenerateDomainApi',
56         ]);
57     }
58 
59     public function boot()
60     {
61         $this->app['api.auth']->extend('basic', function ($app) {
62             return new Basic($app['auth']);
63         });
64 
65         $this->app['api.auth']->extend('sentinel', function ($app) {
66             return new AuthSentinel($app['sentinel']);
67         });
68 
69         if (class_exists('Tymon\JWTAuth\Providers\LaravelServiceProvider')) {
70             $this->app['api.auth']->extend('jwt', function ($app) {
71                 return new \Dingo\Api\Auth\Provider\JWT($app['Tymon\JWTAuth\JWTAuth']);
72             });
73         }
74     }
75 }
76 
Skimia\ApiFusion API documentation generated by ApiGen