Compare commits
1 Commits
main
..
887fddad22
| Author | SHA1 | Date | |
|---|---|---|---|
| 887fddad22 |
+12
-8
@@ -3,13 +3,12 @@
|
||||
namespace KTXM\ProviderMailSystem;
|
||||
|
||||
use KTXC\Resource\ProviderManager;
|
||||
use KTXF\Module\Configuration\BrowserModuleContextInterface;
|
||||
use KTXF\Module\Configuration\ModuleContextInterface;
|
||||
use KTXF\Module\ModuleBrowserInterface;
|
||||
use KTXF\Module\ModuleInstanceAbstract;
|
||||
use KTXF\Resource\Provider\ProviderInterface;
|
||||
use KTXM\ProviderMailSystem\Providers\Provider;
|
||||
|
||||
class Module extends ModuleInstanceAbstract
|
||||
class Module extends ModuleInstanceAbstract implements ModuleBrowserInterface
|
||||
{
|
||||
public function __construct(
|
||||
private readonly ProviderManager $providerManager,
|
||||
@@ -56,10 +55,15 @@ class Module extends ModuleInstanceAbstract
|
||||
$this->providerManager->register(ProviderInterface::TYPE_MAIL, 'system', Provider::class);
|
||||
}
|
||||
|
||||
public function configure(ModuleContextInterface $context): void
|
||||
{
|
||||
if ($context instanceof BrowserModuleContextInterface) {
|
||||
$context->registerModule($this, 'ProviderMailSystem', 'static/module.mjs');
|
||||
}
|
||||
public function registerBI(): array {
|
||||
return [
|
||||
'handle' => $this->handle(),
|
||||
'namespace' => 'ProviderMailSystem',
|
||||
'version' => $this->version(),
|
||||
'label' => $this->label(),
|
||||
'author' => $this->author(),
|
||||
'description' => $this->description(),
|
||||
'boot' => 'static/module.mjs',
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,7 +14,6 @@ use KTXC\Resource\ProviderManager;
|
||||
use KTXF\Mail\Provider\ProviderBaseInterface;
|
||||
use KTXF\Mail\Provider\ProviderServiceMutateInterface;
|
||||
use KTXF\Resource\Provider\ResourceServiceMutateInterface;
|
||||
use KTXF\Resource\SystemIdentity;
|
||||
use KTXM\ProviderMailSystem\Stores\ServiceStore;
|
||||
|
||||
/**
|
||||
@@ -109,7 +108,7 @@ class Provider implements ProviderBaseInterface, ProviderServiceMutateInterface
|
||||
{
|
||||
// routes are tenant scoped and only visible in the system user context,
|
||||
// keeping them out of regular user account listings
|
||||
if ($userId !== SystemIdentity::USER) {
|
||||
if ($userId !== self::USER_SYSTEM) {
|
||||
return [];
|
||||
}
|
||||
|
||||
@@ -123,7 +122,7 @@ class Provider implements ProviderBaseInterface, ProviderServiceMutateInterface
|
||||
|
||||
public function serviceFetch(string $tenantId, string $userId, string|int $identifier): ?Service
|
||||
{
|
||||
if ($userId !== SystemIdentity::USER) {
|
||||
if ($userId !== self::USER_SYSTEM) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -148,7 +147,7 @@ class Provider implements ProviderBaseInterface, ProviderServiceMutateInterface
|
||||
if (!str_ends_with($address, self::ADDRESS_DOMAIN_SUFFIX)) {
|
||||
return null;
|
||||
}
|
||||
if ($userId !== SystemIdentity::USER) {
|
||||
if ($userId !== self::USER_SYSTEM) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -171,7 +170,7 @@ class Provider implements ProviderBaseInterface, ProviderServiceMutateInterface
|
||||
|
||||
public function serviceExtant(string $tenantId, string $userId, string|int ...$identifiers): array
|
||||
{
|
||||
if ($userId !== SystemIdentity::USER) {
|
||||
if ($userId !== self::USER_SYSTEM) {
|
||||
return array_fill_keys(array_map('strval', $identifiers), false);
|
||||
}
|
||||
|
||||
@@ -224,7 +223,7 @@ class Provider implements ProviderBaseInterface, ProviderServiceMutateInterface
|
||||
*/
|
||||
protected function assertSystemContext(string $userId): void
|
||||
{
|
||||
if ($userId !== SystemIdentity::USER) {
|
||||
if ($userId !== self::USER_SYSTEM) {
|
||||
throw new InvalidArgumentException('System mail routes can only be managed in the system user context');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,7 +28,6 @@ use KTXF\Resource\Identifier\EntityIdentifierInterface;
|
||||
use KTXF\Resource\Provider\ProviderInterface;
|
||||
use KTXF\Resource\Provider\ResourceServiceIdentityInterface;
|
||||
use KTXF\Resource\Provider\ResourceServiceLocationInterface;
|
||||
use KTXF\Resource\SystemIdentity;
|
||||
use KTXF\Resource\Range\IRange;
|
||||
use KTXF\Resource\Range\RangeType;
|
||||
use KTXF\Resource\Sort\ISort;
|
||||
@@ -423,7 +422,7 @@ class Service implements ServiceBaseInterface, ServiceMutableInterface, ServiceE
|
||||
throw new RuntimeException("Target mail provider '$providerId' is not available");
|
||||
}
|
||||
|
||||
$service = $provider->serviceFetch($this->serviceTenantId, SystemIdentity::USER, $serviceId);
|
||||
$service = $provider->serviceFetch($this->serviceTenantId, ProviderBaseInterface::USER_SYSTEM, $serviceId);
|
||||
if ($service === null) {
|
||||
throw new RuntimeException("Target mail service '$providerId/$serviceId' was not found");
|
||||
}
|
||||
|
||||
Generated
+7
-7
@@ -1109,9 +1109,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@vue/language-core": {
|
||||
"version": "3.3.8",
|
||||
"resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-3.3.8.tgz",
|
||||
"integrity": "sha512-ieGT8jJdhhy0mGzStZhsg/qPw5bQZJg5yF+3+XU6saf4sM7yo9ZXy3h+nCwrm2+b4qS/SypkNdR2jAF3uei9tA==",
|
||||
"version": "3.3.11",
|
||||
"resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-3.3.11.tgz",
|
||||
"integrity": "sha512-QJmpliwAVpC/OxubIByPAhNzsQPRc8/gxlN2qnVzVfIMjMDz/9RnXRFoetjz5yEgXVXyp4LqhXq3V53PjmNzFw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -3261,14 +3261,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/vue-tsc": {
|
||||
"version": "3.3.8",
|
||||
"resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-3.3.8.tgz",
|
||||
"integrity": "sha512-xXmYlVQpcwJDWyGlqbHrGVOl1h3UOsASymRibrHc+iy9j/UNnOrOn4u+fntHz4D6Cs74RtapeqVV6CzJeg+UlA==",
|
||||
"version": "3.3.11",
|
||||
"resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-3.3.11.tgz",
|
||||
"integrity": "sha512-gOb0B9rtU2+f1dszwPqSH5kAieIF9ReeLhD3kSRNHv5WZZUQz/JdVXW0RTdqhNTMlQkqKzrTTviqKr/4FYZraQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@volar/typescript": "2.4.28",
|
||||
"@vue/language-core": "3.3.8"
|
||||
"@vue/language-core": "3.3.11"
|
||||
},
|
||||
"bin": {
|
||||
"vue-tsc": "bin/vue-tsc.js"
|
||||
|
||||
Reference in New Issue
Block a user