This commit is contained in:
Dennis Eichhorn 2024-01-30 21:29:21 +00:00
parent c26d0018a7
commit 78ec9d3c8b
3 changed files with 2 additions and 67 deletions

View File

@ -280,69 +280,4 @@ final class ApiController extends Controller
return $element;
}
/**
* Routing end-point for application behavior.
*
* @param RequestAbstract $request Request
* @param ResponseAbstract $response Response
* @param array $data Generic data
*
* @return void
*
* @api
*
* @since 1.0.0
*/
public function apiAddressCreate(RequestAbstract $request, ResponseAbstract $response, array $data = []) : void
{
if (!empty($val = $this->validateAddressCreate($request))) {
$response->header->status = RequestStatusCode::R_400;
$this->createInvalidCreateResponse($request, $response, $val);
return;
}
$profile = 0;
if ($request->hasData('profile')) {
$profile = $request->getDataInt('profile') ?? 0;
} else {
/** @var \Modules\Profile\Models\Profile $profileObj */
$profileObj = ProfileMapper::get()
->where('account', $request->getDataInt('account') ?? 0)
->execute();
$profile = $profileObj->id;
}
$address = $this->app->moduleManager->get('Admin', 'Api')->createAddressFromRequest($request);
$this->createModel($request->header->account, $address, AddressMapper::class, 'profile-address', $request->getOrigin());
$this->createModelRelation($request->header->account, $profile, $address->id, ProfileMapper::class, 'location', '', $request->getOrigin());
$this->createStandardCreateResponse($request, $response, $address);
}
/**
* Validate contact element create request
*
* @param RequestAbstract $request Request
*
* @return array<string, bool>
*
* @since 1.0.0
*/
private function validateAddressCreate(RequestAbstract $request) : array
{
$val = [];
if (($val['account'] = (!$request->hasData('account') && !$request->hasData('profile')))
|| ($val['type'] = !\is_numeric($request->getData('type')))
|| ($val['country'] = !$request->hasData('country'))
|| ($val['city'] = !$request->hasData('city'))
|| ($val['address'] = !$request->hasData('address'))
) {
return $val;
}
return [];
}
}

View File

@ -57,7 +57,7 @@ class BaseView extends View
/**
* {@inheritdoc}
*/
public function __construct(?L11nManager $l11n = null, RequestAbstract $request, ResponseAbstract $response)
public function __construct(L11nManager $l11n, RequestAbstract $request, ResponseAbstract $response)
{
parent::__construct($l11n, $request, $response);
$this->setTemplate('/Modules/Profile/Theme/Backend/Components/AccountGroupSelector/base');

View File

@ -41,7 +41,7 @@ class PopupView extends View
/**
* {@inheritdoc}
*/
public function __construct(?L11nManager $l11n = null, RequestAbstract $request, ResponseAbstract $response)
public function __construct(L11nManager $l11n, RequestAbstract $request, ResponseAbstract $response)
{
parent::__construct($l11n, $request, $response);
$this->setTemplate('/Modules/Profile/Theme/Backend/Components/AccountGroupSelector/popup');