1 Commits

Author SHA1 Message Date
77154c98f5 fix(deps): update dependency vue-router to v5.0.7
Some checks failed
renovate/artifacts Artifact file update failure
Build Test / build (pull_request) Failing after 10s
JS Unit Tests / test (pull_request) Failing after 10s
PHP Unit Tests / test (pull_request) Successful in 50s
2026-05-15 03:22:28 +00:00
11 changed files with 672 additions and 677 deletions

20
composer.lock generated
View File

@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "85ac161c93851c4863257009fc596644",
"content-hash": "b14b010c422e222aeb1e33104e2a09ec",
"packages": [
{
"name": "laravel/serializable-closure",
@@ -606,16 +606,16 @@
},
{
"name": "symfony/console",
"version": "v7.4.11",
"version": "v7.4.9",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "ed0107e43ab452aa77ae99e005b95e56b556e075"
"reference": "d7d2b64a45a89d607865927b176fa51c33ddbb58"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/ed0107e43ab452aa77ae99e005b95e56b556e075",
"reference": "ed0107e43ab452aa77ae99e005b95e56b556e075",
"url": "https://api.github.com/repos/symfony/console/zipball/d7d2b64a45a89d607865927b176fa51c33ddbb58",
"reference": "d7d2b64a45a89d607865927b176fa51c33ddbb58",
"shasum": ""
},
"require": {
@@ -680,7 +680,7 @@
"terminal"
],
"support": {
"source": "https://github.com/symfony/console/tree/v7.4.11"
"source": "https://github.com/symfony/console/tree/v7.4.9"
},
"funding": [
{
@@ -700,7 +700,7 @@
"type": "tidelift"
}
],
"time": "2026-05-13T12:04:42+00:00"
"time": "2026-04-22T15:21:55+00:00"
},
{
"name": "symfony/deprecation-contracts",
@@ -3148,7 +3148,7 @@
],
"aliases": [],
"minimum-stability": "stable",
"stability-flags": {},
"stability-flags": [],
"prefer-stable": true,
"prefer-lowest": false,
"platform": {
@@ -3156,6 +3156,6 @@
"ext-ctype": "*",
"ext-iconv": "*"
},
"platform-dev": {},
"plugin-api-version": "2.9.0"
"platform-dev": [],
"plugin-api-version": "2.3.0"
}

1157
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -21,45 +21,45 @@
"test:coverage": "vitest run --coverage --config tests/js/vitest.config.ts"
},
"dependencies": {
"@fontsource/inter": "^5.2.8",
"@fontsource/poppins": "^5.2.7",
"@fontsource/public-sans": "^5.2.7",
"@fontsource/roboto": "^5.2.10",
"@mdi/font": "^7.4.47",
"@tsconfig/node24": "^24.0.4",
"@typescript-eslint/parser": "^8.59.3",
"@vue/compiler-sfc": "^3.5.34",
"dompurify": "^3.4.3",
"pinia": "^3.0.4",
"@fontsource/inter": "5.2.8",
"@fontsource/poppins": "5.2.7",
"@fontsource/public-sans": "5.2.7",
"@fontsource/roboto": "5.2.10",
"@mdi/font": "7.4.47",
"@tsconfig/node24": "24.0.4",
"@typescript-eslint/parser": "^8.55.0",
"@vue/compiler-sfc": "^3.5.33",
"dompurify": "^3.4.1",
"pinia": "3.0.4",
"vee-validate": "^4.15.1",
"vite-plugin-vuetify": "^2.1.3",
"vue": "^3.5.34",
"vue-router": "^5.0.7",
"vue3-perfect-scrollbar": "^2.0.0",
"vuetify": "^4.0.7"
"vite-plugin-vuetify": "2.1.3",
"vue": "3.5.28",
"vue-router": "5.0.7",
"vue3-perfect-scrollbar": "2.0.0",
"vuetify": "4.0.6"
},
"devDependencies": {
"@eslint/js": "^10.0.1",
"@eslint/js": "^10.0.0",
"@types/dompurify": "^3.2.0",
"@types/node": "^25.8.0",
"@vitejs/plugin-vue": "^6.0.7",
"@vitest/coverage-v8": "^4.1.6",
"@vitest/ui": "^4.1.6",
"@vue/eslint-config-prettier": "^10.2.0",
"@vue/test-utils": "^2.4.10",
"@vue/tsconfig": "^0.9.1",
"eslint": "^10.3.0",
"eslint-plugin-vue": "^10.9.1",
"jsdom": "^29.1.1",
"prettier": "^3.8.3",
"sass": "^1.99.0",
"sass-loader": "^16.0.8",
"typescript": "^6.0.3",
"typescript-eslint": "^8.59.3",
"vite": "^8.0.13",
"vite-plugin-static-copy": "^4.1.0",
"vitest": "^4.1.6",
"vue-cli-plugin-vuetify": "^2.5.8",
"vue-tsc": "^3.2.9"
"@types/node": "25.6.0",
"@vitejs/plugin-vue": "6.0.6",
"@vitest/coverage-v8": "^4.0.18",
"@vitest/ui": "^4.0.18",
"@vue/eslint-config-prettier": "10.2.0",
"@vue/test-utils": "^2.4.8",
"@vue/tsconfig": "0.9.1",
"eslint": "^10.0.0",
"eslint-plugin-vue": "10.9.1",
"jsdom": "^29.0.0",
"prettier": "3.8.3",
"sass": "1.99.0",
"sass-loader": "16.0.8",
"typescript": "6.0.3",
"typescript-eslint": "^8.59.0",
"vite": "8.0.10",
"vite-plugin-static-copy": "^4.0.0",
"vitest": "^4.0.18",
"vue-cli-plugin-vuetify": "2.5.8",
"vue-tsc": "^3.2.7"
}
}

