change createmodel function

This commit is contained in:
Dennis Eichhorn 2019-07-08 19:21:23 +02:00
parent 3969b82c53
commit 624b2a32b1
3 changed files with 63 additions and 10 deletions

View File

@ -212,7 +212,7 @@ final class ApiController extends Controller
}
$group = $this->createGroupFromRequest($request);
$this->createModel($request, $group, GroupMapper::class, 'group');
$this->createModel($request->getHeader()->getAccount(), $group, GroupMapper::class, 'group');
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Group', 'Group successfully created', $group);
}
@ -411,7 +411,7 @@ final class ApiController extends Controller
}
$account = $this->createAccountFromRequest($request);
$this->createModel($request, $account, AccountMapper::class, 'account');
$this->createModel($request->getHeader()->getAccount(), $account, AccountMapper::class, 'account');
$this->createProfileForAccount($account, $request);
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Account', 'Account successfully created', $account);
}
@ -635,7 +635,7 @@ final class ApiController extends Controller
return;
}
$this->createModel($request, $permission, GroupPermissionMapper::class, 'group-permission');
$this->createModel($request->getHeader()->getAccount(), $permission, GroupPermissionMapper::class, 'group-permission');
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Group', 'Group permission successfully created', $permission);
}
@ -668,10 +668,27 @@ final class ApiController extends Controller
return;
}
$this->createModel($request, $permission, AccountPermissionMapper::class, 'account-permission');
$this->createModel($request->getHeader()->getAccount(), $permission, AccountPermissionMapper::class, 'account-permission');
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Account', 'Account permission successfully created', $permission);
}
/**
* Api method to add a permission to a account-model combination
*
* @param PermissionAbstract $permission Permission to create for account-model combination
* @param int $account Account creating this model
*
* @return void
*
* @api
*
* @since 1.0.0
*/
public function createAccountModelPermission(PermissionAbstract $permission, int $account) : void
{
$this->createModel($account, $permission, AccountPermissionMapper::class, 'account-permission');
}
/**
* Validate permission create request
*

View File

@ -15,6 +15,7 @@ declare(strict_types=1);
namespace Modules\Admin\Models;
use phpOMS\Account\PermissionAbstract;
use phpOMS\Account\PermissionType;
/**
* Account permission class.
@ -39,13 +40,30 @@ class AccountPermission extends PermissionAbstract
/**
* Constructor.
*
* @param int $account Group id
* @param int $account Group id
* @param null|int $unit Unit Unit to check (null if all are acceptable)
* @param null|string $app App App to check (null if all are acceptable)
* @param null|string $module Module Module to check (null if all are acceptable)
* @param null|int $type Type (e.g. customer) (null if all are acceptable)
* @param null|int $element (e.g. customer id) (null if all are acceptable)
* @param null|int $component (e.g. address) (null if all are acceptable)
* @param int $permission Permission to check
*
* @since 1.0.0
*/
public function __construct(int $account = 0)
{
public function __construct(
int $account = 0,
int $unit = null,
string $app = null,
string $module = null,
int $from = 0,
int $type = null,
int $element = null,
int $component = null,
int $permission = PermissionType::NONE
) {
$this->account = $account;
parent::__construct($unit, $app, $module, $from, $type, $element, $component, $permission);
}
/**

View File

@ -15,6 +15,7 @@ declare(strict_types=1);
namespace Modules\Admin\Models;
use phpOMS\Account\PermissionAbstract;
use phpOMS\Account\PermissionType;
/**
* Group permission class.
@ -39,13 +40,30 @@ class GroupPermission extends PermissionAbstract
/**
* Constructor.
*
* @param int $group Group id
* @param int $group Group id
* @param null|int $unit Unit Unit to check (null if all are acceptable)
* @param null|string $app App App to check (null if all are acceptable)
* @param null|string $module Module Module to check (null if all are acceptable)
* @param null|int $type Type (e.g. customer) (null if all are acceptable)
* @param null|int $element (e.g. customer id) (null if all are acceptable)
* @param null|int $component (e.g. address) (null if all are acceptable)
* @param int $permission Permission to check
*
* @since 1.0.0
*/
public function __construct(int $group = 0)
{
public function __construct(
int $group = 0,
int $unit = null,
string $app = null,
string $module = null,
int $from = 0,
int $type = null,
int $element = null,
int $component = null,
int $permission = PermissionType::NONE
) {
$this->group = $group;
parent::__construct($unit, $app, $module, $from, $type, $element, $component, $permission);
}
/**