diff --git a/app/composer.lock b/app/composer.lock index b6324e0..7673bd3 100644 --- a/app/composer.lock +++ b/app/composer.lock @@ -1891,16 +1891,16 @@ }, { "name": "google/protobuf", - "version": "v4.28.3", + "version": "v4.29.0", "source": { "type": "git", "url": "https://github.com/protocolbuffers/protobuf-php.git", - "reference": "c5c311e0f3d89928251ac5a2f0e3db283612c100" + "reference": "0ef6b2eb74b782f3f9023276c324d22e440f7587" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/protocolbuffers/protobuf-php/zipball/c5c311e0f3d89928251ac5a2f0e3db283612c100", - "reference": "c5c311e0f3d89928251ac5a2f0e3db283612c100", + "url": "https://api.github.com/repos/protocolbuffers/protobuf-php/zipball/0ef6b2eb74b782f3f9023276c324d22e440f7587", + "reference": "0ef6b2eb74b782f3f9023276c324d22e440f7587", "shasum": "" }, "require": { @@ -1929,9 +1929,9 @@ "proto" ], "support": { - "source": "https://github.com/protocolbuffers/protobuf-php/tree/v4.28.3" + "source": "https://github.com/protocolbuffers/protobuf-php/tree/v4.29.0" }, - "time": "2024-10-22T22:27:17+00:00" + "time": "2024-11-27T18:37:40+00:00" }, { "name": "graham-campbell/result-type", @@ -3225,16 +3225,16 @@ }, { "name": "nette/php-generator", - "version": "v4.1.6", + "version": "v4.1.7", "source": { "type": "git", "url": "https://github.com/nette/php-generator.git", - "reference": "c90961e782ae86e517fe5ed732eb2b512945565b" + "reference": "d201c9bc217e0969d1b678d286be49302972fb56" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/php-generator/zipball/c90961e782ae86e517fe5ed732eb2b512945565b", - "reference": "c90961e782ae86e517fe5ed732eb2b512945565b", + "url": "https://api.github.com/repos/nette/php-generator/zipball/d201c9bc217e0969d1b678d286be49302972fb56", + "reference": "d201c9bc217e0969d1b678d286be49302972fb56", "shasum": "" }, "require": { @@ -3278,7 +3278,7 @@ "homepage": "https://nette.org/contributors" } ], - "description": "🐘 Nette PHP Generator: generates neat PHP code for you. Supports new PHP 8.3 features.", + "description": "🐘 Nette PHP Generator: generates neat PHP code for you. Supports new PHP 8.4 features.", "homepage": "https://nette.org", "keywords": [ "code", @@ -3288,9 +3288,9 @@ ], "support": { "issues": "https://github.com/nette/php-generator/issues", - "source": "https://github.com/nette/php-generator/tree/v4.1.6" + "source": "https://github.com/nette/php-generator/tree/v4.1.7" }, - "time": "2024-09-10T09:31:55+00:00" + "time": "2024-11-29T01:41:18+00:00" }, { "name": "nette/utils", @@ -5965,16 +5965,16 @@ }, { "name": "spiral/framework", - "version": "3.14.6", + "version": "3.14.7", "source": { "type": "git", "url": "https://github.com/spiral/framework.git", - "reference": "2ec9a850942dea9bfbeff77d2fe0a177c3ee003a" + "reference": "cbd6c6f23a741a546de306aa95c6d2c89e9eb1e1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spiral/framework/zipball/2ec9a850942dea9bfbeff77d2fe0a177c3ee003a", - "reference": "2ec9a850942dea9bfbeff77d2fe0a177c3ee003a", + "url": "https://api.github.com/repos/spiral/framework/zipball/cbd6c6f23a741a546de306aa95c6d2c89e9eb1e1", + "reference": "cbd6c6f23a741a546de306aa95c6d2c89e9eb1e1", "shasum": "" }, "require": { @@ -6187,7 +6187,7 @@ "type": "github" } ], - "time": "2024-10-22T21:48:02+00:00" + "time": "2024-11-25T20:18:59+00:00" }, { "name": "spiral/goridge", @@ -6524,16 +6524,16 @@ }, { "name": "spiral/roadrunner-grpc", - "version": "v3.4.0", + "version": "v3.4.1", "source": { "type": "git", "url": "https://github.com/roadrunner-php/grpc.git", - "reference": "ddb3e21c36d6409e4d6c36841cc629feb143d8a1" + "reference": "49f1ae1e3bde6c7d6a5633d776030b89dd2b4467" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/roadrunner-php/grpc/zipball/ddb3e21c36d6409e4d6c36841cc629feb143d8a1", - "reference": "ddb3e21c36d6409e4d6c36841cc629feb143d8a1", + "url": "https://api.github.com/repos/roadrunner-php/grpc/zipball/49f1ae1e3bde6c7d6a5633d776030b89dd2b4467", + "reference": "49f1ae1e3bde6c7d6a5633d776030b89dd2b4467", "shasum": "" }, "require": { @@ -6590,7 +6590,7 @@ "docs": "https://docs.roadrunner.dev", "forum": "https://forum.roadrunner.dev/", "issues": "https://github.com/roadrunner-server/roadrunner/issues", - "source": "https://github.com/roadrunner-php/grpc/tree/v3.4.0" + "source": "https://github.com/roadrunner-php/grpc/tree/v3.4.1" }, "funding": [ { @@ -6598,7 +6598,7 @@ "type": "github" } ], - "time": "2024-07-22T07:46:54+00:00" + "time": "2024-11-23T10:58:40+00:00" }, { "name": "spiral/roadrunner-http", @@ -6690,16 +6690,16 @@ }, { "name": "spiral/roadrunner-jobs", - "version": "v4.6.0", + "version": "v4.6.2", "source": { "type": "git", "url": "https://github.com/roadrunner-php/jobs.git", - "reference": "1df9702c591cf761a2735c54326f7bf2adc5dcea" + "reference": "52ae1fb934604cd81b69a91cdf764f9c2b9b5fa7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/roadrunner-php/jobs/zipball/1df9702c591cf761a2735c54326f7bf2adc5dcea", - "reference": "1df9702c591cf761a2735c54326f7bf2adc5dcea", + "url": "https://api.github.com/repos/roadrunner-php/jobs/zipball/52ae1fb934604cd81b69a91cdf764f9c2b9b5fa7", + "reference": "52ae1fb934604cd81b69a91cdf764f9c2b9b5fa7", "shasum": "" }, "require": { @@ -6760,7 +6760,7 @@ "docs": "https://docs.roadrunner.dev", "forum": "https://forum.roadrunner.dev/", "issues": "https://github.com/roadrunner-server/roadrunner/issues", - "source": "https://github.com/roadrunner-php/jobs/tree/v4.6.0" + "source": "https://github.com/roadrunner-php/jobs/tree/v4.6.2" }, "funding": [ { @@ -6768,7 +6768,7 @@ "type": "github" } ], - "time": "2024-07-29T08:02:59+00:00" + "time": "2024-11-30T15:38:28+00:00" }, { "name": "spiral/roadrunner-kv", @@ -7014,16 +7014,16 @@ }, { "name": "spiral/roadrunner-worker", - "version": "v3.6.0", + "version": "v3.6.1", "source": { "type": "git", "url": "https://github.com/roadrunner-php/worker.git", - "reference": "44c6f37c6abc25175c2723bd6daaa17651b18036" + "reference": "dd0571a84b432077447ece947e5f2b19edde574f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/roadrunner-php/worker/zipball/44c6f37c6abc25175c2723bd6daaa17651b18036", - "reference": "44c6f37c6abc25175c2723bd6daaa17651b18036", + "url": "https://api.github.com/repos/roadrunner-php/worker/zipball/dd0571a84b432077447ece947e5f2b19edde574f", + "reference": "dd0571a84b432077447ece947e5f2b19edde574f", "shasum": "" }, "require": { @@ -7087,7 +7087,7 @@ "docs": "https://docs.roadrunner.dev", "forum": "https://forum.roadrunner.dev/", "issues": "https://github.com/roadrunner-server/roadrunner/issues", - "source": "https://github.com/roadrunner-php/worker/tree/v3.6.0" + "source": "https://github.com/roadrunner-php/worker/tree/v3.6.1" }, "funding": [ { @@ -7095,7 +7095,7 @@ "type": "github" } ], - "time": "2024-06-03T15:30:19+00:00" + "time": "2024-11-23T08:32:13+00:00" }, { "name": "spiral/sapi-bridge", @@ -7349,16 +7349,16 @@ }, { "name": "symfony/console", - "version": "v7.1.8", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "ff04e5b5ba043d2badfb308197b9e6b42883fcd5" + "reference": "23c8aae6d764e2bae02d2a99f7532a7f6ed619cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/ff04e5b5ba043d2badfb308197b9e6b42883fcd5", - "reference": "ff04e5b5ba043d2badfb308197b9e6b42883fcd5", + "url": "https://api.github.com/repos/symfony/console/zipball/23c8aae6d764e2bae02d2a99f7532a7f6ed619cf", + "reference": "23c8aae6d764e2bae02d2a99f7532a7f6ed619cf", "shasum": "" }, "require": { @@ -7422,7 +7422,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v7.1.8" + "source": "https://github.com/symfony/console/tree/v7.2.0" }, "funding": [ { @@ -7438,20 +7438,20 @@ "type": "tidelift" } ], - "time": "2024-11-06T14:23:19+00:00" + "time": "2024-11-06T14:24:19+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v3.5.0", + "version": "v3.5.1", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1" + "reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", - "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6", + "reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6", "shasum": "" }, "require": { @@ -7489,7 +7489,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.1" }, "funding": [ { @@ -7505,20 +7505,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-09-25T14:20:29+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v7.1.6", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "87254c78dd50721cfd015b62277a8281c5589702" + "reference": "910c5db85a5356d0fea57680defec4e99eb9c8c1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/87254c78dd50721cfd015b62277a8281c5589702", - "reference": "87254c78dd50721cfd015b62277a8281c5589702", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/910c5db85a5356d0fea57680defec4e99eb9c8c1", + "reference": "910c5db85a5356d0fea57680defec4e99eb9c8c1", "shasum": "" }, "require": { @@ -7569,7 +7569,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v7.1.6" + "source": "https://github.com/symfony/event-dispatcher/tree/v7.2.0" }, "funding": [ { @@ -7585,20 +7585,20 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:20:29+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v3.5.0", + "version": "v3.5.1", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50" + "reference": "7642f5e970b672283b7823222ae8ef8bbc160b9f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/8f93aec25d41b72493c6ddff14e916177c9efc50", - "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/7642f5e970b672283b7823222ae8ef8bbc160b9f", + "reference": "7642f5e970b672283b7823222ae8ef8bbc160b9f", "shasum": "" }, "require": { @@ -7645,7 +7645,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.1" }, "funding": [ { @@ -7661,20 +7661,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-09-25T14:20:29+00:00" }, { "name": "symfony/filesystem", - "version": "v7.1.6", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "c835867b3c62bb05c7fe3d637c871c7ae52024d4" + "reference": "b8dce482de9d7c9fe2891155035a7248ab5c7fdb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/c835867b3c62bb05c7fe3d637c871c7ae52024d4", - "reference": "c835867b3c62bb05c7fe3d637c871c7ae52024d4", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/b8dce482de9d7c9fe2891155035a7248ab5c7fdb", + "reference": "b8dce482de9d7c9fe2891155035a7248ab5c7fdb", "shasum": "" }, "require": { @@ -7711,7 +7711,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v7.1.6" + "source": "https://github.com/symfony/filesystem/tree/v7.2.0" }, "funding": [ { @@ -7727,7 +7727,7 @@ "type": "tidelift" } ], - "time": "2024-10-25T15:11:02+00:00" + "time": "2024-10-25T15:15:23+00:00" }, { "name": "symfony/finder", @@ -7795,26 +7795,27 @@ }, { "name": "symfony/http-client", - "version": "v7.1.8", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "c30d91a1deac0dc3ed5e604683cf2e1dfc635b8a" + "reference": "955e43336aff03df1e8a8e17daefabb0127a313b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/c30d91a1deac0dc3ed5e604683cf2e1dfc635b8a", - "reference": "c30d91a1deac0dc3ed5e604683cf2e1dfc635b8a", + "url": "https://api.github.com/repos/symfony/http-client/zipball/955e43336aff03df1e8a8e17daefabb0127a313b", + "reference": "955e43336aff03df1e8a8e17daefabb0127a313b", "shasum": "" }, "require": { "php": ">=8.2", "psr/log": "^1|^2|^3", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/http-client-contracts": "^3.4.1", + "symfony/http-client-contracts": "~3.4.3|^3.5.1", "symfony/service-contracts": "^2.5|^3" }, "conflict": { + "amphp/amp": "<2.5", "php-http/discovery": "<1.15", "symfony/http-foundation": "<6.4" }, @@ -7825,14 +7826,14 @@ "symfony/http-client-implementation": "3.0" }, "require-dev": { - "amphp/amp": "^2.5", - "amphp/http-client": "^4.2.1", - "amphp/http-tunnel": "^1.0", + "amphp/http-client": "^4.2.1|^5.0", + "amphp/http-tunnel": "^1.0|^2.0", "amphp/socket": "^1.1", "guzzlehttp/promises": "^1.4|^2.0", "nyholm/psr7": "^1.0", "php-http/httplug": "^1.0|^2.0", "psr/http-client": "^1.0", + "symfony/amphp-http-client-meta": "^1.0|^2.0", "symfony/dependency-injection": "^6.4|^7.0", "symfony/http-kernel": "^6.4|^7.0", "symfony/messenger": "^6.4|^7.0", @@ -7869,7 +7870,7 @@ "http" ], "support": { - "source": "https://github.com/symfony/http-client/tree/v7.1.8" + "source": "https://github.com/symfony/http-client/tree/v7.2.0" }, "funding": [ { @@ -7885,20 +7886,20 @@ "type": "tidelift" } ], - "time": "2024-11-13T13:40:27+00:00" + "time": "2024-11-29T08:22:02+00:00" }, { "name": "symfony/http-client-contracts", - "version": "v3.5.0", + "version": "v3.5.1", "source": { "type": "git", "url": "https://github.com/symfony/http-client-contracts.git", - "reference": "20414d96f391677bf80078aa55baece78b82647d" + "reference": "c2f3ad828596624ca39ea40f83617ef51ca8bbf9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/20414d96f391677bf80078aa55baece78b82647d", - "reference": "20414d96f391677bf80078aa55baece78b82647d", + "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/c2f3ad828596624ca39ea40f83617ef51ca8bbf9", + "reference": "c2f3ad828596624ca39ea40f83617ef51ca8bbf9", "shasum": "" }, "require": { @@ -7947,7 +7948,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/http-client-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/http-client-contracts/tree/v3.5.1" }, "funding": [ { @@ -7963,20 +7964,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-11-25T12:02:18+00:00" }, { "name": "symfony/http-foundation", - "version": "v6.4.15", + "version": "v6.4.16", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "9b3165eb2f04aeaa1a5a2cfef73e63fe3b22dff6" + "reference": "431771b7a6f662f1575b3cfc8fd7617aa9864d57" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/9b3165eb2f04aeaa1a5a2cfef73e63fe3b22dff6", - "reference": "9b3165eb2f04aeaa1a5a2cfef73e63fe3b22dff6", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/431771b7a6f662f1575b3cfc8fd7617aa9864d57", + "reference": "431771b7a6f662f1575b3cfc8fd7617aa9864d57", "shasum": "" }, "require": { @@ -8024,7 +8025,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v6.4.15" + "source": "https://github.com/symfony/http-foundation/tree/v6.4.16" }, "funding": [ { @@ -8040,7 +8041,7 @@ "type": "tidelift" } ], - "time": "2024-11-08T16:09:24+00:00" + "time": "2024-11-13T18:58:10+00:00" }, { "name": "symfony/mailer", @@ -8209,16 +8210,16 @@ }, { "name": "symfony/options-resolver", - "version": "v7.1.6", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "85e95eeede2d41cd146146e98c9c81d9214cae85" + "reference": "7da8fbac9dcfef75ffc212235d76b2754ce0cf50" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/85e95eeede2d41cd146146e98c9c81d9214cae85", - "reference": "85e95eeede2d41cd146146e98c9c81d9214cae85", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/7da8fbac9dcfef75ffc212235d76b2754ce0cf50", + "reference": "7da8fbac9dcfef75ffc212235d76b2754ce0cf50", "shasum": "" }, "require": { @@ -8256,7 +8257,7 @@ "options" ], "support": { - "source": "https://github.com/symfony/options-resolver/tree/v7.1.6" + "source": "https://github.com/symfony/options-resolver/tree/v7.2.0" }, "funding": [ { @@ -8272,7 +8273,7 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:20:29+00:00" + "time": "2024-11-20T11:17:29+00:00" }, { "name": "symfony/polyfill-ctype", @@ -8833,16 +8834,16 @@ }, { "name": "symfony/process", - "version": "v7.1.8", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "42783370fda6e538771f7c7a36e9fa2ee3a84892" + "reference": "d34b22ba9390ec19d2dd966c40aa9e8462f27a7e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/42783370fda6e538771f7c7a36e9fa2ee3a84892", - "reference": "42783370fda6e538771f7c7a36e9fa2ee3a84892", + "url": "https://api.github.com/repos/symfony/process/zipball/d34b22ba9390ec19d2dd966c40aa9e8462f27a7e", + "reference": "d34b22ba9390ec19d2dd966c40aa9e8462f27a7e", "shasum": "" }, "require": { @@ -8874,7 +8875,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v7.1.8" + "source": "https://github.com/symfony/process/tree/v7.2.0" }, "funding": [ { @@ -8890,7 +8891,7 @@ "type": "tidelift" } ], - "time": "2024-11-06T14:23:19+00:00" + "time": "2024-11-06T14:24:19+00:00" }, { "name": "symfony/psr-http-message-bridge", @@ -8983,16 +8984,16 @@ }, { "name": "symfony/service-contracts", - "version": "v3.5.0", + "version": "v3.5.1", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f" + "reference": "e53260aabf78fb3d63f8d79d69ece59f80d5eda0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", - "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/e53260aabf78fb3d63f8d79d69ece59f80d5eda0", + "reference": "e53260aabf78fb3d63f8d79d69ece59f80d5eda0", "shasum": "" }, "require": { @@ -9046,7 +9047,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/service-contracts/tree/v3.5.1" }, "funding": [ { @@ -9062,20 +9063,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-09-25T14:20:29+00:00" }, { "name": "symfony/string", - "version": "v7.1.8", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "591ebd41565f356fcd8b090fe64dbb5878f50281" + "reference": "446e0d146f991dde3e73f45f2c97a9faad773c82" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/591ebd41565f356fcd8b090fe64dbb5878f50281", - "reference": "591ebd41565f356fcd8b090fe64dbb5878f50281", + "url": "https://api.github.com/repos/symfony/string/zipball/446e0d146f991dde3e73f45f2c97a9faad773c82", + "reference": "446e0d146f991dde3e73f45f2c97a9faad773c82", "shasum": "" }, "require": { @@ -9133,7 +9134,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v7.1.8" + "source": "https://github.com/symfony/string/tree/v7.2.0" }, "funding": [ { @@ -9149,7 +9150,7 @@ "type": "tidelift" } ], - "time": "2024-11-13T13:31:21+00:00" + "time": "2024-11-13T13:31:26+00:00" }, { "name": "symfony/translation", @@ -9248,16 +9249,16 @@ }, { "name": "symfony/translation-contracts", - "version": "v3.5.0", + "version": "v3.5.1", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a" + "reference": "4667ff3bd513750603a09c8dedbea942487fb07c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/b9d2189887bb6b2e0367a9fc7136c5239ab9b05a", - "reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/4667ff3bd513750603a09c8dedbea942487fb07c", + "reference": "4667ff3bd513750603a09c8dedbea942487fb07c", "shasum": "" }, "require": { @@ -9306,7 +9307,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/translation-contracts/tree/v3.5.1" }, "funding": [ { @@ -9322,24 +9323,25 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-09-25T14:20:29+00:00" }, { "name": "symfony/yaml", - "version": "v7.1.6", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "3ced3f29e4f0d6bce2170ff26719f1fe9aacc671" + "reference": "099581e99f557e9f16b43c5916c26380b54abb22" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/3ced3f29e4f0d6bce2170ff26719f1fe9aacc671", - "reference": "3ced3f29e4f0d6bce2170ff26719f1fe9aacc671", + "url": "https://api.github.com/repos/symfony/yaml/zipball/099581e99f557e9f16b43c5916c26380b54abb22", + "reference": "099581e99f557e9f16b43c5916c26380b54abb22", "shasum": "" }, "require": { "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3.0", "symfony/polyfill-ctype": "^1.8" }, "conflict": { @@ -9377,7 +9379,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v7.1.6" + "source": "https://github.com/symfony/yaml/tree/v7.2.0" }, "funding": [ { @@ -9393,7 +9395,7 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:20:29+00:00" + "time": "2024-10-23T06:56:12+00:00" }, { "name": "temporal/sdk", @@ -9574,16 +9576,16 @@ }, { "name": "voku/portable-ascii", - "version": "2.0.1", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/voku/portable-ascii.git", - "reference": "b56450eed252f6801410d810c8e1727224ae0743" + "reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b56450eed252f6801410d810c8e1727224ae0743", - "reference": "b56450eed252f6801410d810c8e1727224ae0743", + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b1d923f88091c6bf09699efcd7c8a1b1bfd7351d", + "reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d", "shasum": "" }, "require": { @@ -9608,7 +9610,7 @@ "authors": [ { "name": "Lars Moelleken", - "homepage": "http://www.moelleken.org/" + "homepage": "https://www.moelleken.org/" } ], "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", @@ -9620,7 +9622,7 @@ ], "support": { "issues": "https://github.com/voku/portable-ascii/issues", - "source": "https://github.com/voku/portable-ascii/tree/2.0.1" + "source": "https://github.com/voku/portable-ascii/tree/2.0.3" }, "funding": [ { @@ -9644,7 +9646,7 @@ "type": "tidelift" } ], - "time": "2022-03-08T17:03:00+00:00" + "time": "2024-11-21T01:49:47+00:00" }, { "name": "webmozart/assert", @@ -11006,16 +11008,16 @@ }, { "name": "ergebnis/phpunit-slow-test-detector", - "version": "2.16.1", + "version": "2.17.0", "source": { "type": "git", "url": "https://github.com/ergebnis/phpunit-slow-test-detector.git", - "reference": "30d46c03d98433e1afb8fa899399ca3db144898b" + "reference": "671ea2ba0669917f7e98b54e4188e1c1ebf6e29d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ergebnis/phpunit-slow-test-detector/zipball/30d46c03d98433e1afb8fa899399ca3db144898b", - "reference": "30d46c03d98433e1afb8fa899399ca3db144898b", + "url": "https://api.github.com/repos/ergebnis/phpunit-slow-test-detector/zipball/671ea2ba0669917f7e98b54e4188e1c1ebf6e29d", + "reference": "671ea2ba0669917f7e98b54e4188e1c1ebf6e29d", "shasum": "" }, "require": { @@ -11024,16 +11026,22 @@ }, "require-dev": { "ergebnis/composer-normalize": "^2.44.0", - "ergebnis/license": "^2.5.0", - "ergebnis/php-cs-fixer-config": "^6.37.0", + "ergebnis/license": "^2.6.0", + "ergebnis/php-cs-fixer-config": "^6.38.0", "fakerphp/faker": "~1.20.0", - "psalm/plugin-phpunit": "~0.19.0", + "phpstan/extension-installer": "^1.4.3", + "phpstan/phpstan": "^1.12.11", + "phpstan/phpstan-deprecation-rules": "^1.2.1", + "phpstan/phpstan-phpunit": "^1.4.1", + "phpstan/phpstan-strict-rules": "^1.6.1", "psr/container": "~1.0.0", - "rector/rector": "^1.2.8", - "vimeo/psalm": "^5.26.1" + "rector/rector": "^1.2.10" }, "type": "library", "extra": { + "branch-alias": { + "dev-main": "2.16-dev" + }, "composer-normalize": { "indent-size": 2, "indent-style": "space" @@ -11069,7 +11077,7 @@ "security": "https://github.com/ergebnis/phpunit-slow-test-detector/blob/main/.github/SECURITY.md", "source": "https://github.com/ergebnis/phpunit-slow-test-detector" }, - "time": "2024-10-25T11:56:32+00:00" + "time": "2024-11-25T08:54:52+00:00" }, { "name": "evenement/evenement", @@ -11120,16 +11128,16 @@ }, { "name": "fakerphp/faker", - "version": "v1.24.0", + "version": "v1.24.1", "source": { "type": "git", "url": "https://github.com/FakerPHP/Faker.git", - "reference": "a136842a532bac9ecd8a1c723852b09915d7db50" + "reference": "e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/a136842a532bac9ecd8a1c723852b09915d7db50", - "reference": "a136842a532bac9ecd8a1c723852b09915d7db50", + "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5", + "reference": "e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5", "shasum": "" }, "require": { @@ -11177,9 +11185,9 @@ ], "support": { "issues": "https://github.com/FakerPHP/Faker/issues", - "source": "https://github.com/FakerPHP/Faker/tree/v1.24.0" + "source": "https://github.com/FakerPHP/Faker/tree/v1.24.1" }, - "time": "2024-11-07T15:11:20+00:00" + "time": "2024-11-21T13:46:39+00:00" }, { "name": "felixfbecker/advanced-json-rpc", @@ -11416,16 +11424,16 @@ }, { "name": "friendsofphp/php-cs-fixer", - "version": "v3.64.0", + "version": "v3.65.0", "source": { "type": "git", "url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git", - "reference": "58dd9c931c785a79739310aef5178928305ffa67" + "reference": "79d4f3e77b250a7d8043d76c6af8f0695e8a469f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/58dd9c931c785a79739310aef5178928305ffa67", - "reference": "58dd9c931c785a79739310aef5178928305ffa67", + "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/79d4f3e77b250a7d8043d76c6af8f0695e8a469f", + "reference": "79d4f3e77b250a7d8043d76c6af8f0695e8a469f", "shasum": "" }, "require": { @@ -11435,7 +11443,7 @@ "ext-filter": "*", "ext-json": "*", "ext-tokenizer": "*", - "fidry/cpu-core-counter": "^1.0", + "fidry/cpu-core-counter": "^1.2", "php": "^7.4 || ^8.0", "react/child-process": "^0.6.5", "react/event-loop": "^1.0", @@ -11455,18 +11463,18 @@ "symfony/stopwatch": "^5.4 || ^6.0 || ^7.0" }, "require-dev": { - "facile-it/paraunit": "^1.3 || ^2.3", - "infection/infection": "^0.29.5", - "justinrainbow/json-schema": "^5.2", + "facile-it/paraunit": "^1.3.1 || ^2.4", + "infection/infection": "^0.29.8", + "justinrainbow/json-schema": "^5.3 || ^6.0", "keradus/cli-executor": "^2.1", - "mikey179/vfsstream": "^1.6.11", + "mikey179/vfsstream": "^1.6.12", "php-coveralls/php-coveralls": "^2.7", "php-cs-fixer/accessible-object": "^1.1", "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.5", "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.5", - "phpunit/phpunit": "^9.6.19 || ^10.5.21 || ^11.2", - "symfony/var-dumper": "^5.4 || ^6.0 || ^7.0", - "symfony/yaml": "^5.4 || ^6.0 || ^7.0" + "phpunit/phpunit": "^9.6.21 || ^10.5.38 || ^11.4.3", + "symfony/var-dumper": "^5.4.47 || ^6.4.15 || ^7.1.8", + "symfony/yaml": "^5.4.45 || ^6.4.13 || ^7.1.6" }, "suggest": { "ext-dom": "For handling output formats in XML", @@ -11507,7 +11515,7 @@ ], "support": { "issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues", - "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.64.0" + "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.65.0" }, "funding": [ { @@ -11515,7 +11523,7 @@ "type": "github" } ], - "time": "2024-08-30T23:09:38+00:00" + "time": "2024-11-25T00:39:24+00:00" }, { "name": "hamcrest/hamcrest-php", @@ -12311,31 +12319,31 @@ }, { "name": "nunomaduro/termwind", - "version": "v2.2.0", + "version": "v2.3.0", "source": { "type": "git", "url": "https://github.com/nunomaduro/termwind.git", - "reference": "42c84e4e8090766bbd6445d06cd6e57650626ea3" + "reference": "52915afe6a1044e8b9cee1bcff836fb63acf9cda" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/42c84e4e8090766bbd6445d06cd6e57650626ea3", - "reference": "42c84e4e8090766bbd6445d06cd6e57650626ea3", + "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/52915afe6a1044e8b9cee1bcff836fb63acf9cda", + "reference": "52915afe6a1044e8b9cee1bcff836fb63acf9cda", "shasum": "" }, "require": { "ext-mbstring": "*", "php": "^8.2", - "symfony/console": "^7.1.5" + "symfony/console": "^7.1.8" }, "require-dev": { - "illuminate/console": "^11.28.0", - "laravel/pint": "^1.18.1", + "illuminate/console": "^11.33.2", + "laravel/pint": "^1.18.2", "mockery/mockery": "^1.6.12", "pestphp/pest": "^2.36.0", - "phpstan/phpstan": "^1.12.6", + "phpstan/phpstan": "^1.12.11", "phpstan/phpstan-strict-rules": "^1.6.1", - "symfony/var-dumper": "^7.1.5", + "symfony/var-dumper": "^7.1.8", "thecodingmachine/phpstan-strict-rules": "^1.0.0" }, "type": "library", @@ -12378,7 +12386,7 @@ ], "support": { "issues": "https://github.com/nunomaduro/termwind/issues", - "source": "https://github.com/nunomaduro/termwind/tree/v2.2.0" + "source": "https://github.com/nunomaduro/termwind/tree/v2.3.0" }, "funding": [ { @@ -12394,7 +12402,7 @@ "type": "github" } ], - "time": "2024-10-15T16:15:16+00:00" + "time": "2024-11-21T10:39:51+00:00" }, { "name": "ondram/ci-detector", @@ -13114,16 +13122,16 @@ }, { "name": "phpstan/phpstan", - "version": "1.12.11", + "version": "1.12.12", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "0d1fc20a962a91be578bcfe7cf939e6e1a2ff733" + "reference": "b5ae1b88f471d3fd4ba1aa0046234b5ca3776dd0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/0d1fc20a962a91be578bcfe7cf939e6e1a2ff733", - "reference": "0d1fc20a962a91be578bcfe7cf939e6e1a2ff733", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/b5ae1b88f471d3fd4ba1aa0046234b5ca3776dd0", + "reference": "b5ae1b88f471d3fd4ba1aa0046234b5ca3776dd0", "shasum": "" }, "require": { @@ -13168,7 +13176,7 @@ "type": "github" } ], - "time": "2024-11-17T14:08:01+00:00" + "time": "2024-11-28T22:13:23+00:00" }, { "name": "phpstan/phpstan-deprecation-rules", @@ -14433,16 +14441,16 @@ }, { "name": "sanmai/pipeline", - "version": "v6.11", + "version": "6.12", "source": { "type": "git", "url": "https://github.com/sanmai/pipeline.git", - "reference": "a5fa2a6c6ca93efa37e7c24aab72f47448a6b110" + "reference": "ad7dbc3f773eeafb90d5459522fbd8f188532e25" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sanmai/pipeline/zipball/a5fa2a6c6ca93efa37e7c24aab72f47448a6b110", - "reference": "a5fa2a6c6ca93efa37e7c24aab72f47448a6b110", + "url": "https://api.github.com/repos/sanmai/pipeline/zipball/ad7dbc3f773eeafb90d5459522fbd8f188532e25", + "reference": "ad7dbc3f773eeafb90d5459522fbd8f188532e25", "shasum": "" }, "require": { @@ -14486,7 +14494,7 @@ "description": "General-purpose collections pipeline", "support": { "issues": "https://github.com/sanmai/pipeline/issues", - "source": "https://github.com/sanmai/pipeline/tree/v6.11" + "source": "https://github.com/sanmai/pipeline/tree/6.12" }, "funding": [ { @@ -14494,7 +14502,7 @@ "type": "github" } ], - "time": "2024-06-15T03:11:19+00:00" + "time": "2024-10-17T02:22:57+00:00" }, { "name": "sebastian/cli-parser", @@ -15645,16 +15653,16 @@ }, { "name": "spiral/testing", - "version": "2.8.1", + "version": "2.8.2", "source": { "type": "git", "url": "https://github.com/spiral/testing.git", - "reference": "a543ce70e8ed02b999077424cf6edb6b6193b961" + "reference": "37db9dc1a261190399d22a5a1a2746185d31b039" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spiral/testing/zipball/a543ce70e8ed02b999077424cf6edb6b6193b961", - "reference": "a543ce70e8ed02b999077424cf6edb6b6193b961", + "url": "https://api.github.com/repos/spiral/testing/zipball/37db9dc1a261190399d22a5a1a2746185d31b039", + "reference": "37db9dc1a261190399d22a5a1a2746185d31b039", "shasum": "" }, "require": { @@ -15737,7 +15745,7 @@ "docs": "https://spiral.dev/docs/testing-start", "forum": "https://forum.roadrunner.dev/", "issues": "https://github.com/spiral/testing/issues", - "source": "https://github.com/spiral/testing/tree/2.8.1" + "source": "https://github.com/spiral/testing/tree/2.8.2" }, "funding": [ { @@ -15745,7 +15753,7 @@ "type": "github" } ], - "time": "2024-09-13T12:00:03+00:00" + "time": "2024-11-28T20:46:00+00:00" }, { "name": "symfony/polyfill-php81", @@ -15825,16 +15833,16 @@ }, { "name": "symfony/stopwatch", - "version": "v7.1.6", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", - "reference": "8b4a434e6e7faf6adedffb48783a5c75409a1a05" + "reference": "696f418b0d722a4225e1c3d95489d262971ca924" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/8b4a434e6e7faf6adedffb48783a5c75409a1a05", - "reference": "8b4a434e6e7faf6adedffb48783a5c75409a1a05", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/696f418b0d722a4225e1c3d95489d262971ca924", + "reference": "696f418b0d722a4225e1c3d95489d262971ca924", "shasum": "" }, "require": { @@ -15867,7 +15875,7 @@ "description": "Provides a way to profile code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/stopwatch/tree/v7.1.6" + "source": "https://github.com/symfony/stopwatch/tree/v7.2.0" }, "funding": [ { @@ -15883,20 +15891,20 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:20:29+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { "name": "symfony/var-dumper", - "version": "v7.1.8", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "7bb01a47b1b00428d32b5e7b4d3b2d1aa58d3db8" + "reference": "c6a22929407dec8765d6e2b6ff85b800b245879c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/7bb01a47b1b00428d32b5e7b4d3b2d1aa58d3db8", - "reference": "7bb01a47b1b00428d32b5e7b4d3b2d1aa58d3db8", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/c6a22929407dec8765d6e2b6ff85b800b245879c", + "reference": "c6a22929407dec8765d6e2b6ff85b800b245879c", "shasum": "" }, "require": { @@ -15912,7 +15920,7 @@ "symfony/http-kernel": "^6.4|^7.0", "symfony/process": "^6.4|^7.0", "symfony/uid": "^6.4|^7.0", - "twig/twig": "^3.0.4" + "twig/twig": "^3.12" }, "bin": [ "Resources/bin/var-dump-server" @@ -15950,7 +15958,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v7.1.8" + "source": "https://github.com/symfony/var-dumper/tree/v7.2.0" }, "funding": [ { @@ -15966,7 +15974,7 @@ "type": "tidelift" } ], - "time": "2024-11-08T15:46:42+00:00" + "time": "2024-11-08T15:48:14+00:00" }, { "name": "ta-tikoma/phpunit-architecture-test", @@ -16291,11 +16299,11 @@ "type": "project", "extra": { "branch-alias": { - "dev-master": "5.x-dev", - "dev-4.x": "4.x-dev", - "dev-3.x": "3.x-dev", + "dev-1.x": "1.x-dev", "dev-2.x": "2.x-dev", - "dev-1.x": "1.x-dev" + "dev-3.x": "3.x-dev", + "dev-4.x": "4.x-dev", + "dev-master": "5.x-dev" } }, "autoload": { diff --git a/app/src/Application/Payment/Activities/PaymentActivity.php b/app/src/Application/Payment/Activities/PaymentActivity.php deleted file mode 100644 index cabb8ae..0000000 --- a/app/src/Application/Payment/Activities/PaymentActivity.php +++ /dev/null @@ -1,24 +0,0 @@ -logger->getLogger()->debug('Payment status checked', ['paymentId' => $paymentId]); - - return true; - } -} diff --git a/app/src/Application/Payment/Workflows/PaymentWorkflow.php b/app/src/Application/Payment/Workflows/PaymentWorkflow.php deleted file mode 100644 index 40ed38d..0000000 --- a/app/src/Application/Payment/Workflows/PaymentWorkflow.php +++ /dev/null @@ -1,25 +0,0 @@ -withStartToCloseTimeout(10) - ); - - return yield $activity->checkStatus($id); - } -} diff --git a/app/src/Domain/Category/Category.php b/app/src/Domain/Category/Category.php deleted file mode 100644 index bad2701..0000000 --- a/app/src/Domain/Category/Category.php +++ /dev/null @@ -1,9 +0,0 @@ -deleted = Signature::empty(); $this->recordThat( - new ProjectCreated( - $id, - $name, - $description, - $signature + new TransferCreated( + id: $id, + name: $name, + description: $description, + signature: $signature ) ); } @@ -61,7 +61,7 @@ public function aggregateRootId(): AggregateRootId return $this->id; } - public function id(): ProjectId + public function id(): TransferId { return $this->id; } diff --git a/app/src/Domain/Project/ProjectId.php b/app/src/Domain/Transfer/TransferId.php similarity index 53% rename from app/src/Domain/Project/ProjectId.php rename to app/src/Domain/Transfer/TransferId.php index f923548..4fb0f1c 100644 --- a/app/src/Domain/Project/ProjectId.php +++ b/app/src/Domain/Transfer/TransferId.php @@ -2,10 +2,10 @@ declare(strict_types=1); -namespace Domain\Project; +namespace Domain\Transfer; use Domain\Shared\Typecasts\Id; -final class ProjectId extends Id +final class TransferId extends Id { } diff --git a/app/src/Domain/Transfer/Contracts/TransferWebsiteWorkflowInterface.php b/app/src/Domain/Transfer/Workflows/TransferWebsiteWorkflowInterface.php similarity index 90% rename from app/src/Domain/Transfer/Contracts/TransferWebsiteWorkflowInterface.php rename to app/src/Domain/Transfer/Workflows/TransferWebsiteWorkflowInterface.php index 0dc0f93..cc9a9dd 100644 --- a/app/src/Domain/Transfer/Contracts/TransferWebsiteWorkflowInterface.php +++ b/app/src/Domain/Transfer/Workflows/TransferWebsiteWorkflowInterface.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Domain\Transfer\Contracts; +namespace Domain\Transfer\Workflows; use Application\Transfer\DTO\TransferDetails; use Temporal\Workflow\WorkflowInterface; diff --git a/app/src/Infrastructure/Temporal/Transfer/Activities/Destination/AllocateSpace.php b/app/src/Infrastructure/Temporal/Transfer/Activities/Destination/AllocateSpace.php new file mode 100644 index 0000000..f39f3a0 --- /dev/null +++ b/app/src/Infrastructure/Temporal/Transfer/Activities/Destination/AllocateSpace.php @@ -0,0 +1,29 @@ +boolean(40)) { + throw new AllocateSpaceFailedException(); + } + + // Simulate long-running Amazon Block Storage allocation + sleep(5); + + return Uuid::uuid7()->toString(); + } +} diff --git a/app/src/Infrastructure/Temporal/Transfer/Activities/Destination/AllocateSpaceActivity.php b/app/src/Infrastructure/Temporal/Transfer/Activities/Destination/AllocateSpaceActivity.php deleted file mode 100644 index eb2740d..0000000 --- a/app/src/Infrastructure/Temporal/Transfer/Activities/Destination/AllocateSpaceActivity.php +++ /dev/null @@ -1,22 +0,0 @@ -toString(); - } -} diff --git a/app/src/Infrastructure/Temporal/Transfer/Activities/Destination/AttachDomain.php b/app/src/Infrastructure/Temporal/Transfer/Activities/Destination/AttachDomain.php new file mode 100644 index 0000000..8e0029e --- /dev/null +++ b/app/src/Infrastructure/Temporal/Transfer/Activities/Destination/AttachDomain.php @@ -0,0 +1,29 @@ +boolean(40)) { + throw new AttachDomainFailedException(); + } + + // Attach domain in destination + sleep(5); + + return Uuid::uuid7()->toString(); + } +} diff --git a/app/src/Infrastructure/Temporal/Transfer/Activities/Destination/AttachDomainActivity.php b/app/src/Infrastructure/Temporal/Transfer/Activities/Destination/AttachDomainActivity.php deleted file mode 100644 index 745939c..0000000 --- a/app/src/Infrastructure/Temporal/Transfer/Activities/Destination/AttachDomainActivity.php +++ /dev/null @@ -1,22 +0,0 @@ -toString(); - } -} diff --git a/app/src/Infrastructure/Temporal/Transfer/Activities/Destination/DestinationStub.php b/app/src/Infrastructure/Temporal/Transfer/Activities/Destination/DestinationStub.php index 7c3b83f..ade1be8 100644 --- a/app/src/Infrastructure/Temporal/Transfer/Activities/Destination/DestinationStub.php +++ b/app/src/Infrastructure/Temporal/Transfer/Activities/Destination/DestinationStub.php @@ -12,62 +12,62 @@ final class DestinationStub { - public static function restoreDatabase(): ActivityProxy|RestoreDatabaseActivity + public static function restoreDatabase(): ActivityProxy|RestoreDatabase { return Workflow::newActivityStub( - RestoreDatabaseActivity::class, + RestoreDatabase::class, ActivityOptions::new() ->withStartToCloseTimeout(CarbonInterval::minute()) ->withRetryOptions( - RetryOptions::new()->withMaximumAttempts(1), + RetryOptions::new()->withMaximumAttempts(7), ), ); } - public static function restoreFiles(): ActivityProxy|RestoreFilesActivity + public static function restoreFiles(): ActivityProxy|RestoreFiles { return Workflow::newActivityStub( - RestoreFilesActivity::class, + RestoreFiles::class, ActivityOptions::new() ->withStartToCloseTimeout(CarbonInterval::minute()) ->withRetryOptions( - RetryOptions::new()->withMaximumAttempts(1), + RetryOptions::new()->withMaximumAttempts(7), ), ); } - public static function allocateSpace(): ActivityProxy|AllocateSpaceActivity + public static function allocateSpace(): ActivityProxy|AllocateSpace { return Workflow::newActivityStub( - AllocateSpaceActivity::class, + AllocateSpace::class, ActivityOptions::new() ->withStartToCloseTimeout(CarbonInterval::minute()) ->withRetryOptions( - RetryOptions::new()->withMaximumAttempts(1), + RetryOptions::new()->withMaximumAttempts(7), ), ); } - public static function attachDomain(): ActivityProxy|AttachDomainActivity + public static function attachDomain(): ActivityProxy|AttachDomain { return Workflow::newActivityStub( - AttachDomainActivity::class, + AttachDomain::class, ActivityOptions::new() ->withStartToCloseTimeout(CarbonInterval::minute()) ->withRetryOptions( - RetryOptions::new()->withMaximumAttempts(1), + RetryOptions::new()->withMaximumAttempts(7), ), ); } - public static function reConfigureWebsite(): ActivityProxy|ReConfigureWebsiteActivity + public static function reConfigureWebsite(): ActivityProxy|ReConfigureWebsite { return Workflow::newActivityStub( - ReConfigureWebsiteActivity::class, + ReConfigureWebsite::class, ActivityOptions::new() ->withStartToCloseTimeout(CarbonInterval::minute()) ->withRetryOptions( - RetryOptions::new()->withMaximumAttempts(1), + RetryOptions::new()->withMaximumAttempts(7), ), ); } diff --git a/app/src/Infrastructure/Temporal/Transfer/Activities/Destination/ReConfigureWebsiteActivity.php b/app/src/Infrastructure/Temporal/Transfer/Activities/Destination/ReConfigureWebsite.php similarity index 66% rename from app/src/Infrastructure/Temporal/Transfer/Activities/Destination/ReConfigureWebsiteActivity.php rename to app/src/Infrastructure/Temporal/Transfer/Activities/Destination/ReConfigureWebsite.php index db9c811..1ef4899 100644 --- a/app/src/Infrastructure/Temporal/Transfer/Activities/Destination/ReConfigureWebsiteActivity.php +++ b/app/src/Infrastructure/Temporal/Transfer/Activities/Destination/ReConfigureWebsite.php @@ -4,13 +4,12 @@ namespace Infrastructure\Temporal\Transfer\Activities\Destination; +use Domain\Transfer\Activities\Destination\ReConfigureWebsiteInterface; use Ramsey\Uuid\Uuid; -use Temporal\Activity\ActivityInterface; use function sleep; -#[ActivityInterface(prefix: 'website.transfer.destination.')] -final readonly class ReConfigureWebsiteActivity +final readonly class ReConfigureWebsite implements ReConfigureWebsiteInterface { public function handle(): string { diff --git a/app/src/Infrastructure/Temporal/Transfer/Activities/Destination/RestoreDatabaseActivity.php b/app/src/Infrastructure/Temporal/Transfer/Activities/Destination/RestoreDatabase.php similarity index 67% rename from app/src/Infrastructure/Temporal/Transfer/Activities/Destination/RestoreDatabaseActivity.php rename to app/src/Infrastructure/Temporal/Transfer/Activities/Destination/RestoreDatabase.php index 1f3c7e1..630209b 100644 --- a/app/src/Infrastructure/Temporal/Transfer/Activities/Destination/RestoreDatabaseActivity.php +++ b/app/src/Infrastructure/Temporal/Transfer/Activities/Destination/RestoreDatabase.php @@ -4,13 +4,12 @@ namespace Infrastructure\Temporal\Transfer\Activities\Destination; +use Domain\Transfer\Activities\Destination\RestoreDatabaseInterface; use Ramsey\Uuid\Uuid; -use Temporal\Activity\ActivityInterface; use function sleep; -#[ActivityInterface(prefix: 'website.transfer.destination.')] -final readonly class RestoreDatabaseActivity +final readonly class RestoreDatabase implements RestoreDatabaseInterface { public function handle(): string { diff --git a/app/src/Infrastructure/Temporal/Transfer/Activities/Destination/RestoreFilesActivity.php b/app/src/Infrastructure/Temporal/Transfer/Activities/Destination/RestoreFiles.php similarity index 68% rename from app/src/Infrastructure/Temporal/Transfer/Activities/Destination/RestoreFilesActivity.php rename to app/src/Infrastructure/Temporal/Transfer/Activities/Destination/RestoreFiles.php index aecfe37..6625005 100644 --- a/app/src/Infrastructure/Temporal/Transfer/Activities/Destination/RestoreFilesActivity.php +++ b/app/src/Infrastructure/Temporal/Transfer/Activities/Destination/RestoreFiles.php @@ -4,13 +4,12 @@ namespace Infrastructure\Temporal\Transfer\Activities\Destination; +use Domain\Transfer\Activities\Destination\RestoreFilesInterface; use Ramsey\Uuid\Uuid; -use Temporal\Activity\ActivityInterface; use function sleep; -#[ActivityInterface(prefix: 'website.transfer.destination.')] -final readonly class RestoreFilesActivity +final readonly class RestoreFiles implements RestoreFilesInterface { public function handle(): string { diff --git a/app/src/Infrastructure/Temporal/Transfer/Activities/Source/BackupDatabase.php b/app/src/Infrastructure/Temporal/Transfer/Activities/Source/BackupDatabase.php new file mode 100644 index 0000000..a90b45b --- /dev/null +++ b/app/src/Infrastructure/Temporal/Transfer/Activities/Source/BackupDatabase.php @@ -0,0 +1,29 @@ +boolean(40)) { + throw new AllocateSpaceFailedException(); + } + + // Initiate database backup on source website + sleep(5); + + return Uuid::uuid7()->toString(); + } +} diff --git a/app/src/Infrastructure/Temporal/Transfer/Activities/Source/BackupFiles.php b/app/src/Infrastructure/Temporal/Transfer/Activities/Source/BackupFiles.php new file mode 100644 index 0000000..abf4c17 --- /dev/null +++ b/app/src/Infrastructure/Temporal/Transfer/Activities/Source/BackupFiles.php @@ -0,0 +1,29 @@ +boolean(60)) { + throw new BackupFilesFailedException(); + } + + // Initiates the backup of files from the source website. + sleep(5); + + return Uuid::uuid7()->toString(); + } +} diff --git a/app/src/Infrastructure/Temporal/Transfer/Activities/Source/InitiateDatabaseBackupActivity.php b/app/src/Infrastructure/Temporal/Transfer/Activities/Source/InitiateDatabaseBackupActivity.php deleted file mode 100644 index 4d0c5b6..0000000 --- a/app/src/Infrastructure/Temporal/Transfer/Activities/Source/InitiateDatabaseBackupActivity.php +++ /dev/null @@ -1,22 +0,0 @@ -toString(); - } -} diff --git a/app/src/Infrastructure/Temporal/Transfer/Activities/Source/InitiateFilesBackupActivity.php b/app/src/Infrastructure/Temporal/Transfer/Activities/Source/InitiateFilesBackupActivity.php deleted file mode 100644 index 2c4684b..0000000 --- a/app/src/Infrastructure/Temporal/Transfer/Activities/Source/InitiateFilesBackupActivity.php +++ /dev/null @@ -1,22 +0,0 @@ -toString(); - } -} diff --git a/app/src/Infrastructure/Temporal/Transfer/Activities/Source/ReleaseDomainActivity.php b/app/src/Infrastructure/Temporal/Transfer/Activities/Source/ReleaseDomain.php similarity index 65% rename from app/src/Infrastructure/Temporal/Transfer/Activities/Source/ReleaseDomainActivity.php rename to app/src/Infrastructure/Temporal/Transfer/Activities/Source/ReleaseDomain.php index c2bb7e8..bc74b90 100644 --- a/app/src/Infrastructure/Temporal/Transfer/Activities/Source/ReleaseDomainActivity.php +++ b/app/src/Infrastructure/Temporal/Transfer/Activities/Source/ReleaseDomain.php @@ -4,13 +4,12 @@ namespace Infrastructure\Temporal\Transfer\Activities\Source; +use Domain\Transfer\Activities\Source\ReleaseDomainInterface; use Ramsey\Uuid\Uuid; -use Temporal\Activity\ActivityInterface; use function sleep; -#[ActivityInterface(prefix: 'website.transfer.source.releaseDomain.')] -final readonly class ReleaseDomainActivity +final readonly class ReleaseDomain implements ReleaseDomainInterface { public function handle(): string { diff --git a/app/src/Infrastructure/Temporal/Transfer/Activities/Source/SourceStub.php b/app/src/Infrastructure/Temporal/Transfer/Activities/Source/SourceStub.php index 9da80c0..2e6f248 100644 --- a/app/src/Infrastructure/Temporal/Transfer/Activities/Source/SourceStub.php +++ b/app/src/Infrastructure/Temporal/Transfer/Activities/Source/SourceStub.php @@ -12,50 +12,50 @@ final class SourceStub { - public static function initiateFilesBackup(): ActivityProxy|InitiateFilesBackupActivity + public static function backupFiles(): ActivityProxy|BackupFiles { return Workflow::newActivityStub( - InitiateFilesBackupActivity::class, + BackupFiles::class, ActivityOptions::new() ->withStartToCloseTimeout(CarbonInterval::minute()) ->withRetryOptions( - RetryOptions::new()->withMaximumAttempts(1), + RetryOptions::new()->withMaximumAttempts(7), ), ); } - public static function initiateDatabaseBackup(): ActivityProxy|InitiateDatabaseBackupActivity + public static function backupDatabase(): ActivityProxy|BackupDatabase { return Workflow::newActivityStub( - InitiateDatabaseBackupActivity::class, + BackupDatabase::class, ActivityOptions::new() ->withStartToCloseTimeout(CarbonInterval::minute()) ->withRetryOptions( - RetryOptions::new()->withMaximumAttempts(1), + RetryOptions::new()->withMaximumAttempts(7), ), ); } - public static function releaseDomain(): ActivityProxy|ReleaseDomainActivity + public static function releaseDomain(): ActivityProxy|ReleaseDomain { return Workflow::newActivityStub( - ReleaseDomainActivity::class, + ReleaseDomain::class, ActivityOptions::new() ->withStartToCloseTimeout(CarbonInterval::minute()) ->withRetryOptions( - RetryOptions::new()->withMaximumAttempts(1), + RetryOptions::new()->withMaximumAttempts(7), ), ); } - public static function transferBackup(): ActivityProxy|TransferBackupActivity + public static function transferBackup(): ActivityProxy|TransferBackup { return Workflow::newActivityStub( - TransferBackupActivity::class, + TransferBackup::class, ActivityOptions::new() ->withStartToCloseTimeout(CarbonInterval::minute()) ->withRetryOptions( - RetryOptions::new()->withMaximumAttempts(1), + RetryOptions::new()->withMaximumAttempts(7), ), ); } diff --git a/app/src/Infrastructure/Temporal/Transfer/Activities/Source/TransferBackupActivity.php b/app/src/Infrastructure/Temporal/Transfer/Activities/Source/TransferBackup.php similarity index 72% rename from app/src/Infrastructure/Temporal/Transfer/Activities/Source/TransferBackupActivity.php rename to app/src/Infrastructure/Temporal/Transfer/Activities/Source/TransferBackup.php index 91893fb..eace4d6 100644 --- a/app/src/Infrastructure/Temporal/Transfer/Activities/Source/TransferBackupActivity.php +++ b/app/src/Infrastructure/Temporal/Transfer/Activities/Source/TransferBackup.php @@ -4,13 +4,12 @@ namespace Infrastructure\Temporal\Transfer\Activities\Source; +use Domain\Transfer\Activities\Source\TransferBackupInterface; use Ramsey\Uuid\Uuid; -use Temporal\Activity\ActivityInterface; use function sleep; -#[ActivityInterface(prefix: 'website.transfer.source.')] -final readonly class TransferBackupActivity +final readonly class TransferBackup implements TransferBackupInterface { public function handle(): string { diff --git a/app/src/Infrastructure/Temporal/Transfer/Workflows/TransferWebsiteWorkflow.php b/app/src/Infrastructure/Temporal/Transfer/Workflows/TransferWebsiteWorkflow.php index 9254c8f..2845f2f 100644 --- a/app/src/Infrastructure/Temporal/Transfer/Workflows/TransferWebsiteWorkflow.php +++ b/app/src/Infrastructure/Temporal/Transfer/Workflows/TransferWebsiteWorkflow.php @@ -5,7 +5,8 @@ namespace Infrastructure\Temporal\Transfer\Workflows; use Application\Transfer\DTO\TransferDetails; -use Domain\Transfer\Contracts\TransferWebsiteWorkflowInterface; +use Domain\Transfer\Workflows\TransferWebsiteWorkflowInterface; +use Generator; use Infrastructure\Temporal\Transfer\Activities\Destination\DestinationStub; use Infrastructure\Temporal\Transfer\Activities\Source\SourceStub; use Throwable; @@ -16,9 +17,9 @@ final class TransferWebsiteWorkflow implements TransferWebsiteWorkflowInterface public function __construct() { - $this->actions[] = SourceStub::initiateFilesBackup(); + $this->actions[] = SourceStub::backupFiles(); $this->actions[] = SourceStub::releaseDomain(); - $this->actions[] = SourceStub::initiateDatabaseBackup(); + $this->actions[] = SourceStub::backupDatabase(); $this->actions[] = SourceStub::transferBackup(); $this->actions[] = DestinationStub::allocateSpace(); $this->actions[] = DestinationStub::restoreDatabase(); @@ -26,7 +27,10 @@ public function __construct() $this->actions[] = DestinationStub::attachDomain(); } - public function handle(TransferDetails $transferDetails) + /** + * @throws Throwable + */ + public function handle(TransferDetails $transferDetails): Generator { foreach ($this->actions as $action) { try { @@ -34,6 +38,9 @@ public function handle(TransferDetails $transferDetails) } catch (Throwable $e) { // Handle or log the error // todo: Log error + // throw $e; + + return; } } } diff --git a/docker-compose.temporal.yaml b/docker-compose.temporal.yaml index 0eae7d0..99f494f 100644 --- a/docker-compose.temporal.yaml +++ b/docker-compose.temporal.yaml @@ -54,7 +54,7 @@ services: driver: ${DOCKER_TEMPORAL_LOG_DRIVER:-json-file} temporal-ui: - image: temporalio/ui:2.31.2 + image: temporalio/ui:2.32.0 container_name: ${COMPOSE_PROJECT_NAME}-temporal-ui restart: on-failure networks: