middleware('permission:create-banking-transactions')->only('create', 'store', 'duplicate', 'import'); $this->middleware('permission:read-banking-transactions')->only('index', 'show', 'edit', 'export'); $this->middleware('permission:update-banking-transactions')->only('update', 'enable', 'disable'); $this->middleware('permission:delete-banking-transactions')->only('destroy'); } /** * Display a listing of the resource. * * @param $document_id * @return \Dingo\Api\Http\Response */ public function index($document_id) { $transactions = Transaction::documentId($document_id)->get(); return $this->response->collection($transactions, new Transformer()); } /** * Display the specified resource. * * @param $document_id * @param $id * @return \Dingo\Api\Http\Response */ public function show($document_id, $id) { $transaction = Transaction::documentId($document_id)->find($id); return $this->response->item($transaction, new Transformer()); } /** * Store a newly created resource in storage. * * @param $document_id * @param $request * @return \Dingo\Api\Http\Response */ public function store($document_id, Request $request) { $document = Document::find($document_id); $transaction = $this->dispatch(new CreateBankingDocumentTransaction($document, $request)); return $this->response->created(route('api.documents.transactions.show', [$document_id, $transaction->id])); } /** * Remove the specified resource from storage. * * @param $document_id * @param $id * @return \Dingo\Api\Http\Response */ public function destroy($document_id, $id) { $transaction = Transaction::documentId($document_id)->find($id); $this->dispatch(new DeleteTransaction($transaction)); return $this->response->noContent(); } }