From c06180867769d3a7e39d64b7e70a8bf95ce4d5b7 Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Mon, 30 May 2016 13:44:49 +0300 Subject: [PATCH] Enabled uploading documents through the API --- .../Controllers/DocumentAPIController.php | 20 ++++++++++++++----- app/Http/Controllers/DocumentController.php | 6 +----- app/Http/Requests/CreateDocumentRequest.php | 4 ++-- 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/app/Http/Controllers/DocumentAPIController.php b/app/Http/Controllers/DocumentAPIController.php index 561a5c174a01..e4ca7c7fb5de 100644 --- a/app/Http/Controllers/DocumentAPIController.php +++ b/app/Http/Controllers/DocumentAPIController.php @@ -2,13 +2,21 @@ use App\Models\Document; +use App\Ninja\Repositories\DocumentRepository; +use App\Http\Requests\DocumentRequest; +use App\Http\Requests\CreateDocumentRequest; + class DocumentAPIController extends BaseAPIController { + protected $documentRepo; - public function __construct() + protected $entityType = ENTITY_DOCUMENT; + + public function __construct(DocumentRepository $documentRepo) { parent::__construct(); + $this->documentRepo = $documentRepo; } public function index() @@ -16,16 +24,18 @@ class DocumentAPIController extends BaseAPIController //stub } - public function show($publicId) + public function show(DocumentRequest $request) { - $document = Document::scope($publicId)->firstOrFail(); + $document = $request->entity(); return DocumentController::getDownloadResponse($document); } - public function store() + public function store(CreateDocumentRequest $request) { - //stub + $document = $this->documentRepo->upload($request->file); + + return $this->itemResponse($document); } public function update() diff --git a/app/Http/Controllers/DocumentController.php b/app/Http/Controllers/DocumentController.php index e4ea605d57a0..f0871a2408f2 100644 --- a/app/Http/Controllers/DocumentController.php +++ b/app/Http/Controllers/DocumentController.php @@ -102,11 +102,7 @@ class DocumentController extends BaseController public function postUpload(CreateDocumentRequest $request) { - if (!Utils::hasFeature(FEATURE_DOCUMENTS)) { - return; - } - - $result = $this->documentRepo->upload(Input::all()['file'], $doc_array); + $result = $this->documentRepo->upload($request->file, $doc_array); if(is_string($result)){ return Response::json([ diff --git a/app/Http/Requests/CreateDocumentRequest.php b/app/Http/Requests/CreateDocumentRequest.php index 33330a90895e..dca98a3ec3ed 100644 --- a/app/Http/Requests/CreateDocumentRequest.php +++ b/app/Http/Requests/CreateDocumentRequest.php @@ -9,7 +9,7 @@ class CreateDocumentRequest extends DocumentRequest */ public function authorize() { - return $this->user()->can('create', ENTITY_DOCUMENT); + return $this->user()->can('create', ENTITY_DOCUMENT) && $this->user()->hasFeature(FEATURE_DOCUMENTS); } /** @@ -20,7 +20,7 @@ class CreateDocumentRequest extends DocumentRequest public function rules() { return [ - + //'file' => 'mimes:jpg' ]; } }