View File

@@ -28,8 +28,6 @@ use KTXF\Resource\Provider\ResourceServiceLocationInterface;
*/
interface ProviderServiceDiscoverInterface {
public const CAPABILITY_SERVICE_DISCOVER = 'ServiceDiscover';
/**
* Attempts to discover service configuration using provider-specific methods.
*

View File

@@ -28,8 +28,6 @@ use KTXF\Mail\Service\ServiceMutableInterface;
*/
interface ProviderServiceTestInterface {
public const CAPABILITY_SERVICE_TEST = 'ServiceTest';
/**
* Test a service connection
*

View File

@@ -12,10 +12,8 @@ namespace KTXF\Mail\Service;
use Generator;
use KTXF\Mail\Collection\CollectionBaseInterface;
use KTXF\Mail\Object\AddressInterface;
use KTXF\Resource\BinaryResource;
use KTXF\Resource\Delta\Delta;
use KTXF\Resource\Filter\IFilter;
use KTXF\Resource\Identifier\EntityIdentifierInterface;
use KTXF\Resource\Provider\ResourceServiceBaseInterface;
use KTXF\Resource\Range\IRange;
use KTXF\Resource\Range\RangeType;
@@ -168,9 +166,9 @@ interface ServiceBaseInterface extends ResourceServiceBaseInterface {
* @param IRange|null $range Optional pagination
* @param array|null $properties Optional message properties to fetch
*
* @return array<string,EntityBaseInterface> Messages indexed by Urn
* @return array<string|int,EntityBaseInterface> Messages indexed by ID
*/
public function entityListBulk(string|int $collection, ?IFilter $filter = null, ?ISort $sort = null, ?IRange $range = null, ?array $properties = null): array;
public function entityList(string|int $collection, ?IFilter $filter = null, ?ISort $sort = null, ?IRange $range = null, ?array $properties = null): array;
/**
* Lists messages in a collection
@@ -246,33 +244,11 @@ interface ServiceBaseInterface extends ResourceServiceBaseInterface {
*
* @since 2025.05.01
*
* @param EntityIdentifierInterface ...$identifiers Message identifiers to fetch
* @param string|int $collection Collection ID
* @param string|int ...$identifiers Message IDs to fetch
*
* @return array<string,EntityBaseInterface> Messages indexed by Urn
* @return array<string|int,EntityBaseInterface> Messages indexed by ID
*/
public function entityFetchBulk(EntityIdentifierInterface ...$identifiers): array;
public function entityFetch(string|int $collection, string|int ...$identifiers): array;
/**
* Fetches one or more entities
*
* @since 2025.05.01
*
* @param EntityIdentifierInterface ...$identifiers Message identifiers to fetch
*
* @return Generator<string,EntityBaseInterface> Yields messages one by one
*/
public function entityFetchStream(EntityIdentifierInterface ...$identifiers): Generator;
/**
* Downloads a message or part of a message
*
* @since 2025.05.01
*
* @param EntityIdentifierInterface $target Message identifier
* @param array|null $part Optional part to download
*
* @return BinaryResource
*/
public function entityDownload(EntityIdentifierInterface $target, array|null $part): BinaryResource;
}

View File

@@ -1,37 +0,0 @@
<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: Sebastian Krupinski <krupinski01@gmail.com>
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace KTXF\Resource;
/**
* Carries file-like binary content metadata and a byte stream.
*/
final class BinaryResource
{
public function __construct(
private readonly string $filename,
private readonly string $mimeType,
private readonly \Generator $stream,
) {}
public function filename(): string
{
return $this->filename;
}
public function mimeType(): string
{
return $this->mimeType;
}
public function stream(): \Generator
{
return $this->stream;
}
}

View File

@@ -71,13 +71,6 @@ abstract class NodeBaseAbstract implements NodeBaseInterface {
return $this->data[static::PROPERTY_TYPE];
}
/**
* @inheritDoc
*/
public function urn(): string {
return (string) $this->nodeIdentifier();
}
/**
* @inheritDoc
*/

View File

@@ -35,13 +35,6 @@ interface NodeBaseInterface extends JsonSerializable {
* @since 2025.05.01
*/
public function type(): string;
/**
* Node URN
*
* @since 2025.05.01
*/
public function urn(): string;
/**
* Provider identifier

View File

@@ -14,6 +14,11 @@ interface ResourceProviderBaseInterface extends ProviderInterface, JsonSerializa
public const CAPABILITY_SERVICE_LIST = 'ServiceList';
public const CAPABILITY_SERVICE_FETCH = 'ServiceFetch';
public const CAPABILITY_SERVICE_EXTANT = 'ServiceExtant';
public const CAPABILITY_SERVICE_CREATE = 'ServiceCreate';
public const CAPABILITY_SERVICE_MODIFY = 'ServiceModify';
public const CAPABILITY_SERVICE_DESTROY = 'ServiceDestroy';
public const CAPABILITY_SERVICE_DISCOVER = 'ServiceDiscover';
public const CAPABILITY_SERVICE_TEST = 'ServiceTest';
public const JSON_TYPE = 'resource.provider';
public const JSON_PROPERTY_TYPE = '@type';

View File

@@ -12,10 +12,6 @@ namespace KTXF\Resource\Provider;
use KTXF\Json\JsonDeserializable;
interface ResourceProviderServiceMutateInterface extends JsonDeserializable {
public const CAPABILITY_SERVICE_CREATE = 'ServiceCreate';
public const CAPABILITY_SERVICE_MODIFY = 'ServiceModify';
public const CAPABILITY_SERVICE_DESTROY = 'ServiceDestroy';
/**
* construct and new blank service instance