diff --git a/.gitignore b/.gitignore index b6e8722..146abbd 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ /.sass-cache /www/ /config.*.ini +/data/upload diff --git a/build.json b/build.json new file mode 100644 index 0000000..fd14d42 --- /dev/null +++ b/build.json @@ -0,0 +1,73 @@ +{ + "script/**/*.es6": { + "require": { + "node": "*", + "babel": "*", + "webpack": "*" + }, + "execute": { + "command": "webpack", + "arguments": ["--entry","./script/script.es6", "--output-path", "./www", "--output-filename", "script.js", "--devtool", "source-map", "--mode", "development"] + } + }, + + "script/*sw.js": { + "require": { + "vendor/bin/sync": "*" + }, + "execute": { + "command": "vendor/bin/sync", + "arguments": ["--pattern", "*sw.js", "script", "www/"] + } + }, + + "script/**/*.js": { + "require": { + "vendor/bin/sync": "*" + }, + "execute": { + "command": "vendor/bin/sync", + "arguments": ["--pattern", "*.js", "script", "www/script"] + } + }, + + "style/**/*.scss": { + "require": { + "sass": "*" + }, + "execute": { + "command": "sass", + "arguments": ["./style/style.scss", "www/style.css"] + } + }, + + "style/**/*.css": { + "require": { + "vendor/bin/sync": "*" + }, + "execute": { + "command": "vendor/bin/sync", + "arguments": ["--pattern", "*.css", "style", "www/style"] + } + }, + + "asset/**/*": { + "require": { + "vendor/bin/sync": ">=1.3.0" + }, + "execute": { + "command": "vendor/bin/sync", + "arguments": ["./asset", "./www/asset", "--symlink"] + } + }, + + "data/upload/**/*": { + "require": { + "vendor/bin/sync": ">=1.3.0" + }, + "execute": { + "command": "vendor/bin/sync", + "arguments": ["./data/upload", "./www/data/upload", "--symlink"] + } + } +} diff --git a/class/User/UserRepository.php b/class/User/UserRepository.php index 3cc95db..d225f05 100644 --- a/class/User/UserRepository.php +++ b/class/User/UserRepository.php @@ -46,7 +46,7 @@ public function checkLogin(User $user, string $password):bool { public function create( ApplicationDeployment $deployment, string $email, - string $password, + string $password = null, ):void { $userId = new Ulid(); $this->db->insert("create", [ diff --git a/composer.lock b/composer.lock index 10d45b5..85c6732 100644 --- a/composer.lock +++ b/composer.lock @@ -8,16 +8,16 @@ "packages": [ { "name": "composer/semver", - "version": "3.3.2", + "version": "3.4.0", "source": { "type": "git", "url": "https://github.com/composer/semver.git", - "reference": "3953f23262f2bff1919fc82183ad9acb13ff62c9" + "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/3953f23262f2bff1919fc82183ad9acb13ff62c9", - "reference": "3953f23262f2bff1919fc82183ad9acb13ff62c9", + "url": "https://api.github.com/repos/composer/semver/zipball/35e8d0af4486141bc745f23a29cc2091eb624a32", + "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32", "shasum": "" }, "require": { @@ -67,9 +67,9 @@ "versioning" ], "support": { - "irc": "irc://irc.freenode.org/composer", + "irc": "ircs://irc.libera.chat:6697/composer", "issues": "https://github.com/composer/semver/issues", - "source": "https://github.com/composer/semver/tree/3.3.2" + "source": "https://github.com/composer/semver/tree/3.4.0" }, "funding": [ { @@ -85,7 +85,7 @@ "type": "tidelift" } ], - "time": "2022-04-01T19:23:25+00:00" + "time": "2023-08-31T09:50:34+00:00" }, { "name": "dflydev/dot-access-data", @@ -226,18 +226,78 @@ ], "time": "2020-10-13T00:52:37+00:00" }, + { + "name": "greenlion/php-sql-parser", + "version": "v4.6.0", + "source": { + "type": "git", + "url": "https://github.com/greenlion/PHP-SQL-Parser.git", + "reference": "f0e4645eb1612f0a295e3d35bda4c7740ae8c366" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/greenlion/PHP-SQL-Parser/zipball/f0e4645eb1612f0a295e3d35bda4c7740ae8c366", + "reference": "f0e4645eb1612f0a295e3d35bda4c7740ae8c366", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "require-dev": { + "analog/analog": "^1.0.6", + "phpunit/phpunit": "^9.5.13", + "squizlabs/php_codesniffer": "^1.5.1" + }, + "type": "library", + "autoload": { + "psr-0": { + "PHPSQLParser\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Justin Swanhart", + "email": "greenlion@gmail.com", + "homepage": "http://code.google.com/u/greenlion@gmail.com/", + "role": "Owner" + }, + { + "name": "André Rothe", + "email": "phosco@gmx.de", + "homepage": "https://www.phosco.info", + "role": "Committer" + } + ], + "description": "A pure PHP SQL (non validating) parser w/ focus on MySQL dialect of SQL", + "homepage": "https://github.com/greenlion/PHP-SQL-Parser", + "keywords": [ + "creator", + "mysql", + "parser", + "sql" + ], + "support": { + "issues": "https://github.com/greenlion/PHP-SQL-Parser/issues", + "source": "https://github.com/greenlion/PHP-SQL-Parser" + }, + "time": "2023-03-09T20:54:23+00:00" + }, { "name": "league/commonmark", - "version": "2.4.0", + "version": "2.4.1", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "d44a24690f16b8c1808bf13b1bd54ae4c63ea048" + "reference": "3669d6d5f7a47a93c08ddff335e6d945481a1dd5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/d44a24690f16b8c1808bf13b1bd54ae4c63ea048", - "reference": "d44a24690f16b8c1808bf13b1bd54ae4c63ea048", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/3669d6d5f7a47a93c08ddff335e6d945481a1dd5", + "reference": "3669d6d5f7a47a93c08ddff335e6d945481a1dd5", "shasum": "" }, "require": { @@ -330,7 +390,7 @@ "type": "tidelift" } ], - "time": "2023-03-24T15:16:10+00:00" + "time": "2023-08-30T16:55:00+00:00" }, { "name": "league/config", @@ -467,21 +527,21 @@ }, { "name": "nette/schema", - "version": "v1.2.3", + "version": "v1.2.5", "source": { "type": "git", "url": "https://github.com/nette/schema.git", - "reference": "abbdbb70e0245d5f3bf77874cea1dfb0c930d06f" + "reference": "0462f0166e823aad657c9224d0f849ecac1ba10a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/schema/zipball/abbdbb70e0245d5f3bf77874cea1dfb0c930d06f", - "reference": "abbdbb70e0245d5f3bf77874cea1dfb0c930d06f", + "url": "https://api.github.com/repos/nette/schema/zipball/0462f0166e823aad657c9224d0f849ecac1ba10a", + "reference": "0462f0166e823aad657c9224d0f849ecac1ba10a", "shasum": "" }, "require": { "nette/utils": "^2.5.7 || ^3.1.5 || ^4.0", - "php": ">=7.1 <8.3" + "php": "7.1 - 8.3" }, "require-dev": { "nette/tester": "^2.3 || ^2.4", @@ -523,26 +583,26 @@ ], "support": { "issues": "https://github.com/nette/schema/issues", - "source": "https://github.com/nette/schema/tree/v1.2.3" + "source": "https://github.com/nette/schema/tree/v1.2.5" }, - "time": "2022-10-13T01:24:26+00:00" + "time": "2023-10-05T20:37:59+00:00" }, { "name": "nette/utils", - "version": "v4.0.0", + "version": "v4.0.3", "source": { "type": "git", "url": "https://github.com/nette/utils.git", - "reference": "cacdbf5a91a657ede665c541eda28941d4b09c1e" + "reference": "a9d127dd6a203ce6d255b2e2db49759f7506e015" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/cacdbf5a91a657ede665c541eda28941d4b09c1e", - "reference": "cacdbf5a91a657ede665c541eda28941d4b09c1e", + "url": "https://api.github.com/repos/nette/utils/zipball/a9d127dd6a203ce6d255b2e2db49759f7506e015", + "reference": "a9d127dd6a203ce6d255b2e2db49759f7506e015", "shasum": "" }, "require": { - "php": ">=8.0 <8.3" + "php": ">=8.0 <8.4" }, "conflict": { "nette/finder": "<3", @@ -550,7 +610,7 @@ }, "require-dev": { "jetbrains/phpstorm-attributes": "dev-master", - "nette/tester": "^2.4", + "nette/tester": "^2.5", "phpstan/phpstan": "^1.0", "tracy/tracy": "^2.9" }, @@ -560,8 +620,7 @@ "ext-intl": "to use Strings::webalize(), toAscii(), normalize() and compare()", "ext-json": "to use Nette\\Utils\\Json", "ext-mbstring": "to use Strings::lower() etc...", - "ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()", - "ext-xml": "to use Strings::length() etc. when mbstring is not available" + "ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()" }, "type": "library", "extra": { @@ -610,34 +669,83 @@ ], "support": { "issues": "https://github.com/nette/utils/issues", - "source": "https://github.com/nette/utils/tree/v4.0.0" + "source": "https://github.com/nette/utils/tree/v4.0.3" + }, + "time": "2023-10-29T21:02:13+00:00" + }, + { + "name": "phpgt/async", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://github.com/PhpGt/Async.git", + "reference": "3d2bdeca8cafc8573b416da3ac591d5d88f6dea9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PhpGt/Async/zipball/3d2bdeca8cafc8573b416da3ac591d5d88f6dea9", + "reference": "3d2bdeca8cafc8573b416da3ac591d5d88f6dea9", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "php": ">=7.4", + "phpgt/promise": "^2.0" + }, + "require-dev": { + "phpstan/phpstan": "^v1.8", + "phpunit/phpunit": "^v9.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Gt\\Async\\": "./src" + } }, - "time": "2023-02-02T10:41:53+00:00" + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Promise-based non-blocking operations.", + "support": { + "issues": "https://github.com/PhpGt/Async/issues", + "source": "https://github.com/PhpGt/Async/tree/v1.0.0" + }, + "funding": [ + { + "url": "https://github.com/phpgt", + "type": "github" + } + ], + "time": "2023-01-19T11:11:58+00:00" }, { "name": "phpgt/build", - "version": "v1.2.1", + "version": "v1.2.3", "source": { "type": "git", "url": "https://github.com/PhpGt/Build.git", - "reference": "4c1bfbaf5840854ab98bc3b7f6e3a2cc71461ce2" + "reference": "27d247590819c4b5dd6052a5758844ff1bb03b17" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PhpGt/Build/zipball/4c1bfbaf5840854ab98bc3b7f6e3a2cc71461ce2", - "reference": "4c1bfbaf5840854ab98bc3b7f6e3a2cc71461ce2", + "url": "https://api.github.com/repos/PhpGt/Build/zipball/27d247590819c4b5dd6052a5758844ff1bb03b17", + "reference": "27d247590819c4b5dd6052a5758844ff1bb03b17", "shasum": "" }, "require": { - "composer/semver": "3.*", + "composer/semver": "v3.*", "ext-json": "*", "php": ">=7.4", - "phpgt/cli": "^1.3.0", - "webmozart/glob": "4.4.*" + "phpgt/cli": "^v1.3.0", + "phpgt/sync": "^1.3.0", + "webmozart/glob": "v4.4.*" }, "require-dev": { - "phpstan/phpstan": "^0.12", - "phpunit/phpunit": "^9.5" + "phpmd/phpmd": "^2.13", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^10.1", + "squizlabs/php_codesniffer": "^3.7" }, "bin": [ "bin/build" @@ -655,7 +763,7 @@ "description": "Client-side build system for PHP projects.", "support": { "issues": "https://github.com/PhpGt/Build/issues", - "source": "https://github.com/PhpGt/Build/tree/v1.2.1" + "source": "https://github.com/PhpGt/Build/tree/v1.2.3" }, "funding": [ { @@ -663,7 +771,7 @@ "type": "github" } ], - "time": "2022-04-12T17:52:06+00:00" + "time": "2023-08-09T10:34:24+00:00" }, { "name": "phpgt/cipher", @@ -719,16 +827,16 @@ }, { "name": "phpgt/cli", - "version": "v1.3.3", + "version": "v1.3.4", "source": { "type": "git", "url": "https://github.com/PhpGt/Cli.git", - "reference": "b0334aee36f9e8aad9ca8b9cda397ffe5781f96f" + "reference": "71deb9cdc5a3ea8bfb665faa29739badbf61e9da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PhpGt/Cli/zipball/b0334aee36f9e8aad9ca8b9cda397ffe5781f96f", - "reference": "b0334aee36f9e8aad9ca8b9cda397ffe5781f96f", + "url": "https://api.github.com/repos/PhpGt/Cli/zipball/71deb9cdc5a3ea8bfb665faa29739badbf61e9da", + "reference": "71deb9cdc5a3ea8bfb665faa29739badbf61e9da", "shasum": "" }, "require": { @@ -738,7 +846,7 @@ "phpgt/daemon": "^v1.1" }, "require-dev": { - "phpstan/phpstan": "^v1.4", + "phpstan/phpstan": "^v1.8", "phpunit/phpunit": "^v9.5" }, "type": "library", @@ -766,7 +874,7 @@ ], "support": { "issues": "https://github.com/PhpGt/Cli/issues", - "source": "https://github.com/PhpGt/Cli/tree/v1.3.3" + "source": "https://github.com/PhpGt/Cli/tree/v1.3.4" }, "funding": [ { @@ -774,7 +882,7 @@ "type": "github" } ], - "time": "2022-02-26T15:38:15+00:00" + "time": "2023-09-18T10:06:17+00:00" }, { "name": "phpgt/config", @@ -989,6 +1097,67 @@ ], "time": "2021-11-13T15:40:44+00:00" }, + { + "name": "phpgt/curl", + "version": "v3.1.1", + "source": { + "type": "git", + "url": "https://github.com/PhpGt/Curl.git", + "reference": "a7e0856d3735f8f69d6d5fbf2f6f26664e55e3b7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PhpGt/Curl/zipball/a7e0856d3735f8f69d6d5fbf2f6f26664e55e3b7", + "reference": "a7e0856d3735f8f69d6d5fbf2f6f26664e55e3b7", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "ext-json": "*", + "php": ">=8.1", + "phpgt/json": "^1.2" + }, + "require-dev": { + "phpmd/phpmd": "^2.13", + "phpstan/phpstan": "^1.9", + "phpunit/phpunit": "^10.0", + "squizlabs/php_codesniffer": "^3.7" + }, + "type": "library", + "autoload": { + "psr-4": { + "Gt\\Curl\\": "./src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Greg Bowler", + "email": "greg.bowler@g105b.com" + } + ], + "description": "cURL object wrapper.", + "keywords": [ + "curl", + "curl_multi", + "http", + "interface" + ], + "support": { + "issues": "https://github.com/PhpGt/Curl/issues", + "source": "https://github.com/PhpGt/Curl/tree/v3.1.1" + }, + "funding": [ + { + "url": "https://github.com/sponsors/PhpGt", + "type": "github" + } + ], + "time": "2023-04-29T17:28:12+00:00" + }, { "name": "phpgt/daemon", "version": "v1.1.2", @@ -1032,28 +1201,31 @@ }, { "name": "phpgt/database", - "version": "v1.4.0", + "version": "v1.5.0", "source": { "type": "git", "url": "https://github.com/PhpGt/Database.git", - "reference": "db929a74e7e57f8424027c8fe685b37c6459db86" + "reference": "388b6f74da1ede9e37daf4748fe78299e268fee1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PhpGt/Database/zipball/db929a74e7e57f8424027c8fe685b37c6459db86", - "reference": "db929a74e7e57f8424027c8fe685b37c6459db86", + "url": "https://api.github.com/repos/PhpGt/Database/zipball/388b6f74da1ede9e37daf4748fe78299e268fee1", + "reference": "388b6f74da1ede9e37daf4748fe78299e268fee1", "shasum": "" }, "require": { "ext-pdo": "*", - "php": ">=7.4", + "greenlion/php-sql-parser": "^4.6", + "php": ">=8.1", "phpgt/cli": "^1.3", "phpgt/config": "^v1.1.0" }, "require-dev": { "ext-sqlite3": "*", - "phpstan/phpstan": "^0.12", - "phpunit/phpunit": "^9.4" + "phpmd/phpmd": "^2.13", + "phpstan/phpstan": "^v1.10", + "phpunit/phpunit": "^10.1", + "squizlabs/php_codesniffer": "^3.7" }, "bin": [ "bin/migrate" @@ -1085,7 +1257,7 @@ "description": "Database API organisation.", "support": { "issues": "https://github.com/PhpGt/Database/issues", - "source": "https://github.com/PhpGt/Database/tree/v1.4.0" + "source": "https://github.com/PhpGt/Database/tree/v1.5.0" }, "funding": [ { @@ -1093,20 +1265,74 @@ "type": "github" } ], - "time": "2021-09-23T09:07:04+00:00" + "time": "2023-10-19T11:08:15+00:00" + }, + { + "name": "phpgt/dataobject", + "version": "v1.0.7", + "source": { + "type": "git", + "url": "https://github.com/PhpGt/DataObject.git", + "reference": "3b05cc3b64a0f2b763c8e550bc6c03b71474cd1a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PhpGt/DataObject/zipball/3b05cc3b64a0f2b763c8e550bc6c03b71474cd1a", + "reference": "3b05cc3b64a0f2b763c8e550bc6c03b71474cd1a", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": ">=8.0", + "phpgt/typesafegetter": "^1.3" + }, + "require-dev": { + "phpmd/phpmd": "^2.13", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^10.1", + "squizlabs/php_codesniffer": "^3.7" + }, + "type": "library", + "autoload": { + "psr-4": { + "Gt\\DataObject\\": "./src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Greg Bowler", + "email": "greg.bowler@g105b.com" + } + ], + "description": " Structured, type-safe, immutable data transfer.", + "support": { + "issues": "https://github.com/PhpGt/DataObject/issues", + "source": "https://github.com/PhpGt/DataObject/tree/v1.0.7" + }, + "funding": [ + { + "url": "https://github.com/phpgt", + "type": "github" + } + ], + "time": "2023-07-13T09:45:07+00:00" }, { "name": "phpgt/dom", - "version": "v4.1.2", + "version": "v4.1.4", "source": { "type": "git", "url": "https://github.com/PhpGt/Dom.git", - "reference": "3e1afe7b6d38e9968d400900a62cbe54753973a1" + "reference": "a71e91f18a2f17e7f7dd0db7dab01ceeccf24af6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PhpGt/Dom/zipball/3e1afe7b6d38e9968d400900a62cbe54753973a1", - "reference": "3e1afe7b6d38e9968d400900a62cbe54753973a1", + "url": "https://api.github.com/repos/PhpGt/Dom/zipball/a71e91f18a2f17e7f7dd0db7dab01ceeccf24af6", + "reference": "a71e91f18a2f17e7f7dd0db7dab01ceeccf24af6", "shasum": "" }, "require": { @@ -1116,7 +1342,7 @@ "php": ">=8.1", "phpgt/cssxpath": "^1.1", "phpgt/propfunc": "^1.0", - "psr/http-message": "^1.0" + "psr/http-message": "^1.0 || ^2.0" }, "require-dev": { "phpmd/phpmd": "^2.13", @@ -1185,7 +1411,7 @@ "description": "The modern DOM API for PHP projects.", "support": { "issues": "https://github.com/PhpGt/Dom/issues", - "source": "https://github.com/PhpGt/Dom/tree/v4.1.2" + "source": "https://github.com/PhpGt/Dom/tree/v4.1.4" }, "funding": [ { @@ -1193,20 +1419,20 @@ "type": "github" } ], - "time": "2023-03-02T18:40:07+00:00" + "time": "2023-07-25T11:59:45+00:00" }, { "name": "phpgt/domtemplate", - "version": "v3.2.0", + "version": "v3.3.0", "source": { "type": "git", "url": "https://github.com/PhpGt/DomTemplate.git", - "reference": "ffda274f4d424ed92084e892d11d202ca6bf1606" + "reference": "913b654c16a4b4d91f64b37aa434f82b9f274259" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PhpGt/DomTemplate/zipball/ffda274f4d424ed92084e892d11d202ca6bf1606", - "reference": "ffda274f4d424ed92084e892d11d202ca6bf1606", + "url": "https://api.github.com/repos/PhpGt/DomTemplate/zipball/913b654c16a4b4d91f64b37aa434f82b9f274259", + "reference": "913b654c16a4b4d91f64b37aa434f82b9f274259", "shasum": "" }, "require": { @@ -1231,7 +1457,7 @@ "description": "Bind dynamic data to reusable HTML components.", "support": { "issues": "https://github.com/PhpGt/DomTemplate/issues", - "source": "https://github.com/PhpGt/DomTemplate/tree/v3.2.0" + "source": "https://github.com/PhpGt/DomTemplate/tree/v3.3.0" }, "funding": [ { @@ -1239,7 +1465,7 @@ "type": "github" } ], - "time": "2023-03-01T11:23:24+00:00" + "time": "2023-11-10T11:55:10+00:00" }, { "name": "phpgt/gtcommand", @@ -1292,31 +1518,46 @@ }, { "name": "phpgt/http", - "version": "v1.1.9", + "version": "v1.2.2", "source": { "type": "git", "url": "https://github.com/PhpGt/Http.git", - "reference": "05566d327ba99f8d99ef17700f3b94164de8c3d7" + "reference": "de03587d63d5a582140a3e9e9b06e506ffbc8ca3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PhpGt/Http/zipball/05566d327ba99f8d99ef17700f3b94164de8c3d7", - "reference": "05566d327ba99f8d99ef17700f3b94164de8c3d7", + "url": "https://api.github.com/repos/PhpGt/Http/zipball/de03587d63d5a582140a3e9e9b06e506ffbc8ca3", + "reference": "de03587d63d5a582140a3e9e9b06e506ffbc8ca3", "shasum": "" }, "require": { + "ext-curl": "*", + "ext-dom": "*", + "ext-fileinfo": "*", "php": ">=8.1", - "phpgt/input": "^v1", - "psr/http-message": "^v1.0.1", - "willdurand/negotiation": "v3.1.0" + "phpgt/async": "^1.0", + "phpgt/curl": "^3.1", + "phpgt/input": "^1.2", + "phpgt/json": "^1.2", + "phpgt/promise": "^2.2", + "phpgt/propfunc": "^1.0", + "phpgt/typesafegetter": "^1.3", + "psr/http-message": "^2.0", + "willdurand/negotiation": "3.1.0" }, "require-dev": { "phpmd/phpmd": "^2.13", - "phpstan/phpstan": "^1.9", - "phpunit/phpunit": "^10.0", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^10.1", "squizlabs/php_codesniffer": "^3.7" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2.3-dev", + "dev-ci": "1.2.3-dev" + } + }, "autoload": { "psr-4": { "Gt\\Http\\": "./src" @@ -1329,7 +1570,7 @@ "description": "PSR-7 HTTP message implementation.", "support": { "issues": "https://github.com/PhpGt/Http/issues", - "source": "https://github.com/PhpGt/Http/tree/v1.1.9" + "source": "https://github.com/PhpGt/Http/tree/v1.2.2" }, "funding": [ { @@ -1337,7 +1578,7 @@ "type": "github" } ], - "time": "2023-03-10T15:04:04+00:00" + "time": "2023-07-20T15:04:03+00:00" }, { "name": "phpgt/input", @@ -1386,6 +1627,60 @@ ], "time": "2023-05-02T17:16:00+00:00" }, + { + "name": "phpgt/json", + "version": "v1.2.1", + "source": { + "type": "git", + "url": "https://github.com/PhpGt/Json.git", + "reference": "8938b374d550bc6114bf1d4e5c1cbe3283868e58" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PhpGt/Json/zipball/8938b374d550bc6114bf1d4e5c1cbe3283868e58", + "reference": "8938b374d550bc6114bf1d4e5c1cbe3283868e58", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": ">=8.1", + "phpgt/dataobject": "^1.0.7" + }, + "require-dev": { + "phpmd/phpmd": "^2.13", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^10.1", + "squizlabs/php_codesniffer": "^3.7" + }, + "type": "library", + "autoload": { + "psr-4": { + "Gt\\Json\\": "./src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Greg Bowler", + "email": "greg.bowler@g105b.com" + } + ], + "description": " Structured, type-safe, immutable JSON objects.", + "support": { + "issues": "https://github.com/PhpGt/Json/issues", + "source": "https://github.com/PhpGt/Json/tree/v1.2.1" + }, + "funding": [ + { + "url": "https://github.com/sponsors/PhpGt", + "type": "github" + } + ], + "time": "2023-07-13T13:20:08+00:00" + }, { "name": "phpgt/logger", "version": "v1.0.0", @@ -1436,6 +1731,63 @@ ], "time": "2021-09-21T14:18:11+00:00" }, + { + "name": "phpgt/promise", + "version": "v2.2.3", + "source": { + "type": "git", + "url": "https://github.com/PhpGt/Promise.git", + "reference": "907b3a450f3252077f80b50289f73ab930ca2cdc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PhpGt/Promise/zipball/907b3a450f3252077f80b50289f73ab930ca2cdc", + "reference": "907b3a450f3252077f80b50289f73ab930ca2cdc", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpmd/phpmd": "^2.13", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^10.1", + "squizlabs/php_codesniffer": "^3.7" + }, + "type": "library", + "autoload": { + "psr-4": { + "Gt\\Promise\\": "./src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Pleasantly work with asynchronous code.", + "keywords": [ + "W3C", + "async", + "asynchronous", + "callback", + "concurrency", + "concurrent", + "deferred", + "promise", + "then" + ], + "support": { + "issues": "https://github.com/PhpGt/Promise/issues", + "source": "https://github.com/PhpGt/Promise/tree/v2.2.3" + }, + "funding": [ + { + "url": "https://github.com/sponsors/PhpGt", + "type": "github" + } + ], + "time": "2023-07-01T10:59:01+00:00" + }, { "name": "phpgt/propfunc", "version": "v1.0.1", @@ -1528,30 +1880,32 @@ }, { "name": "phpgt/routing", - "version": "v1.1.0", + "version": "v1.1.1", "source": { "type": "git", "url": "https://github.com/PhpGt/Routing.git", - "reference": "72e6b4fa50a3375dba1b8529d2ecca88afe1ca7e" + "reference": "3390be9e5b5716980278822df8fc5694f2f34314" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PhpGt/Routing/zipball/72e6b4fa50a3375dba1b8529d2ecca88afe1ca7e", - "reference": "72e6b4fa50a3375dba1b8529d2ecca88afe1ca7e", + "url": "https://api.github.com/repos/PhpGt/Routing/zipball/3390be9e5b5716980278822df8fc5694f2f34314", + "reference": "3390be9e5b5716980278822df8fc5694f2f34314", "shasum": "" }, "require": { "php": ">=8.0", - "phpgt/config": "^v1.1.0", - "phpgt/http": "^v1", + "phpgt/config": "^1.1.0", + "phpgt/http": "^1", "phpgt/servicecontainer": "1.*", "phpgt/typesafegetter": "^1.2.2", - "psr/http-message": "1.*", + "psr/http-message": "^2", "willdurand/negotiation": "^3.0" }, "require-dev": { - "phpstan/phpstan": "^1.2", - "phpunit/phpunit": "^9.5" + "phpmd/phpmd": "^2.13", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^10.2", + "squizlabs/php_codesniffer": "^3.7" }, "type": "library", "autoload": { @@ -1585,7 +1939,7 @@ ], "support": { "issues": "https://github.com/PhpGt/Routing/issues", - "source": "https://github.com/PhpGt/Routing/tree/v1.1.0" + "source": "https://github.com/PhpGt/Routing/tree/v1.1.1" }, "funding": [ { @@ -1593,7 +1947,7 @@ "type": "github" } ], - "time": "2022-02-21T22:56:21+00:00" + "time": "2023-07-20T14:25:59+00:00" }, { "name": "phpgt/server", @@ -1642,16 +1996,16 @@ }, { "name": "phpgt/servicecontainer", - "version": "v1.2.1", + "version": "v1.3.2", "source": { "type": "git", "url": "https://github.com/PhpGt/ServiceContainer.git", - "reference": "653f928d8a0a658d0589135efe144520d32c2b4a" + "reference": "733778c499d0b3eb5f2c311fc64c109694dd8d22" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PhpGt/ServiceContainer/zipball/653f928d8a0a658d0589135efe144520d32c2b4a", - "reference": "653f928d8a0a658d0589135efe144520d32c2b4a", + "url": "https://api.github.com/repos/PhpGt/ServiceContainer/zipball/733778c499d0b3eb5f2c311fc64c109694dd8d22", + "reference": "733778c499d0b3eb5f2c311fc64c109694dd8d22", "shasum": "" }, "require": { @@ -1662,8 +2016,10 @@ "psr/container-implementation": "1.0" }, "require-dev": { - "phpstan/phpstan": "^v1.8", - "phpunit/phpunit": "^v9.5" + "phpmd/phpmd": "^2.13", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^10.1", + "squizlabs/php_codesniffer": "^3.7" }, "type": "library", "autoload": { @@ -1675,10 +2031,10 @@ "license": [ "MIT" ], - "description": "Centralised construction of a project's core objects.", + "description": "Centralised container of a project's core objects.", "support": { "issues": "https://github.com/PhpGt/ServiceContainer/issues", - "source": "https://github.com/PhpGt/ServiceContainer/tree/v1.2.1" + "source": "https://github.com/PhpGt/ServiceContainer/tree/v1.3.2" }, "funding": [ { @@ -1686,7 +2042,7 @@ "type": "github" } ], - "time": "2022-09-26T17:51:21+00:00" + "time": "2023-11-10T11:20:19+00:00" }, { "name": "phpgt/session", @@ -1737,26 +2093,28 @@ }, { "name": "phpgt/sync", - "version": "v1.2.9", + "version": "v1.3.0", "source": { "type": "git", "url": "https://github.com/PhpGt/Sync.git", - "reference": "9ed3ac2531d694e31dad9f049b20fe98efa25bce" + "reference": "5d1ee6aaa0b97919629c83a90745a1407ddfd66c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PhpGt/Sync/zipball/9ed3ac2531d694e31dad9f049b20fe98efa25bce", - "reference": "9ed3ac2531d694e31dad9f049b20fe98efa25bce", + "url": "https://api.github.com/repos/PhpGt/Sync/zipball/5d1ee6aaa0b97919629c83a90745a1407ddfd66c", + "reference": "5d1ee6aaa0b97919629c83a90745a1407ddfd66c", "shasum": "" }, "require": { "php": ">=8.0", - "phpgt/cli": "1.3.*", + "phpgt/cli": "^1.3", "webmozart/glob": "4.4.*" }, "require-dev": { - "phpstan/phpstan": "^0.12", - "phpunit/phpunit": "^9.5" + "phpmd/phpmd": "^2.13", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^10.1", + "squizlabs/php_codesniffer": "^3.7" }, "bin": [ "bin/sync" @@ -1781,7 +2139,7 @@ ], "support": { "issues": "https://github.com/PhpGt/Sync/issues", - "source": "https://github.com/PhpGt/Sync/tree/v1.2.9" + "source": "https://github.com/PhpGt/Sync/tree/v1.3.0" }, "funding": [ { @@ -1789,7 +2147,7 @@ "type": "github" } ], - "time": "2022-04-12T18:18:17+00:00" + "time": "2023-07-07T16:49:08+00:00" }, { "name": "phpgt/typesafegetter", @@ -1845,24 +2203,26 @@ }, { "name": "phpgt/ulid", - "version": "v1.1.1", + "version": "v1.2.1", "source": { "type": "git", "url": "https://github.com/PhpGt/Ulid.git", - "reference": "6fdbf83672c98013d530d2fb469768602b505aff" + "reference": "8026eb5ba18292e80c7fc04eb49a8aeca7fcb546" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PhpGt/Ulid/zipball/6fdbf83672c98013d530d2fb469768602b505aff", - "reference": "6fdbf83672c98013d530d2fb469768602b505aff", + "url": "https://api.github.com/repos/PhpGt/Ulid/zipball/8026eb5ba18292e80c7fc04eb49a8aeca7fcb546", + "reference": "8026eb5ba18292e80c7fc04eb49a8aeca7fcb546", "shasum": "" }, "require": { "php": ">=8.0" }, "require-dev": { - "phpstan/phpstan": "^v1.8", - "phpunit/phpunit": "^v9.5" + "phpmd/phpmd": "^2.13", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^10.3", + "squizlabs/php_codesniffer": "^3.7" }, "type": "library", "autoload": { @@ -1885,7 +2245,7 @@ "description": "Unique, lexicographically sortable identifiers.", "support": { "issues": "https://github.com/PhpGt/Ulid/issues", - "source": "https://github.com/PhpGt/Ulid/tree/v1.1.1" + "source": "https://github.com/PhpGt/Ulid/tree/v1.2.1" }, "funding": [ { @@ -1893,7 +2253,7 @@ "type": "github" } ], - "time": "2022-09-24T17:38:47+00:00" + "time": "2023-10-19T10:57:57+00:00" }, { "name": "phpgt/webengine", @@ -1901,32 +2261,32 @@ "source": { "type": "git", "url": "https://github.com/PhpGt/WebEngine.git", - "reference": "fc942c2ce8071f2f7e2082ecba8122ba9ceb58d5" + "reference": "286b4410646fd4a1f13774961c3f01e91c7b0d61" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PhpGt/WebEngine/zipball/fc942c2ce8071f2f7e2082ecba8122ba9ceb58d5", - "reference": "fc942c2ce8071f2f7e2082ecba8122ba9ceb58d5", + "url": "https://api.github.com/repos/PhpGt/WebEngine/zipball/286b4410646fd4a1f13774961c3f01e91c7b0d61", + "reference": "286b4410646fd4a1f13774961c3f01e91c7b0d61", "shasum": "" }, "require": { "ext-dom": "*", "ext-json": "*", "php": ">=8.1", - "phpgt/config": "^1.0", - "phpgt/csrf": "^1.9", - "phpgt/database": "^1.4", - "phpgt/dom": "^4.0", - "phpgt/domtemplate": "^3.2", + "phpgt/config": "^1.1", + "phpgt/csrf": "^v1.9", + "phpgt/database": "^1.5", + "phpgt/dom": "^v4.1", + "phpgt/domtemplate": "^3.3", "phpgt/gtcommand": "^1.0", - "phpgt/http": "^1.1", + "phpgt/http": "^1.2", "phpgt/logger": "^1.0", - "phpgt/protectedglobal": "^1.1", - "phpgt/routing": "^1.0", - "phpgt/servicecontainer": "^1.1", - "phpgt/session": "^1.2.1", - "phpgt/sync": "^1.2", - "phpgt/ulid": "^1.0.0", + "phpgt/protectedglobal": "^v1.1", + "phpgt/routing": "^1.1", + "phpgt/servicecontainer": "^1.3", + "phpgt/session": "^1.1", + "phpgt/sync": "^1.3", + "phpgt/ulid": "^1.0", "psr/http-server-middleware": "^1.0", "willdurand/negotiation": "^3.0" }, @@ -1968,7 +2328,7 @@ "type": "github" } ], - "time": "2023-05-25T15:21:01+00:00" + "time": "2023-11-10T15:01:21+00:00" }, { "name": "psr/container", @@ -2075,16 +2435,16 @@ }, { "name": "psr/http-message", - "version": "1.1", + "version": "2.0", "source": { "type": "git", "url": "https://github.com/php-fig/http-message.git", - "reference": "cb6ce4845ce34a8ad9e68117c10ee90a29919eba" + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/cb6ce4845ce34a8ad9e68117c10ee90a29919eba", - "reference": "cb6ce4845ce34a8ad9e68117c10ee90a29919eba", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71", "shasum": "" }, "require": { @@ -2093,7 +2453,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { @@ -2108,7 +2468,7 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], "description": "Common interface for HTTP messages", @@ -2122,9 +2482,9 @@ "response" ], "support": { - "source": "https://github.com/php-fig/http-message/tree/1.1" + "source": "https://github.com/php-fig/http-message/tree/2.0" }, - "time": "2023-04-04T09:50:52+00:00" + "time": "2023-04-04T09:54:51+00:00" }, { "name": "psr/http-server-handler", @@ -2241,16 +2601,16 @@ }, { "name": "symfony/deprecation-contracts", - "version": "v3.2.1", + "version": "v3.4.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "e2d1534420bd723d0ef5aec58a22c5fe60ce6f5e" + "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e2d1534420bd723d0ef5aec58a22c5fe60ce6f5e", - "reference": "e2d1534420bd723d0ef5aec58a22c5fe60ce6f5e", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf", + "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf", "shasum": "" }, "require": { @@ -2259,7 +2619,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.3-dev" + "dev-main": "3.4-dev" }, "thanks": { "name": "symfony/contracts", @@ -2288,7 +2648,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.2.1" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.4.0" }, "funding": [ { @@ -2304,20 +2664,20 @@ "type": "tidelift" } ], - "time": "2023-03-01T10:25:55+00:00" + "time": "2023-05-23T14:45:45+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.27.0", + "version": "v1.28.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936" + "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", - "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/6caa57379c4aec19c0a12a38b59b26487dcfe4b5", + "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5", "shasum": "" }, "require": { @@ -2326,7 +2686,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.27-dev" + "dev-main": "1.28-dev" }, "thanks": { "name": "symfony/polyfill", @@ -2371,7 +2731,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.27.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.28.0" }, "funding": [ { @@ -2387,7 +2747,7 @@ "type": "tidelift" } ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2023-01-26T09:26:14+00:00" }, { "name": "webmozart/assert", @@ -2608,25 +2968,29 @@ "packages-dev": [ { "name": "doctrine/deprecations", - "version": "v1.0.0", + "version": "1.1.2", "source": { "type": "git", "url": "https://github.com/doctrine/deprecations.git", - "reference": "0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de" + "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/deprecations/zipball/0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de", - "reference": "0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/4f2d4f2836e7ec4e7a8625e75c6aa916004db931", + "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931", "shasum": "" }, "require": { - "php": "^7.1|^8.0" + "php": "^7.1 || ^8.0" }, "require-dev": { "doctrine/coding-standard": "^9", - "phpunit/phpunit": "^7.5|^8.5|^9.5", - "psr/log": "^1|^2|^3" + "phpstan/phpstan": "1.4.10 || 1.10.15", + "phpstan/phpstan-phpunit": "^1.0", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "psalm/plugin-phpunit": "0.18.4", + "psr/log": "^1 || ^2 || ^3", + "vimeo/psalm": "4.30.0 || 5.12.0" }, "suggest": { "psr/log": "Allows logging deprecations via PSR-3 logger implementation" @@ -2645,9 +3009,9 @@ "homepage": "https://www.doctrine-project.org/", "support": { "issues": "https://github.com/doctrine/deprecations/issues", - "source": "https://github.com/doctrine/deprecations/tree/v1.0.0" + "source": "https://github.com/doctrine/deprecations/tree/1.1.2" }, - "time": "2022-05-02T15:47:09+00:00" + "time": "2023-09-27T20:04:15+00:00" }, { "name": "doctrine/instantiator", @@ -2780,16 +3144,16 @@ }, { "name": "nikic/php-parser", - "version": "v4.15.5", + "version": "v4.17.1", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "11e2663a5bc9db5d714eedb4277ee300403b4a9e" + "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/11e2663a5bc9db5d714eedb4277ee300403b4a9e", - "reference": "11e2663a5bc9db5d714eedb4277ee300403b4a9e", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d", + "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d", "shasum": "" }, "require": { @@ -2830,9 +3194,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.5" + "source": "https://github.com/nikic/PHP-Parser/tree/v4.17.1" }, - "time": "2023-05-19T20:20:00+00:00" + "time": "2023-08-13T19:53:39+00:00" }, { "name": "phar-io/manifest", @@ -3057,16 +3421,16 @@ }, { "name": "phpdocumentor/type-resolver", - "version": "1.7.1", + "version": "1.7.3", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "dfc078e8af9c99210337325ff5aa152872c98714" + "reference": "3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/dfc078e8af9c99210337325ff5aa152872c98714", - "reference": "dfc078e8af9c99210337325ff5aa152872c98714", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419", + "reference": "3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419", "shasum": "" }, "require": { @@ -3109,9 +3473,9 @@ "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", "support": { "issues": "https://github.com/phpDocumentor/TypeResolver/issues", - "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.7.1" + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.7.3" }, - "time": "2023-03-27T19:02:04+00:00" + "time": "2023-08-12T11:01:26+00:00" }, { "name": "phpspec/prophecy", @@ -3183,22 +3547,23 @@ }, { "name": "phpstan/phpdoc-parser", - "version": "1.21.0", + "version": "1.24.3", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "6df62b08faef4f899772bc7c3bbabb93d2b7a21c" + "reference": "12f01d214f1c73b9c91fdb3b1c415e4c70652083" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/6df62b08faef4f899772bc7c3bbabb93d2b7a21c", - "reference": "6df62b08faef4f899772bc7c3bbabb93d2b7a21c", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/12f01d214f1c73b9c91fdb3b1c415e4c70652083", + "reference": "12f01d214f1c73b9c91fdb3b1c415e4c70652083", "shasum": "" }, "require": { "php": "^7.2 || ^8.0" }, "require-dev": { + "doctrine/annotations": "^2.0", "nikic/php-parser": "^4.15", "php-parallel-lint/php-parallel-lint": "^1.2", "phpstan/extension-installer": "^1.0", @@ -3223,22 +3588,22 @@ "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/1.21.0" + "source": "https://github.com/phpstan/phpdoc-parser/tree/1.24.3" }, - "time": "2023-05-17T13:13:44+00:00" + "time": "2023-11-18T20:15:32+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "9.2.26", + "version": "9.2.29", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1" + "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/443bc6912c9bd5b409254a40f4b0f4ced7c80ea1", - "reference": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/6a3a87ac2bbe33b25042753df8195ba4aa534c76", + "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76", "shasum": "" }, "require": { @@ -3294,7 +3659,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.26" + "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.29" }, "funding": [ { @@ -3302,7 +3668,7 @@ "type": "github" } ], - "time": "2023-03-06T12:58:08+00:00" + "time": "2023-09-19T04:57:46+00:00" }, { "name": "phpunit/php-file-iterator", @@ -4153,16 +4519,16 @@ }, { "name": "sebastian/global-state", - "version": "5.0.5", + "version": "5.0.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2" + "reference": "bde739e7565280bda77be70044ac1047bc007e34" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/0ca8db5a5fc9c8646244e629625ac486fa286bf2", - "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bde739e7565280bda77be70044ac1047bc007e34", + "reference": "bde739e7565280bda77be70044ac1047bc007e34", "shasum": "" }, "require": { @@ -4205,7 +4571,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", - "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.5" + "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.6" }, "funding": [ { @@ -4213,7 +4579,7 @@ "type": "github" } ], - "time": "2022-02-14T08:28:10+00:00" + "time": "2023-08-02T09:26:13+00:00" }, { "name": "sebastian/lines-of-code", @@ -4613,16 +4979,16 @@ }, { "name": "theseer/tokenizer", - "version": "1.2.1", + "version": "1.2.2", "source": { "type": "git", "url": "https://github.com/theseer/tokenizer.git", - "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e" + "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e", - "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b2ad5003ca10d4ee50a12da31de12a5774ba6b96", + "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96", "shasum": "" }, "require": { @@ -4651,7 +5017,7 @@ "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", "support": { "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/1.2.1" + "source": "https://github.com/theseer/tokenizer/tree/1.2.2" }, "funding": [ { @@ -4659,7 +5025,7 @@ "type": "github" } ], - "time": "2021-07-28T10:34:58+00:00" + "time": "2023-11-20T00:12:19+00:00" } ], "aliases": [], diff --git a/page/_component/login-header.html b/page/_component/login-header.html index 57413ce..37170eb 100644 --- a/page/_component/login-header.html +++ b/page/_component/login-header.html @@ -1,3 +1,3 @@
- {{applicationName}} logo + {{applicationName}} logo
diff --git a/page/_header.html b/page/_header.html index e96964a..7bc13cd 100644 --- a/page/_header.html +++ b/page/_header.html @@ -3,7 +3,7 @@ - Authwave + Authwave diff --git a/page/login/_common.php b/page/login/_common.php new file mode 100644 index 0000000..f846f6a --- /dev/null +++ b/page/login/_common.php @@ -0,0 +1,20 @@ +getDeployment(); + $logoFilePath = "data/upload/{$deployment->application->id}/logo.svg"; + + $binder->bindKeyValue("title", "$deployment->title - Login"); + $binder->bindKeyValue("applicationName", $deployment->title); + + if(is_file($logoFilePath)) { + $binder->bindKeyValue("logoPath", "/$logoFilePath"); + } +} diff --git a/page/login/authenticate.php b/page/login/authenticate.php index 39b8c17..a3ef909 100644 --- a/page/login/authenticate.php +++ b/page/login/authenticate.php @@ -1,15 +1,16 @@ getEmail(); @@ -55,3 +56,26 @@ function do_password( $response->redirect("/login/security-check/"); } + +function do_link( + UserRepository $userRepo, + LoginSession $loginSession, + Response $response, +):void { + $email = $loginSession->getEmail(); + $deployment = $loginSession->getDeployment(); + + if($user = $userRepo->get($deployment, $email)) { + $userRepo->generateAuthCode( + $user->id, + ); + } + else { + $userRepo->create( + $deployment, + $email, + ); + } + + $response->redirect("/login/security-check/"); +} diff --git a/page/login/index.php b/page/login/index.php index d569275..204648b 100644 --- a/page/login/index.php +++ b/page/login/index.php @@ -1,6 +1,6 @@ getString("email")) { if($request->getMethod() === "GET") { diff --git a/page/login/security-check.php b/page/login/security-check.php index 8196559..bc43325 100644 --- a/page/login/security-check.php +++ b/page/login/security-check.php @@ -4,7 +4,7 @@ use Authwave\User\LoginState; use Authwave\User\UserRepository; use Gt\Dom\HTMLDocument; -use Gt\DomTemplate\DocumentBinder; +use Gt\DomTemplate\Binder; use Gt\DomTemplate\ListElementCollection; use Gt\Http\Response; use Gt\Input\Input; @@ -13,7 +13,7 @@ function go( LoginSession $loginSession, FlashSession $flash, HTMLDocument $document, - DocumentBinder $binder, + Binder $binder, ListElementCollection $listElementCollection, UserRepository $userRepo, ):void { diff --git a/page/login/success.php b/page/login/success.php index a3e863d..5a1c422 100644 --- a/page/login/success.php +++ b/page/login/success.php @@ -6,14 +6,16 @@ use Gt\Cipher\Key; use Gt\Cipher\Message\EncryptedMessage; use Gt\Cipher\Message\PlainTextMessage; -use Gt\DomTemplate\DocumentBinder; +use Gt\DomTemplate\Binder; use Gt\Http\Response; +use Gt\Input\Input; use Gt\Logger\Log; use Gt\Session\Session; function go( + Input $input, Response $response, - DocumentBinder $binder, + Binder $binder, LoginSession $loginSession, UserRepository $userRepo, Session $session, @@ -44,4 +46,8 @@ function go( $binder->bindKeyValue("returnUri", "$returnUri?$queryString"); $session->kill(); + + if(!$input->contains("debug")) { + $response->redirect("$returnUri?$queryString"); + } } diff --git a/query/user/getLatestAuthCode.sql b/query/user/getLatestAuthCode.sql index 6e90717..8904755 100644 --- a/query/user/getLatestAuthCode.sql +++ b/query/user/getLatestAuthCode.sql @@ -7,3 +7,8 @@ where userId = ? and createdAt > date_sub(now(), interval 5 minute) + +order by + createdAt desc + +limit 1