1 Commits

Author SHA1 Message Date
Sebastian 54a8235a03 chore(deps): update dependency vuetify to v4.1.8
Build Test / test (pull_request) Successful in 1m7s
JS Unit Tests / test (pull_request) Successful in 1m18s
PHP Integration Tests / Integration Tests (pull_request) Failing after 1m45s
PHP Unit Tests / test (pull_request) Successful in 2m3s
2026-08-08 03:08:21 +00:00
4 changed files with 21 additions and 79 deletions
+12 -8
View File
@@ -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',
];
}
}
+5 -6
View File
@@ -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');
}
}
+1 -2
View File
@@ -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");
}
+3 -63
View File
@@ -1212,63 +1212,6 @@
}
}
},
"node_modules/@vuetify/v0": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/@vuetify/v0/-/v0-1.2.2.tgz",
"integrity": "sha512-7AvM89l6l/pShSYKa+a5/zsht/xj/l4jFpWFOR6UqSelBrPfKxEQ8heO8iCNEGNK5yljwsdARx0JmDJjJRJdVw==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/johnleider"
},
{
"type": "opencollective",
"url": "https://opencollective.com/vuetify"
}
],
"license": "MIT",
"peerDependencies": {
"@adobe/leonardo-contrast-colors": ">=1.0.0",
"@ant-design/colors": ">=7.0.0",
"@flagsmith/flagsmith": ">=11.0.0",
"@floating-ui/dom": ">=1.8.0",
"@js-temporal/polyfill": ">=0.5.0",
"@material/material-color-utilities": ">=0.3.0",
"launchdarkly-js-client-sdk": "^3.0.0",
"posthog-js": "^1.0.0",
"vue": ">=3.5.0 || >=3.6.0-0",
"vue-i18n": ">=10.0.0"
},
"peerDependenciesMeta": {
"@adobe/leonardo-contrast-colors": {
"optional": true
},
"@ant-design/colors": {
"optional": true
},
"@flagsmith/flagsmith": {
"optional": true
},
"@floating-ui/dom": {
"optional": true
},
"@js-temporal/polyfill": {
"optional": true
},
"@material/material-color-utilities": {
"optional": true
},
"launchdarkly-js-client-sdk": {
"optional": true
},
"posthog-js": {
"optional": true
},
"vue-i18n": {
"optional": true
}
}
},
"node_modules/abbrev": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz",
@@ -3335,13 +3278,10 @@
}
},
"node_modules/vuetify": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/vuetify/-/vuetify-4.2.1.tgz",
"integrity": "sha512-K3ZIqu7YkorQFB6//dR5KEBpbfOo+y/LkcGtknsnneE3JN1pW3R7o/JB9QDkJuP1ELhENIdBZIkiSmXu0dQ9lQ==",
"version": "4.1.8",
"resolved": "https://registry.npmjs.org/vuetify/-/vuetify-4.1.8.tgz",
"integrity": "sha512-003D/8b5462uZCD5CMRTZF3smADmOn47mzthNY0aP/xkslovR5yIc1qXjPdFN0LHcu+p3GEAVmMQabldaIQ5pg==",
"license": "MIT",
"dependencies": {
"@vuetify/v0": "^1.2.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/johnleider"