/**
  * @param $provider
  * @param $productId
  * @return array
  */
 public function productAction($provider, $productId)
 {
     $result = (new $provider())->product($productId);
     $fractal = new \League\Fractal\Manager();
     $class = ucfirst($provider) . 'Transformer';
     $transformer = new $class();
     $resource = new \League\Fractal\Resource\Item($result, $transformer);
     return $fractal->createData($resource)->toArray();
 }
Ejemplo n.º 2
0
 /**
  * 
  * @param \League\Fractal\Resource\ResourceInterface $fractal
  */
 protected function writeJson($resource, $status = 200)
 {
     $fractal = new \League\Fractal\Manager();
     $this->app->response->setStatus($status);
     $this->app->response->headers->set('Content-Type', 'application/json');
     $this->app->contentType('application/json;  charset=utf-8');
     $fractalArray = $fractal->createData($resource)->toArray();
     $this->app->response->setBody(json_encode($fractalArray, JSON_UNESCAPED_SLASHES));
 }
 /**
  * Register the application services.
  *
  * @return void
  */
 public function register()
 {
     $app['Dingo\\Api\\Transformer\\Factory']->setAdapter(function ($app) {
         $fractal = new League\Fractal\Manager();
         $fractal->setSerializer(new League\Fractal\Serializer\JsonApiSerializer());
         return new Dingo\Api\Transformer\Adapter\Fractal($fractal);
     });
     app('Dingo\\Api\\Transformer\\Factory')->register('AutoResume\\Entities\\User', 'AutoResume\\Transformers\\UserTransformer');
 }
Ejemplo n.º 4
0
 /**
  * Register the application services.
  *
  * @return void
  */
 public function register()
 {
     // TODO Test this one out
     $this->app->bind('\\League\\Fractal\\Manager', function ($app) {
         $fractal = new \League\Fractal\Manager();
         $serializer = new \League\Fractal\Serializer\JsonApiSerializer(env('API_DOMAIN', null));
         $fractal->setSerializer($serializer);
         return $fractal;
     });
 }
 /**
  * Register the application services.
  *
  * @return void
  */
 public function register()
 {
     $this->app->bind('\\League\\Fractal\\Manager', function ($app) {
         $fractal = new \League\Fractal\Manager();
         $baseUrl = url('/');
         $serializer = new \League\Fractal\Serializer\JsonApiSerializer($baseUrl);
         $fractal->setSerializer($serializer);
         return $fractal;
     });
     $this->app->bind('Dingo\\Api\\Transformer\\Adapter\\Fractal', function ($app) {
         $fractal = $app->make('\\League\\Fractal\\Manager');
         return new \Dingo\Api\Transformer\Adapter\Fractal($fractal);
     });
 }
Ejemplo n.º 6
0
 /**
  * @param int $id
  * @return mixed
  */
 public function show($id)
 {
     if ($item = $this->repository->find($id)) {
         $resource = new Item($item, $this->getTransformer(), $item->getTable());
         return $this->manager->createData($resource)->toJson();
     }
     return null;
 }
 public function updateProductAction($id)
 {
     list($provider, $productId) = explode('-', Input::get('token'));
     $result = (new $provider())->product($productId);
     $fractal = new \League\Fractal\Manager();
     $class = ucfirst($provider) . 'Transformer';
     $transformer = new $class();
     $resource = new \League\Fractal\Resource\Item($result, $transformer);
     $data = $fractal->createData($resource)->toArray()['data'];
     $product = Product::find($id);
     $product->product_id = $productId;
     $product->title = $data['title'];
     $product->description = $data['description'];
     $product->provider = $provider;
     $product->price = $data['price'];
     $product->target = $data['target'];
     $product->save();
     return Redirect::route('products');
 }
Ejemplo n.º 8
0
function fractal_item_array($model, $transformer)
{
    $manager = new League\Fractal\Manager();
    $item = new League\Fractal\Resource\Item($model, $transformer);
    return $manager->createData($item)->toArray();
}
Ejemplo n.º 9
0
function fractal_item_array($model, $transformer, $includes = null)
{
    $manager = new League\Fractal\Manager();
    if ($includes !== null) {
        $manager->parseIncludes($includes);
    }
    $item = new League\Fractal\Resource\Item($model, $transformer);
    return $manager->createData($item)->toArray();
}
Ejemplo n.º 10
0
                $c = 2 * asin(sqrt($a));
                $distance = $earth_radius * $c;
                if ($distance <= 100) {
                    $userIds[] = $d->user_id;
                }
            }
        }
        // subsequent filters will be using the $userIds variable
        if (!empty($userIds) && !empty($skilbaseids)) {
            $userIds = array_intersect($userIds, $skilbaseids);
        } elseif (!empty($skilbaseids)) {
            $userIds = $skilbaseids;
        }
        Log::info($userIds);
        $users = \Motibu\Models\Candidate::with('user')->whereIn('user_id', $userIds)->paginate();
        $fractal = new \League\Fractal\Manager();
        $collection = $users->getCollection();
        $resource = new \League\Fractal\Resource\Collection($users, new \Motibu\Transformers\CandidateTransformer());
        $resource->setPaginator(new \League\Fractal\Pagination\IlluminatePaginatorAdapter($users));
        $rootScope = $fractal->createData($resource);
        return \Response::json(['professionals' => $rootScope->toArray()]);
    });
    Route::post('/place_order', function () {
        // TODO: here's where you do the stripe parts
        // simply adding a subscription to an user
        return \Response::json(['success' => true]);
    });
});
/**
 * Base URL will be api.motibu.com
 * Api Version Prefix
Ejemplo n.º 11
0
function fractal_api_serialize_collection($model, $transformer, $includes = null)
{
    $manager = new League\Fractal\Manager();
    if ($includes !== null) {
        $manager->parseIncludes($includes);
    }
    $manager->setSerializer(new App\Serializers\ApiSerializer());
    // we're using collection instead of item here, so we can peak at the items beforehand
    $collection = new League\Fractal\Resource\Collection($model, $transformer);
    return $manager->createData($collection)->toArray();
}
Ejemplo n.º 12
0
});
/**
 * @description Phalcon - AuthManager
 */
