Update repositories, remove references to admin id

This commit is contained in:
James Cole
2023-09-23 07:15:41 +02:00
parent de7638c502
commit 75e5115aa3
16 changed files with 1047 additions and 1011 deletions

View File

@@ -67,9 +67,9 @@ class AccountController extends Controller
* TODO list of checks
* 1. use dates from ParameterBag
* 2. Request validates dates
* 3. Request includes user_group_id as administration_id
* 3. Request includes user_group_id
* 4. Endpoint is documented.
* 5. Collector uses administration_id
* 5. Collector uses user_group_id
*
* @param AutocompleteRequest $request
*

View File

@@ -76,7 +76,7 @@ class AccountController extends Controller
* If a transaction has foreign currency = native currency, the foreign amount will be used, no conversion
* will take place.
*
* TODO validate and set administration_id from request
* TODO validate and set user_group_id from request
*
* @param DateRequest $request
*

View File

@@ -71,7 +71,7 @@ class BalanceController extends Controller
* If the transaction being processed is already in native currency OR if the
* foreign amount is in the native currency, the amount will not be converted.
*
* TODO validate and set administration_id
* TODO validate and set user_group_id
* TODO collector set group, not user
*
* @param BalanceChartRequest $request

View File

@@ -52,6 +52,7 @@ class ShowController extends Controller
function ($request, $next) {
$this->repository = app(BillRepositoryInterface::class);
// new way of user group validation
$userGroup = $this->validateUserGroup($request);
if (null !== $userGroup) {
$this->repository->setUserGroup($userGroup);

View File

@@ -62,8 +62,6 @@ class StoreController extends Controller
/**
* TODO this method is practically the same as the V1 method and borrows as much code as possible.
* TODO still it duplicates a lot.
* TODO the v1 endpoints will never support separate administrations, this is an important distinction.
*
* @return JsonResponse
* @throws FireflyException
@@ -74,7 +72,6 @@ class StoreController extends Controller
app('log')->debug('Now in API v2 StoreController::store()');
$data = $request->getAll();
$data['user'] = auth()->user()->id;
$userGroup = $request->getUserGroup();
$data['user_group'] = $userGroup;

View File

@@ -26,8 +26,9 @@ namespace FireflyIII\Api\V2\Controllers\Summary;
use FireflyIII\Api\V2\Controllers\Controller;
use FireflyIII\Api\V2\Request\Generic\SingleDateRequest;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Helpers\Report\NetWorthInterface;
use FireflyIII\Support\Http\Api\ConvertsExchangeRates;
use FireflyIII\Support\Http\Api\ValidatesUserGroupTrait;
use Illuminate\Http\JsonResponse;
/**
@@ -35,6 +36,9 @@ use Illuminate\Http\JsonResponse;
*/
class NetWorthController extends Controller
{
use ValidatesUserGroupTrait;
use ConvertsExchangeRates;
private NetWorthInterface $netWorth;
/**
@@ -46,7 +50,12 @@ class NetWorthController extends Controller
$this->middleware(
function ($request, $next) {
$this->netWorth = app(NetWorthInterface::class);
$this->netWorth->setUser(auth()->user());
// new way of user group validation
$userGroup = $this->validateUserGroup($request);
if (null !== $userGroup) {
$this->netWorth->setUserGroup($userGroup);
}
return $next($request);
}
@@ -63,7 +72,6 @@ class NetWorthController extends Controller
*/
public function get(SingleDateRequest $request): JsonResponse
{
throw new FireflyException('deprecated use of thing.');
$date = $request->getDate();
$result = $this->netWorth->sumNetWorthByCurrency($date);
$converted = $this->cerSum($result);

View File

@@ -24,13 +24,10 @@ declare(strict_types=1);
namespace FireflyIII\Api\V2\Request\Autocomplete;
use FireflyIII\Enums\UserRoleEnum;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Models\AccountType;
use FireflyIII\Models\UserRole;
use FireflyIII\Support\Request\ChecksLogin;
use FireflyIII\Support\Request\ConvertsDataTypes;
use FireflyIII\User;
use FireflyIII\Validation\Administration\ValidatesAdministrationAccess;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Validator;
@@ -39,13 +36,12 @@ use Illuminate\Validation\Validator;
*/
class AutocompleteRequest extends FormRequest
{
protected array $acceptedRoles = [UserRoleEnum::MANAGE_TRANSACTIONS];
use ConvertsDataTypes;
use ChecksLogin;
use ValidatesAdministrationAccess;
/**
* @return array
* @throws FireflyException
*/
public function getData(): array
{
@@ -63,11 +59,10 @@ class AutocompleteRequest extends FormRequest
$user = auth()->user();
return [
'types' => $array,
'query' => $this->convertString('query'),
'date' => $this->getCarbonDate('date'),
'limit' => $limit,
'administration_id' => (int)($this->get('administration_id', null) ?? $user->getAdministrationId()),
'types' => $array,
'query' => $this->convertString('query'),
'date' => $this->getCarbonDate('date'),
'limit' => $limit,
];
}