mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-07 10:17:30 -04:00
Working on the API
This commit is contained in:
parent
bef7454b73
commit
ba90eb45ad
@ -10,8 +10,6 @@ use App\Models\AccountToken;
|
|||||||
use App\Ninja\Repositories\AccountRepository;
|
use App\Ninja\Repositories\AccountRepository;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use League\Fractal;
|
use League\Fractal;
|
||||||
use League\Fractal\Resource\Item;
|
|
||||||
use League\Fractal\Resource\Collection;
|
|
||||||
use League\Fractal\Manager;
|
use League\Fractal\Manager;
|
||||||
use App\Ninja\Serializers\ArraySerializer;
|
use App\Ninja\Serializers\ArraySerializer;
|
||||||
use App\Ninja\Transformers\AccountTransformer;
|
use App\Ninja\Transformers\AccountTransformer;
|
||||||
@ -50,20 +48,22 @@ class AccountApiController extends BaseAPIController
|
|||||||
$this->accountRepo->createTokens(Auth::user(), $request->token_name);
|
$this->accountRepo->createTokens(Auth::user(), $request->token_name);
|
||||||
|
|
||||||
$users = $this->accountRepo->findUsers(Auth::user(), 'account.account_tokens');
|
$users = $this->accountRepo->findUsers(Auth::user(), 'account.account_tokens');
|
||||||
$resource = new Collection($users, new UserAccountTransformer($request->token_name));
|
$data = $this->createCollection($users, new UserAccountTransformer($request->token_name));
|
||||||
|
|
||||||
return $this->returnData($resource, 'user_accounts');
|
$response = [
|
||||||
|
'user_accounts' => $data,
|
||||||
|
'default_url' => SITE_URL
|
||||||
|
];
|
||||||
|
|
||||||
|
return $this->response($response);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
public function show()
|
||||||
public function show($accountKey)
|
|
||||||
{
|
{
|
||||||
$account = $this->accountRepo->findByKey($accountKey);
|
$account = Auth::user()->account;
|
||||||
|
$response = $this->createItem($account, new AccountTransformer);
|
||||||
|
|
||||||
$resource = new Item($account, new AccountTransformer);
|
return $this->response($response);
|
||||||
|
|
||||||
return $this->returnData($resource);
|
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,8 @@ use Utils;
|
|||||||
use Response;
|
use Response;
|
||||||
use League\Fractal;
|
use League\Fractal;
|
||||||
use League\Fractal\Manager;
|
use League\Fractal\Manager;
|
||||||
|
use League\Fractal\Resource\Item;
|
||||||
|
use League\Fractal\Resource\Collection;
|
||||||
use App\Ninja\Serializers\ArraySerializer;
|
use App\Ninja\Serializers\ArraySerializer;
|
||||||
|
|
||||||
class BaseAPIController extends Controller
|
class BaseAPIController extends Controller
|
||||||
@ -16,14 +18,20 @@ class BaseAPIController extends Controller
|
|||||||
$this->manager->setSerializer(new ArraySerializer());
|
$this->manager->setSerializer(new ArraySerializer());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function returnData($resource, $class = false)
|
protected function createItem($data, $transformer)
|
||||||
{
|
{
|
||||||
$response = $this->manager->createData($resource)->toArray();
|
$resource = new Item($data, $transformer);
|
||||||
|
return $this->manager->createData($resource)->toArray();
|
||||||
if ($class) {
|
|
||||||
$response = [$class => $response];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function createCollection($data, $transformer)
|
||||||
|
{
|
||||||
|
$resource = new Collection($data, $transformer);
|
||||||
|
return $this->manager->createData($resource)->toArray();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function response($response)
|
||||||
|
{
|
||||||
$response = json_encode($response, JSON_PRETTY_PRINT);
|
$response = json_encode($response, JSON_PRETTY_PRINT);
|
||||||
$headers = Utils::getApiHeaders();
|
$headers = Utils::getApiHeaders();
|
||||||
|
|
||||||
|
@ -192,8 +192,7 @@ Route::group(['middleware' => 'api', 'prefix' => 'api/v1'], function()
|
|||||||
{
|
{
|
||||||
Route::resource('ping', 'ClientApiController@ping');
|
Route::resource('ping', 'ClientApiController@ping');
|
||||||
Route::post('login', 'AccountApiController@login');
|
Route::post('login', 'AccountApiController@login');
|
||||||
Route::get('accounts', 'AccountApiController@index');
|
Route::get('accounts', 'AccountApiController@show');
|
||||||
Route::get('accounts/{account_key}', 'AccountApiController@show');
|
|
||||||
Route::resource('clients', 'ClientApiController');
|
Route::resource('clients', 'ClientApiController');
|
||||||
Route::get('quotes/{client_id?}', 'QuoteApiController@index');
|
Route::get('quotes/{client_id?}', 'QuoteApiController@index');
|
||||||
Route::resource('quotes', 'QuoteApiController');
|
Route::resource('quotes', 'QuoteApiController');
|
||||||
|
Loading…
x
Reference in New Issue
Block a user