$di->setShared(AppServices::AUTH_MANAGER, function () use($di, $config) {
    $authManager = new \PhalconRest\Auth\Manager($config->authentication->expirationTime);
    $authManager->registerAccountType(App\Auth\UsernameAccountType::NAME, new \App\Auth\UsernameAccountType());
    return $authManager;
});
/**
 * @description Phalcon - \Phalcon\Mvc\Model\Manager
 */
$di->setShared(AppServices::MODELS_MANAGER, function () use($di) {
    $modelsManager = new \Phalcon\Mvc\Model\Manager();
    return $modelsManager->setEventsManager($di->get(AppServices::EVENTS_MANAGER));
});
/**
 * @description PhalconRest - \League\Fractal\Manager
 */
$di->setShared(AppServices::FRACTAL_MANAGER, function () {
    $fractal = new \League\Fractal\Manager();
    $fractal->setSerializer(new \App\Fractal\CustomSerializer());
    return $fractal;
});
/**
 * @description App - \Library\App\Services\UserService
 */
$di->setShared(AppServices::USER_SERVICE, function () {
    return new \App\Services\UserService();
});
return $di;
Ejemplo n.º 13
0
<?php

return ['vendor' => 'zeropingheroes.lanager', 'version' => 'v1', 'prefix' => 'api', 'domain' => null, 'conditional_request' => false, 'strict' => false, 'debug' => false, 'auth' => ['lanager' => function ($app) {
    return new Zeropingheroes\Lanager\Domain\Users\UserApiKeyAuthorizationProvider($app['auth']);
}], 'throttling' => [], 'transformer' => function ($app) {
    $fractal = new League\Fractal\Manager();
    $fractal->setSerializer(new League\Fractal\Serializer\ArraySerializer());
    return new Dingo\Api\Transformer\FractalTransformer($fractal);
}, 'default_format' => 'json', 'formats' => ['json' => 'Dingo\\Api\\Http\\ResponseFormat\\JsonResponseFormat']];
Ejemplo n.º 14
0
// Register oauth2-server-laravel package
$app->register(\LucaDegasperi\OAuth2Server\Storage\FluentStorageServiceProvider::class);
$app->register(\LucaDegasperi\OAuth2Server\OAuth2ServerServiceProvider::class);
// Register tymon/jwt-auth package
$app->register(\Tymon\JWTAuth\Providers\JWTAuthServiceProvider::class);
// Register dingo/api package
$app->register(Dingo\Api\Provider\LumenServiceProvider::class);
class_alias('Tymon\\JWTAuth\\Facades\\JWTAuth', 'JWTAuth');
/** This gives you finer control over the payloads you create if you require it.
 *  Source: https://github.com/tymondesigns/jwt-auth/wiki/Installation
 */
class_alias('Tymon\\JWTAuth\\Facades\\JWTFactory', 'JWTFactory');
// Optional
// Dingo Response Transformer
$app['Dingo\\Api\\Transformer\\Factory']->setAdapter(function ($app) {
    $fractal = new League\Fractal\Manager();
    $fractal->setSerializer(new League\Fractal\Serializer\JsonApiSerializer());
    return new Dingo\Api\Transformer\Adapter\Fractal($fractal);
});
// Dingo basic auth
$app['Dingo\\Api\\Auth\\Auth']->extend('basic', function ($app) {
    return new Dingo\Api\Auth\Provider\Basic($app['auth'], 'phone');
});
// Dingo OAuth2.0 auth
$app['Dingo\\Api\\Auth\\Auth']->extend('oauth', function ($app) {
    $provider = new Dingo\Api\Auth\Provider\OAuth2($app['oauth2-server.authorizer']->getChecker());
    $provider->setUserResolver(function ($id) {
        return App\User::findOrFail($id);
    });
    $provider->setClientResolver(function ($id) {
        // TODO
Ejemplo n.º 15
0
 function getTransformedItem($data, League\Fractal\TransformerAbstract $transformer, $resourceKey = null)
 {
     if (empty($data)) {
         return null;
     }
     $item = new League\Fractal\Resource\Item($data, $transformer, $resourceKey);
     $manager = new League\Fractal\Manager();
     $output = $manager->createData($item)->toArray();
     return $output['data'];
 }
Ejemplo n.º 16
0
function json_collection($model, $transformer, $includes = null)
{
    $manager = new League\Fractal\Manager();
    if ($includes !== null) {
        $manager->parseIncludes($includes);
    }
    $manager->setSerializer(new App\Serializers\ApiSerializer());
    // da bess
    if (is_string($transformer)) {
        $transformer = 'App\\Transformers\\' . str_replace('/', '\\', $transformer) . 'Transformer';
        $transformer = new $transformer();
    }
    // we're using collection instead of item here, so we can peek at the items beforehand
    $collection = new League\Fractal\Resource\Collection($model, $transformer);
    return $manager->createData($collection)->toArray();
}