fixed document transactions api

This commit is contained in:
Denis Duliçi 2021-01-02 13:06:02 +03:00
parent 84b3e6914c
commit 6903b1624a
3 changed files with 70 additions and 22 deletions

View File

@ -2,21 +2,27 @@
namespace App\Http\Controllers\Api\Document;
use App\Abstracts\Http\ApiController;
use App\Http\Requests\Banking\Transaction as Request;
use App\Jobs\Banking\CreateBankingDocumentTransaction;
use App\Jobs\Banking\DeleteTransaction;
use App\Models\Banking\Transaction;
use App\Models\Document\Document;
use App\Transformers\Banking\Transaction as Transformer;
use Dingo\Api\Routing\Helpers;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
class DocumentTransactions extends BaseController
class DocumentTransactions extends ApiController
{
use Helpers, AuthorizesRequests, DispatchesJobs, ValidatesRequests;
/**
* Instantiate a new controller instance.
*/
public function __construct()
{
// Add CRUD permission check
$this->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.
@ -26,7 +32,7 @@ class DocumentTransactions extends BaseController
*/
public function index($document_id)
{
$transactions = Transaction::document($document_id)->get();
$transactions = Transaction::documentId($document_id)->get();
return $this->response->collection($transactions, new Transformer());
}
@ -40,7 +46,7 @@ class DocumentTransactions extends BaseController
*/
public function show($document_id, $id)
{
$transaction = Transaction::document($document_id)->find($id);
$transaction = Transaction::documentId($document_id)->find($id);
return $this->response->item($transaction, new Transformer());
}
@ -70,7 +76,7 @@ class DocumentTransactions extends BaseController
*/
public function destroy($document_id, $id)
{
$transaction = Transaction::document($document_id)->find($id);
$transaction = Transaction::documentId($document_id)->find($id);
$this->dispatch(new DeleteTransaction($transaction));

View File

@ -193,17 +193,53 @@ class Transaction extends Model
}
/**
* Get by document (invoice/bill).
* Get by document id.
*
* @param \Illuminate\Database\Eloquent\Builder $query
* @param integer $document_id
* @return \Illuminate\Database\Eloquent\Builder
*/
public function scopeDocument($query, $document_id)
public function scopeDocumentId($query, $document_id)
{
return $query->where('document_id', '=', $document_id);
}
/**
* Get by account id.
*
* @param \Illuminate\Database\Eloquent\Builder $query
* @param integer $account_id
* @return \Illuminate\Database\Eloquent\Builder
*/
public function scopeAccountId($query, $account_id)
{
return $query->where('account_id', '=', $account_id);
}
/**
* Get by contact id.
*
* @param \Illuminate\Database\Eloquent\Builder $query
* @param integer $contact_id
* @return \Illuminate\Database\Eloquent\Builder
*/
public function scopeContactId($query, $contact_id)
{
return $query->where('contact_id', '=', $contact_id);
}
/**
* Get by category id.
*
* @param \Illuminate\Database\Eloquent\Builder $query
* @param integer $category_id
* @return \Illuminate\Database\Eloquent\Builder
*/
public function scopeCategoryId($query, $category_id)
{
return $query->where('category_id', '=', $category_id);
}
/**
* Order by paid date.
*

View File

@ -2,21 +2,27 @@
namespace App\Http\Controllers\Api\Sales;
use App\Abstracts\Http\ApiController;
use App\Http\Requests\Banking\Transaction as Request;
use App\Jobs\Banking\CreateBankingDocumentTransaction;
use App\Jobs\Banking\DeleteTransaction;
use App\Models\Banking\Transaction;
use App\Models\Document\Document;
use App\Transformers\Banking\Transaction as Transformer;
use Dingo\Api\Routing\Helpers;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
class InvoiceTransactions extends BaseController
class InvoiceTransactions extends ApiController
{
use Helpers, AuthorizesRequests, DispatchesJobs, ValidatesRequests;
/**
* Instantiate a new controller instance.
*/
public function __construct()
{
// Add CRUD permission check
$this->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.
@ -26,7 +32,7 @@ class InvoiceTransactions extends BaseController
*/
public function index($invoice_id)
{
$transactions = Transaction::document($invoice_id)->get();
$transactions = Transaction::documentId($invoice_id)->get();
return $this->response->collection($transactions, new Transformer());
}
@ -40,7 +46,7 @@ class InvoiceTransactions extends BaseController
*/
public function show($invoice_id, $id)
{
$transaction = Transaction::document($invoice_id)->find($id);
$transaction = Transaction::documentId($invoice_id)->find($id);
return $this->response->item($transaction, new Transformer());
}
@ -70,7 +76,7 @@ class InvoiceTransactions extends BaseController
*/
public function destroy($invoice_id, $id)
{
$transaction = Transaction::document($invoice_id)->find($id);
$transaction = Transaction::documentId($invoice_id)->find($id);
$this->dispatch(new DeleteTransaction($transaction));