Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f5e6820f9e | |||
| 0d5b13c6d2 |
@@ -14,8 +14,8 @@ use KTXC\Http\Response\JsonResponse;
|
|||||||
use KTXC\Http\Response\Response;
|
use KTXC\Http\Response\Response;
|
||||||
use KTXC\Http\Response\StreamedNdJsonResponse;
|
use KTXC\Http\Response\StreamedNdJsonResponse;
|
||||||
use KTXC\Http\Response\StreamedResponse;
|
use KTXC\Http\Response\StreamedResponse;
|
||||||
use KTXC\SessionIdentity;
|
use KTXC\Context\IdentityContextInterface;
|
||||||
use KTXC\SessionTenant;
|
use KTXC\Context\TenantContextInterface;
|
||||||
use KTXF\Controller\ControllerAbstract;
|
use KTXF\Controller\ControllerAbstract;
|
||||||
use KTXF\Json\JsonSerializable;
|
use KTXF\Json\JsonSerializable;
|
||||||
use KTXF\Resource\Identifier\CollectionIdentifier;
|
use KTXF\Resource\Identifier\CollectionIdentifier;
|
||||||
@@ -51,8 +51,8 @@ class DefaultController extends ControllerAbstract {
|
|||||||
private const ERR_INVALID_DATA = 'Invalid parameter: data must be an array';
|
private const ERR_INVALID_DATA = 'Invalid parameter: data must be an array';
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
private readonly SessionTenant $tenantIdentity,
|
private readonly TenantContextInterface $tenantContext,
|
||||||
private readonly SessionIdentity $userIdentity,
|
private readonly IdentityContextInterface $identityContext,
|
||||||
private Manager $manager,
|
private Manager $manager,
|
||||||
private readonly LoggerInterface $logger
|
private readonly LoggerInterface $logger
|
||||||
) {}
|
) {}
|
||||||
@@ -80,13 +80,13 @@ class DefaultController extends ControllerAbstract {
|
|||||||
): Response {
|
): Response {
|
||||||
|
|
||||||
// authorize request
|
// authorize request
|
||||||
$tenantId = $this->tenantIdentity->identifier();
|
$tenantId = $this->tenantContext->identifier();
|
||||||
$userId = $this->userIdentity->identifier();
|
$userId = $this->identityContext->identifier();
|
||||||
|
|
||||||
// acting-user override: only the reserved system context is permitted,
|
// acting-user override: only the reserved system context is permitted,
|
||||||
// gated on the system mail management permission
|
// gated on the system mail management permission
|
||||||
if ($user !== null && $user !== $userId) {
|
if ($user !== null && $user !== $userId) {
|
||||||
if ($user !== ProviderBaseInterface::USER_SYSTEM || !$this->userIdentity->hasPermission('mail_manager.system')) {
|
if ($user !== ProviderBaseInterface::USER_SYSTEM || !$this->identityContext->hasPermission('mail_manager.system')) {
|
||||||
return new JsonResponse([
|
return new JsonResponse([
|
||||||
'version' => $version,
|
'version' => $version,
|
||||||
'transaction' => $transaction,
|
'transaction' => $transaction,
|
||||||
|
|||||||
Generated
+7
-9
@@ -1041,9 +1041,7 @@
|
|||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/@vue/language-core": {
|
"node_modules/@vue/language-core": {
|
||||||
"version": "3.3.8",
|
"version": "3.3.7",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-3.3.8.tgz",
|
|
||||||
"integrity": "sha512-ieGT8jJdhhy0mGzStZhsg/qPw5bQZJg5yF+3+XU6saf4sM7yo9ZXy3h+nCwrm2+b4qS/SypkNdR2jAF3uei9tA==",
|
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -2992,14 +2990,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/vue-tsc": {
|
"node_modules/vue-tsc": {
|
||||||
"version": "3.3.8",
|
"version": "3.3.7",
|
||||||
"resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-3.3.8.tgz",
|
|
||||||
"integrity": "sha512-xXmYlVQpcwJDWyGlqbHrGVOl1h3UOsASymRibrHc+iy9j/UNnOrOn4u+fntHz4D6Cs74RtapeqVV6CzJeg+UlA==",
|
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@volar/typescript": "2.4.28",
|
"@volar/typescript": "2.4.28",
|
||||||
"@vue/language-core": "3.3.8"
|
"@vue/language-core": "3.3.7"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"vue-tsc": "bin/vue-tsc.js"
|
"vue-tsc": "bin/vue-tsc.js"
|
||||||
@@ -3009,7 +3005,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/vuetify": {
|
"node_modules/vuetify": {
|
||||||
"version": "4.1.4",
|
"version": "4.1.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/vuetify/-/vuetify-4.1.8.tgz",
|
||||||
|
"integrity": "sha512-003D/8b5462uZCD5CMRTZF3smADmOn47mzthNY0aP/xkslovR5yIc1qXjPdFN0LHcu+p3GEAVmMQabldaIQ5pg==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"funding": {
|
"funding": {
|
||||||
"type": "github",
|
"type": "github",
|
||||||
@@ -3018,7 +3016,7 @@
|
|||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"typescript": ">=4.7",
|
"typescript": ">=4.7",
|
||||||
"vite-plugin-vuetify": ">=2.1.0",
|
"vite-plugin-vuetify": ">=2.1.0",
|
||||||
"vue": "^3.5.0",
|
"vue": "^3.5.0 || ^3.6.0-0",
|
||||||
"webpack-plugin-vuetify": ">=3.1.0"
|
"webpack-plugin-vuetify": ">=3.1.0"
|
||||||
},
|
},
|
||||||
"peerDependenciesMeta": {
|
"peerDependenciesMeta": {
|
||||||
|
|||||||
Reference in New Issue
Block a user