1
0
mirror of https://github.com/robonen/metr.git synced 2026-03-19 18:34:42 +00:00

Monorepo fix

This commit is contained in:
2022-05-25 22:37:52 +07:00
parent 4ae8ba4228
commit 955ec6de99
149 changed files with 479 additions and 27539 deletions

8
.idea/.gitignore generated vendored Normal file
View File

@@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml
# Editor-based HTTP Client requests
/httpRequests/

118
.idea/metr.iml generated
View File

@@ -2,9 +2,121 @@
<module type="WEB_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/backend/app" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/backend/tests" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/backend/storage" />
<sourceFolder url="file://$MODULE_DIR$/backend/app" isTestSource="false" packagePrefix="App\" />
<sourceFolder url="file://$MODULE_DIR$/backend/database/factories" isTestSource="false" packagePrefix="Database\Factories\" />
<sourceFolder url="file://$MODULE_DIR$/backend/database/seeders" isTestSource="false" packagePrefix="Database\Seeders\" />
<sourceFolder url="file://$MODULE_DIR$/backend/tests" isTestSource="true" packagePrefix="Tests\" />
<sourceFolder url="file://$MODULE_DIR$/spec" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/tests" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/brick/math" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/filp/whoops" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/sebastian/environment" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/sebastian/object-reflector" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/ramsey/uuid" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/sebastian/code-unit-reverse-lookup" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/sebastian/global-state" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/sebastian/recursion-context" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/ramsey/collection" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/sebastian/resource-operations" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/sebastian/version" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/sebastian/complexity" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/sebastian/cli-parser" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/sebastian/exporter" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/sebastian/comparator" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/guzzlehttp/psr7" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/sebastian/code-unit" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/guzzlehttp/guzzle" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/sebastian/lines-of-code" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/sebastian/object-enumerator" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/guzzlehttp/promises" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/sebastian/type" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/sebastian/diff" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/psr/log" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/psr/http-message" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/ralouphie/getallheaders" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/psr/event-dispatcher" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/psr/container" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/psr/http-client" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/psr/simple-cache" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/psr/http-factory" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/webmozart/assert" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/phpoption/phpoption" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/phpspec/prophecy" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/monolog/monolog" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/fruitcake/php-cors" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/fakerphp/faker" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/process" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/string" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/translation" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/egulias/email-validator" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/translation-contracts" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/service-contracts" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/polyfill-php81" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/http-kernel" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/var-dumper" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/http-foundation" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/console" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/event-dispatcher" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/event-dispatcher-contracts" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/polyfill-intl-idn" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/error-handler" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/phpdocumentor/type-resolver" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/polyfill-php72" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/phpdocumentor/reflection-common" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/mime" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/polyfill-ctype" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/phpdocumentor/reflection-docblock" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/polyfill-php80" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/dflydev/dot-access-data" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/mailer" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/composer" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/css-selector" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/polyfill-intl-normalizer" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/routing" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/polyfill-intl-grapheme" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/polyfill-mbstring" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/deprecation-contracts" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/finder" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/spatie/laravel-ignition" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/spatie/ignition" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/spatie/flare-client-php" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/dragonmantank/cron-expression" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/spatie/backtrace" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/league/mime-type-detection" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/league/flysystem" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/league/config" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/league/commonmark" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/tijsverkoyen/css-to-inline-styles" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/facade/ignition-contracts" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/phar-io/version" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/phar-io/manifest" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/vlucas/phpdotenv" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/doctrine/instantiator" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/doctrine/inflector" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/doctrine/lexer" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/nikic/php-parser" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/nunomaduro/collision" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/phpunit/php-file-iterator" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/phpunit/php-code-coverage" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/theseer/tokenizer" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/phpunit/php-text-template" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/nesbot/carbon" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/myclabs/deep-copy" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/phpunit/php-invoker" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/phpunit/php-timer" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/phpunit/phpunit" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/voku/portable-ascii" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/mockery/mockery" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/nette/utils" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/psy/psysh" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/nette/schema" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/graham-campbell/result-type" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/laravel/framework" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/laravel/tinker" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/laravel/serializable-closure" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/laravel/sail" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/laravel/sanctum" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/hamcrest/hamcrest-php" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />

8
.idea/modules.xml generated Normal file
View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/metr.iml" filepath="$PROJECT_DIR$/.idea/metr.iml" />
</modules>
</component>
</project>

122
.idea/php.xml generated Normal file
View File

@@ -0,0 +1,122 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="PhpIncludePathManager">
<include_path>
<path value="$PROJECT_DIR$/backend/vendor/brick/math" />
<path value="$PROJECT_DIR$/backend/vendor/filp/whoops" />
<path value="$PROJECT_DIR$/backend/vendor/sebastian/environment" />
<path value="$PROJECT_DIR$/backend/vendor/sebastian/object-reflector" />
<path value="$PROJECT_DIR$/backend/vendor/ramsey/uuid" />
<path value="$PROJECT_DIR$/backend/vendor/sebastian/code-unit-reverse-lookup" />
<path value="$PROJECT_DIR$/backend/vendor/sebastian/global-state" />
<path value="$PROJECT_DIR$/backend/vendor/sebastian/recursion-context" />
<path value="$PROJECT_DIR$/backend/vendor/ramsey/collection" />
<path value="$PROJECT_DIR$/backend/vendor/sebastian/resource-operations" />
<path value="$PROJECT_DIR$/backend/vendor/sebastian/version" />
<path value="$PROJECT_DIR$/backend/vendor/sebastian/complexity" />
<path value="$PROJECT_DIR$/backend/vendor/sebastian/cli-parser" />
<path value="$PROJECT_DIR$/backend/vendor/sebastian/exporter" />
<path value="$PROJECT_DIR$/backend/vendor/sebastian/comparator" />
<path value="$PROJECT_DIR$/backend/vendor/guzzlehttp/psr7" />
<path value="$PROJECT_DIR$/backend/vendor/sebastian/code-unit" />
<path value="$PROJECT_DIR$/backend/vendor/guzzlehttp/guzzle" />
<path value="$PROJECT_DIR$/backend/vendor/sebastian/lines-of-code" />
<path value="$PROJECT_DIR$/backend/vendor/sebastian/object-enumerator" />
<path value="$PROJECT_DIR$/backend/vendor/guzzlehttp/promises" />
<path value="$PROJECT_DIR$/backend/vendor/sebastian/type" />
<path value="$PROJECT_DIR$/backend/vendor/sebastian/diff" />
<path value="$PROJECT_DIR$/backend/vendor/psr/log" />
<path value="$PROJECT_DIR$/backend/vendor/psr/http-message" />
<path value="$PROJECT_DIR$/backend/vendor/ralouphie/getallheaders" />
<path value="$PROJECT_DIR$/backend/vendor/psr/event-dispatcher" />
<path value="$PROJECT_DIR$/backend/vendor/psr/container" />
<path value="$PROJECT_DIR$/backend/vendor/psr/http-client" />
<path value="$PROJECT_DIR$/backend/vendor/psr/simple-cache" />
<path value="$PROJECT_DIR$/backend/vendor/psr/http-factory" />
<path value="$PROJECT_DIR$/backend/vendor/webmozart/assert" />
<path value="$PROJECT_DIR$/backend/vendor/phpoption/phpoption" />
<path value="$PROJECT_DIR$/backend/vendor/phpspec/prophecy" />
<path value="$PROJECT_DIR$/backend/vendor/monolog/monolog" />
<path value="$PROJECT_DIR$/backend/vendor/fruitcake/php-cors" />
<path value="$PROJECT_DIR$/backend/vendor/fakerphp/faker" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/process" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/string" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/translation" />
<path value="$PROJECT_DIR$/backend/vendor/egulias/email-validator" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/translation-contracts" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/service-contracts" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/polyfill-php81" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/http-kernel" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/var-dumper" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/http-foundation" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/console" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/event-dispatcher" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/event-dispatcher-contracts" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/polyfill-intl-idn" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/error-handler" />
<path value="$PROJECT_DIR$/backend/vendor/phpdocumentor/type-resolver" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/polyfill-php72" />
<path value="$PROJECT_DIR$/backend/vendor/phpdocumentor/reflection-common" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/mime" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/polyfill-ctype" />
<path value="$PROJECT_DIR$/backend/vendor/phpdocumentor/reflection-docblock" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/polyfill-php80" />
<path value="$PROJECT_DIR$/backend/vendor/dflydev/dot-access-data" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/mailer" />
<path value="$PROJECT_DIR$/backend/vendor/composer" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/css-selector" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/polyfill-intl-normalizer" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/routing" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/polyfill-intl-grapheme" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/polyfill-mbstring" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/deprecation-contracts" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/finder" />
<path value="$PROJECT_DIR$/backend/vendor/spatie/laravel-ignition" />
<path value="$PROJECT_DIR$/backend/vendor/spatie/ignition" />
<path value="$PROJECT_DIR$/backend/vendor/spatie/flare-client-php" />
<path value="$PROJECT_DIR$/backend/vendor/dragonmantank/cron-expression" />
<path value="$PROJECT_DIR$/backend/vendor/spatie/backtrace" />
<path value="$PROJECT_DIR$/backend/vendor/league/mime-type-detection" />
<path value="$PROJECT_DIR$/backend/vendor/league/flysystem" />
<path value="$PROJECT_DIR$/backend/vendor/league/config" />
<path value="$PROJECT_DIR$/backend/vendor/league/commonmark" />
<path value="$PROJECT_DIR$/backend/vendor/tijsverkoyen/css-to-inline-styles" />
<path value="$PROJECT_DIR$/backend/vendor/facade/ignition-contracts" />
<path value="$PROJECT_DIR$/backend/vendor/phar-io/version" />
<path value="$PROJECT_DIR$/backend/vendor/phar-io/manifest" />
<path value="$PROJECT_DIR$/backend/vendor/vlucas/phpdotenv" />
<path value="$PROJECT_DIR$/backend/vendor/doctrine/instantiator" />
<path value="$PROJECT_DIR$/backend/vendor/doctrine/inflector" />
<path value="$PROJECT_DIR$/backend/vendor/doctrine/lexer" />
<path value="$PROJECT_DIR$/backend/vendor/nikic/php-parser" />
<path value="$PROJECT_DIR$/backend/vendor/nunomaduro/collision" />
<path value="$PROJECT_DIR$/backend/vendor/phpunit/php-file-iterator" />
<path value="$PROJECT_DIR$/backend/vendor/phpunit/php-code-coverage" />
<path value="$PROJECT_DIR$/backend/vendor/theseer/tokenizer" />
<path value="$PROJECT_DIR$/backend/vendor/phpunit/php-text-template" />
<path value="$PROJECT_DIR$/backend/vendor/nesbot/carbon" />
<path value="$PROJECT_DIR$/backend/vendor/myclabs/deep-copy" />
<path value="$PROJECT_DIR$/backend/vendor/phpunit/php-invoker" />
<path value="$PROJECT_DIR$/backend/vendor/phpunit/php-timer" />
<path value="$PROJECT_DIR$/backend/vendor/phpunit/phpunit" />
<path value="$PROJECT_DIR$/backend/vendor/voku/portable-ascii" />
<path value="$PROJECT_DIR$/backend/vendor/mockery/mockery" />
<path value="$PROJECT_DIR$/backend/vendor/nette/utils" />
<path value="$PROJECT_DIR$/backend/vendor/psy/psysh" />
<path value="$PROJECT_DIR$/backend/vendor/nette/schema" />
<path value="$PROJECT_DIR$/backend/vendor/graham-campbell/result-type" />
<path value="$PROJECT_DIR$/backend/vendor/laravel/framework" />
<path value="$PROJECT_DIR$/backend/vendor/laravel/tinker" />
<path value="$PROJECT_DIR$/backend/vendor/laravel/serializable-closure" />
<path value="$PROJECT_DIR$/backend/vendor/laravel/sail" />
<path value="$PROJECT_DIR$/backend/vendor/laravel/sanctum" />
<path value="$PROJECT_DIR$/backend/vendor/hamcrest/hamcrest-php" />
</include_path>
</component>
<component name="PhpProjectSharedConfiguration" php_language_level="8.0" />
<component name="PhpUnit">
<phpunit_settings>
<PhpUnitSettings custom_loader_path="$PROJECT_DIR$/backend/vendor/autoload.php" />
</phpunit_settings>
</component>
</project>

6
.idea/vcs.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

14
.idea/webResources.xml generated
View File

@@ -1,14 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="WebResourcesPaths">
<contentEntries>
<entry url="file://$PROJECT_DIR$">
<entryData>
<resourceRoots>
<path value="file://$PROJECT_DIR$/backend/resources" />
</resourceRoots>
</entryData>
</entry>
</contentEntries>
</component>
</project>

219
.idea/workspace.xml generated
View File

@@ -1,219 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
<list default="true" id="c4514c3f-b59d-443f-8151-439baad1fc96" name="Changes" comment="">
<change beforePath="$PROJECT_DIR$/.editorconfig" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.env.example" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.gitattributes" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.gitignore" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.styleci.yml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/README.md" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/app/Actions/Fortify/CreateNewUser.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/app/Actions/Fortify/PasswordValidationRules.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/app/Actions/Fortify/ResetUserPassword.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/app/Actions/Fortify/UpdateUserPassword.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/app/Actions/Fortify/UpdateUserProfileInformation.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/app/Console/Kernel.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/app/Exceptions/Handler.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/app/Http/Controllers/Controller.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/app/Http/Kernel.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/app/Http/Middleware/Authenticate.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/app/Http/Middleware/EncryptCookies.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/app/Http/Middleware/PreventRequestsDuringMaintenance.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/app/Http/Middleware/RedirectIfAuthenticated.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/app/Http/Middleware/TrimStrings.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/app/Http/Middleware/TrustHosts.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/app/Http/Middleware/TrustProxies.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/app/Http/Middleware/VerifyCsrfToken.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/app/Models/User.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/app/Providers/AppServiceProvider.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/app/Providers/AuthServiceProvider.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/app/Providers/BroadcastServiceProvider.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/app/Providers/EventServiceProvider.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/app/Providers/FortifyServiceProvider.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/app/Providers/RouteServiceProvider.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/artisan" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/bootstrap/app.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/bootstrap/cache/.gitignore" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/composer.json" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/composer.lock" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/config/app.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/config/auth.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/config/broadcasting.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/config/cache.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/config/cors.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/config/database.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/config/filesystems.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/config/fortify.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/config/hashing.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/config/logging.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/config/mail.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/config/queue.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/config/sanctum.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/config/services.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/config/session.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/config/view.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/database/.gitignore" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/database/factories/UserFactory.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/database/migrations/2014_10_12_000000_create_users_table.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/database/migrations/2014_10_12_100000_create_password_resets_table.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/database/migrations/2014_10_12_200000_add_two_factor_columns_to_users_table.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/database/migrations/2019_08_19_000000_create_failed_jobs_table.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/database/seeders/DatabaseSeeder.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/docker-compose.yml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/docker/7.4/Dockerfile" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/docker/7.4/php.ini" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/docker/7.4/start-container" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/docker/7.4/supervisord.conf" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/docker/8.0/Dockerfile" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/docker/8.0/php.ini" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/docker/8.0/start-container" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/docker/8.0/supervisord.conf" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/docker/8.1/Dockerfile" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/docker/8.1/php.ini" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/docker/8.1/start-container" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/docker/8.1/supervisord.conf" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/lang/en/auth.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/lang/en/pagination.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/lang/en/passwords.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/lang/en/validation.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/package.json" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/phpunit.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/public/.htaccess" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/public/css/app.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/public/favicon.ico" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/public/images/intro.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/public/images/metr.svg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/public/images/video.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/public/index.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/public/js/app.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/public/js/login.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/public/js/main_page.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/public/js/signin.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/public/logo.svg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/public/mix-manifest.json" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/public/robots.txt" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/resources/css/app.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/resources/css/auth.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/resources/css/index.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/resources/images/1.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/resources/images/2jpg.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/resources/images/3.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/resources/images/4.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/resources/images/5.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/resources/images/6.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/resources/images/image 3 (1).png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/resources/images/intro.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/resources/images/location.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/resources/images/metr.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/resources/images/metr.svg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/resources/images/search.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/resources/images/tell.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/resources/images/user.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/resources/images/video.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/resources/js/app.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/resources/js/bootstrap.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/resources/js/login.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/resources/js/main_page.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/resources/js/signin.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/resources/views/auth/login.blade.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/resources/views/auth/register.blade.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/resources/views/layouts/base.blade.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/resources/views/main.blade.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/resources/views/welcome.blade.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/routes/api.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/routes/channels.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/routes/console.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/routes/web.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/storage/app/.gitignore" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/storage/app/public/.gitignore" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/storage/framework/.gitignore" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/storage/framework/cache/.gitignore" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/storage/framework/cache/data/.gitignore" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/storage/framework/sessions/.gitignore" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/storage/framework/testing/.gitignore" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/storage/framework/views/.gitignore" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/storage/logs/.gitignore" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/tests/CreatesApplication.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/tests/Feature/ExampleTest.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/tests/TestCase.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/tests/Unit/ExampleTest.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/tmp/.github/workflows/release.yml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/tmp/.gitignore" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/tmp/assets/css/login.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/tmp/assets/css/signin.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/tmp/assets/css/style.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/tmp/fonts/Stapel/Stapel-Bold.ttf" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/tmp/fonts/Stapel/Stapel-Bold.woff" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/tmp/fonts/Stapel/Stapel-Bold.woff2" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/tmp/fonts/Stapel/stapel-semi-expanded-bold.otf" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/tmp/fonts/StapelS/Stapel-SemiExpandedBold.ttf" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/tmp/fonts/StapelS/Stapel-SemiExpandedBold.woff" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/tmp/fonts/StapelS/Stapel-SemiExpandedBold.woff2" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/tmp/fonts/StapelS/style.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/tmp/index.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/tmp/login.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/tmp/signin.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/webpack.mix.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/yarn.lock" beforeDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="ComposerSettings">
<pharConfigPath>$PROJECT_DIR$/backend/composer.json</pharConfigPath>
<execution />
</component>
<component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
</component>
<component name="ProjectId" id="29Z2xWLX6GmHX1PqytT9OyGn78F" />
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
<component name="ProjectViewState">
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent">
<property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
<property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
<property name="WebServerToolWindowFactoryState" value="false" />
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
<property name="nodejs_package_manager_path" value="yarn" />
<property name="vue.rearranger.settings.migration" value="true" />
</component>
<component name="RecentsManager">
<key name="MoveFile.RECENT_KEYS">
<recent name="\\wsl$\Ubuntu\var\www\metr\frontend" />
<recent name="\\wsl$\Ubuntu\var\www\metr" />
</key>
</component>
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="c4514c3f-b59d-443f-8151-439baad1fc96" name="Changes" comment="" />
<created>1653306533694</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1653306533694</updated>
<workItem from="1653306534835" duration="541000" />
</task>
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
<option name="version" value="3" />
</component>
<component name="Vcs.Log.Tabs.Properties">
<option name="TAB_STATES">
<map>
<entry key="MAIN">
<value>
<State />
</value>
</entry>
</map>
</option>
</component>
</project>

30
README.md Normal file
View File

@@ -0,0 +1,30 @@
# Metr
<p align="center">
<a href="https://forma-web.ru">
<img alt="Logo" src="metr/logo.svg" width="300" title="Logo">
</a>
</p>
<p align="center">
<a href="https://github.com/robonen/metr-frontend/actions">
<img src="https://github.com/robonen/metr-frontend/actions/workflows/release.yml/badge.svg" title="Release status">
</a>
<a href="https://github.com/robonen/metr-frontend/actions">
<img src="https://github.com/robonen/metr-frontend/actions/workflows/test.yml/badge.svg" title="Lint status">
</a>
<a href="https://github.com/robonen/metr-frontend/releases">
<img src="https://img.shields.io/github/v/release/robonen/metr-frontend?display_name=tag&label=Last%20Version&color=brightgreen" title="Last version">
</a>
</p>
## Github Flow ⚠
Продакшен ветка - `master`
Ветка для разработки - `dev-x.x.x`
### Порядок работы с репозиторием
- Создать ветку с версией dev-x.x.x
- После окончания работы над версией и успешным прохождением тестов выполнить слияние с master веткой
- Для создания нового релиза перейти в раздел Releases, заполнить описание версии и добавить тег

View File

@@ -1,41 +0,0 @@
<?php
namespace App\Actions\Fortify;
use App\Models\User;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;
use Illuminate\Validation\Rule;
use Laravel\Fortify\Contracts\CreatesNewUsers;
class CreateNewUser implements CreatesNewUsers
{
use PasswordValidationRules;
/**
* Validate and create a newly registered user.
*
* @param array $input
* @return \App\Models\User
*/
public function create(array $input)
{
Validator::make($input, [
'name' => ['required', 'string', 'max:255'],
'email' => [
'required',
'string',
'email',
'max:255',
Rule::unique(User::class),
],
'password' => $this->passwordRules(),
])->validate();
return User::create([
'name' => $input['name'],
'email' => $input['email'],
'password' => Hash::make($input['password']),
]);
}
}

View File

@@ -1,18 +0,0 @@
<?php
namespace App\Actions\Fortify;
use Laravel\Fortify\Rules\Password;
trait PasswordValidationRules
{
/**
* Get the validation rules used to validate passwords.
*
* @return array
*/
protected function passwordRules()
{
return ['required', 'string', new Password, 'confirmed'];
}
}

View File

@@ -1,30 +0,0 @@
<?php
namespace App\Actions\Fortify;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;
use Laravel\Fortify\Contracts\ResetsUserPasswords;
class ResetUserPassword implements ResetsUserPasswords
{
use PasswordValidationRules;
/**
* Validate and reset the user's forgotten password.
*
* @param mixed $user
* @param array $input
* @return void
*/
public function reset($user, array $input)
{
Validator::make($input, [
'password' => $this->passwordRules(),
])->validate();
$user->forceFill([
'password' => Hash::make($input['password']),
])->save();
}
}

View File

@@ -1,35 +0,0 @@
<?php
namespace App\Actions\Fortify;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;
use Laravel\Fortify\Contracts\UpdatesUserPasswords;
class UpdateUserPassword implements UpdatesUserPasswords
{
use PasswordValidationRules;
/**
* Validate and update the user's password.
*
* @param mixed $user
* @param array $input
* @return void
*/
public function update($user, array $input)
{
Validator::make($input, [
'current_password' => ['required', 'string'],
'password' => $this->passwordRules(),
])->after(function ($validator) use ($user, $input) {
if (! isset($input['current_password']) || ! Hash::check($input['current_password'], $user->password)) {
$validator->errors()->add('current_password', __('The provided password does not match your current password.'));
}
})->validateWithBag('updatePassword');
$user->forceFill([
'password' => Hash::make($input['password']),
])->save();
}
}

View File

@@ -1,61 +0,0 @@
<?php
namespace App\Actions\Fortify;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Support\Facades\Validator;
use Illuminate\Validation\Rule;
use Laravel\Fortify\Contracts\UpdatesUserProfileInformation;
class UpdateUserProfileInformation implements UpdatesUserProfileInformation
{
/**
* Validate and update the given user's profile information.
*
* @param mixed $user
* @param array $input
* @return void
*/
public function update($user, array $input)
{
Validator::make($input, [
'name' => ['required', 'string', 'max:255'],
'email' => [
'required',
'string',
'email',
'max:255',
Rule::unique('users')->ignore($user->id),
],
])->validateWithBag('updateProfileInformation');
if ($input['email'] !== $user->email &&
$user instanceof MustVerifyEmail) {
$this->updateVerifiedUser($user, $input);
} else {
$user->forceFill([
'name' => $input['name'],
'email' => $input['email'],
])->save();
}
}
/**
* Update the given verified user's profile information.
*
* @param mixed $user
* @param array $input
* @return void
*/
protected function updateVerifiedUser($user, array $input)
{
$user->forceFill([
'name' => $input['name'],
'email' => $input['email'],
'email_verified_at' => null,
])->save();
$user->sendEmailVerificationNotification();
}
}

View File

@@ -1,49 +0,0 @@
<?php
namespace App\Providers;
use App\Actions\Fortify\CreateNewUser;
use App\Actions\Fortify\ResetUserPassword;
use App\Actions\Fortify\UpdateUserPassword;
use App\Actions\Fortify\UpdateUserProfileInformation;
use Illuminate\Cache\RateLimiting\Limit;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\RateLimiter;
use Illuminate\Support\ServiceProvider;
use Laravel\Fortify\Fortify;
class FortifyServiceProvider extends ServiceProvider
{
/**
* Register any application services.
*
* @return void
*/
public function register()
{
//
}
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
Fortify::createUsersUsing(CreateNewUser::class);
Fortify::updateUserProfileInformationUsing(UpdateUserProfileInformation::class);
Fortify::updateUserPasswordsUsing(UpdateUserPassword::class);
Fortify::resetUserPasswordsUsing(ResetUserPassword::class);
RateLimiter::for('login', function (Request $request) {
$email = (string) $request->email;
return Limit::perMinute(5)->by($email.$request->ip());
});
RateLimiter::for('two-factor', function (Request $request) {
return Limit::perMinute(5)->by($request->session()->get('login.id'));
});
}
}

View File

64
backend/README.md Normal file
View File

@@ -0,0 +1,64 @@
<p align="center"><a href="https://laravel.com" target="_blank"><img src="https://raw.githubusercontent.com/laravel/art/master/logo-lockup/5%20SVG/2%20CMYK/1%20Full%20Color/laravel-logolockup-cmyk-red.svg" width="400"></a></p>
<p align="center">
<a href="https://travis-ci.org/laravel/framework"><img src="https://travis-ci.org/laravel/framework.svg" alt="Build Status"></a>
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/dt/laravel/framework" alt="Total Downloads"></a>
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/v/laravel/framework" alt="Latest Stable Version"></a>
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/l/laravel/framework" alt="License"></a>
</p>
## About Laravel
Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experience to be truly fulfilling. Laravel takes the pain out of development by easing common tasks used in many web projects, such as:
- [Simple, fast routing engine](https://laravel.com/docs/routing).
- [Powerful dependency injection container](https://laravel.com/docs/container).
- Multiple back-ends for [session](https://laravel.com/docs/session) and [cache](https://laravel.com/docs/cache) storage.
- Expressive, intuitive [database ORM](https://laravel.com/docs/eloquent).
- Database agnostic [schema migrations](https://laravel.com/docs/migrations).
- [Robust background job processing](https://laravel.com/docs/queues).
- [Real-time event broadcasting](https://laravel.com/docs/broadcasting).
Laravel is accessible, powerful, and provides tools required for large, robust applications.
## Learning Laravel
Laravel has the most extensive and thorough [documentation](https://laravel.com/docs) and video tutorial library of all modern web application frameworks, making it a breeze to get started with the framework.
If you don't feel like reading, [Laracasts](https://laracasts.com) can help. Laracasts contains over 2000 video tutorials on a range of topics including Laravel, modern PHP, unit testing, and JavaScript. Boost your skills by digging into our comprehensive video library.
## Laravel Sponsors
We would like to extend our thanks to the following sponsors for funding Laravel development. If you are interested in becoming a sponsor, please visit the Laravel [Patreon page](https://patreon.com/taylorotwell).
### Premium Partners
- **[Vehikl](https://vehikl.com/)**
- **[Tighten Co.](https://tighten.co)**
- **[Kirschbaum Development Group](https://kirschbaumdevelopment.com)**
- **[64 Robots](https://64robots.com)**
- **[Cubet Techno Labs](https://cubettech.com)**
- **[Cyber-Duck](https://cyber-duck.co.uk)**
- **[Many](https://www.many.co.uk)**
- **[Webdock, Fast VPS Hosting](https://www.webdock.io/en)**
- **[DevSquad](https://devsquad.com)**
- **[Curotec](https://www.curotec.com/services/technologies/laravel/)**
- **[OP.GG](https://op.gg)**
- **[WebReinvent](https://webreinvent.com/?utm_source=laravel&utm_medium=github&utm_campaign=patreon-sponsors)**
- **[Lendio](https://lendio.com)**
## Contributing
Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the [Laravel documentation](https://laravel.com/docs/contributions).
## Code of Conduct
In order to ensure that the Laravel community is welcoming to all, please review and abide by the [Code of Conduct](https://laravel.com/docs/contributions#code-of-conduct).
## Security Vulnerabilities
If you discover a security vulnerability within Laravel, please send an e-mail to Taylor Otwell via [taylor@laravel.com](mailto:taylor@laravel.com). All security vulnerabilities will be promptly addressed.
## License
The Laravel framework is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT).

View File

@@ -26,7 +26,7 @@ class Handler extends ExceptionHandler
];
/**
* A list of the inputs that are never flashed for validation exceptions.
* A list of the inputs that are never flashed to the session on validation exceptions.
*
* @var array<int, string>
*/

View File

@@ -8,7 +8,7 @@ use Illuminate\Support\Facades\Gate;
class AuthServiceProvider extends ServiceProvider
{
/**
* The policy mappings for the application.
* The model to policy mappings for the application.
*
* @var array<class-string, class-string>
*/

View File

@@ -10,7 +10,7 @@ use Illuminate\Support\Facades\Event;
class EventServiceProvider extends ServiceProvider
{
/**
* The event listener mappings for the application.
* The event to listener mappings for the application.
*
* @var array<class-string, array<int, class-string>>
*/

View File

@@ -13,14 +13,14 @@ class RouteServiceProvider extends ServiceProvider
/**
* The path to the "home" route for your application.
*
* This is used by Laravel authentication to redirect users after login.
* Typically, users are redirected here after authentication.
*
* @var string
*/
public const HOME = '/home';
/**
* Define your route model bindings, pattern filters, etc.
* Define your route model bindings, pattern filters, and other route configuration.
*
* @return void
*/

0
artisan → backend/artisan Executable file → Normal file
View File

View File

@@ -7,8 +7,7 @@
"require": {
"php": "^8.0.2",
"guzzlehttp/guzzle": "^7.2",
"laravel/fortify": "^1.12",
"laravel/framework": "^9.2",
"laravel/framework": "^9.11",
"laravel/sanctum": "^2.14.1",
"laravel/tinker": "^2.7"
},

View File

@@ -4,62 +4,8 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "e9c3f7493a1e3964ad3011a7d71e4259",
"content-hash": "1abc7822bd9f28e9a62986817bf04f76",
"packages": [
{
"name": "bacon/bacon-qr-code",
"version": "2.0.7",
"source": {
"type": "git",
"url": "https://github.com/Bacon/BaconQrCode.git",
"reference": "d70c840f68657ce49094b8d91f9ee0cc07fbf66c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Bacon/BaconQrCode/zipball/d70c840f68657ce49094b8d91f9ee0cc07fbf66c",
"reference": "d70c840f68657ce49094b8d91f9ee0cc07fbf66c",
"shasum": ""
},
"require": {
"dasprid/enum": "^1.0.3",
"ext-iconv": "*",
"php": "^7.1 || ^8.0"
},
"require-dev": {
"phly/keep-a-changelog": "^2.1",
"phpunit/phpunit": "^7 | ^8 | ^9",
"spatie/phpunit-snapshot-assertions": "^4.2.9",
"squizlabs/php_codesniffer": "^3.4"
},
"suggest": {
"ext-imagick": "to generate QR code images"
},
"type": "library",
"autoload": {
"psr-4": {
"BaconQrCode\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-2-Clause"
],
"authors": [
{
"name": "Ben Scholzen 'DASPRiD'",
"email": "mail@dasprids.de",
"homepage": "https://dasprids.de/",
"role": "Developer"
}
],
"description": "BaconQrCode is a QR code generator for PHP.",
"homepage": "https://github.com/Bacon/BaconQrCode",
"support": {
"issues": "https://github.com/Bacon/BaconQrCode/issues",
"source": "https://github.com/Bacon/BaconQrCode/tree/2.0.7"
},
"time": "2022-03-14T02:02:36+00:00"
},
{
"name": "brick/math",
"version": "0.9.3",
@@ -120,53 +66,6 @@
],
"time": "2021-08-15T20:50:18+00:00"
},
{
"name": "dasprid/enum",
"version": "1.0.3",
"source": {
"type": "git",
"url": "https://github.com/DASPRiD/Enum.git",
"reference": "5abf82f213618696dda8e3bf6f64dd042d8542b2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/DASPRiD/Enum/zipball/5abf82f213618696dda8e3bf6f64dd042d8542b2",
"reference": "5abf82f213618696dda8e3bf6f64dd042d8542b2",
"shasum": ""
},
"require-dev": {
"phpunit/phpunit": "^7 | ^8 | ^9",
"squizlabs/php_codesniffer": "^3.4"
},
"type": "library",
"autoload": {
"psr-4": {
"DASPRiD\\Enum\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-2-Clause"
],
"authors": [
{
"name": "Ben Scholzen 'DASPRiD'",
"email": "mail@dasprids.de",
"homepage": "https://dasprids.de/",
"role": "Developer"
}
],
"description": "PHP 7.1 enum implementation",
"keywords": [
"enum",
"map"
],
"support": {
"issues": "https://github.com/DASPRiD/Enum/issues",
"source": "https://github.com/DASPRiD/Enum/tree/1.0.3"
},
"time": "2020-10-02T16:03:48+00:00"
},
{
"name": "dflydev/dot-access-data",
"version": "v3.0.1",
@@ -673,16 +572,16 @@
},
{
"name": "guzzlehttp/guzzle",
"version": "7.4.2",
"version": "7.4.3",
"source": {
"type": "git",
"url": "https://github.com/guzzle/guzzle.git",
"reference": "ac1ec1cd9b5624694c3a40be801d94137afb12b4"
"reference": "74a8602c6faec9ef74b7a9391ac82c5e65b1cdab"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/guzzle/guzzle/zipball/ac1ec1cd9b5624694c3a40be801d94137afb12b4",
"reference": "ac1ec1cd9b5624694c3a40be801d94137afb12b4",
"url": "https://api.github.com/repos/guzzle/guzzle/zipball/74a8602c6faec9ef74b7a9391ac82c5e65b1cdab",
"reference": "74a8602c6faec9ef74b7a9391ac82c5e65b1cdab",
"shasum": ""
},
"require": {
@@ -777,7 +676,7 @@
],
"support": {
"issues": "https://github.com/guzzle/guzzle/issues",
"source": "https://github.com/guzzle/guzzle/tree/7.4.2"
"source": "https://github.com/guzzle/guzzle/tree/7.4.3"
},
"funding": [
{
@@ -793,7 +692,7 @@
"type": "tidelift"
}
],
"time": "2022-03-20T14:16:28+00:00"
"time": "2022-05-25T13:24:33+00:00"
},
{
"name": "guzzlehttp/promises",
@@ -994,81 +893,18 @@
],
"time": "2022-03-20T21:55:58+00:00"
},
{
"name": "laravel/fortify",
"version": "v1.12.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/fortify.git",
"reference": "a6caadc80e348755de0e1da221a6253d9f2c48f9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/fortify/zipball/a6caadc80e348755de0e1da221a6253d9f2c48f9",
"reference": "a6caadc80e348755de0e1da221a6253d9f2c48f9",
"shasum": ""
},
"require": {
"bacon/bacon-qr-code": "^2.0",
"ext-json": "*",
"illuminate/support": "^8.82|^9.0",
"php": "^7.3|^8.0",
"pragmarx/google2fa": "^7.0|^8.0"
},
"require-dev": {
"mockery/mockery": "^1.0",
"orchestra/testbench": "^6.0|^7.0",
"phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.x-dev"
},
"laravel": {
"providers": [
"Laravel\\Fortify\\FortifyServiceProvider"
]
}
},
"autoload": {
"psr-4": {
"Laravel\\Fortify\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Taylor Otwell",
"email": "taylor@laravel.com"
}
],
"description": "Backend controllers and scaffolding for Laravel authentication.",
"keywords": [
"auth",
"laravel"
],
"support": {
"issues": "https://github.com/laravel/fortify/issues",
"source": "https://github.com/laravel/fortify"
},
"time": "2022-03-29T14:37:05+00:00"
},
{
"name": "laravel/framework",
"version": "v9.10.1",
"version": "v9.14.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
"reference": "93414b1c7c0a56081d96c060bb850ac192d3d323"
"reference": "5356f15d008c1b23088ccf21a5fb4aa2f87af034"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/framework/zipball/93414b1c7c0a56081d96c060bb850ac192d3d323",
"reference": "93414b1c7c0a56081d96c060bb850ac192d3d323",
"url": "https://api.github.com/repos/laravel/framework/zipball/5356f15d008c1b23088ccf21a5fb4aa2f87af034",
"reference": "5356f15d008c1b23088ccf21a5fb4aa2f87af034",
"shasum": ""
},
"require": {
@@ -1234,7 +1070,7 @@
"issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework"
},
"time": "2022-04-28T13:18:25+00:00"
"time": "2022-05-24T14:03:46+00:00"
},
{
"name": "laravel/sanctum",
@@ -1303,16 +1139,16 @@
},
{
"name": "laravel/serializable-closure",
"version": "v1.1.1",
"version": "v1.2.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/serializable-closure.git",
"reference": "9e4b005daa20b0c161f3845040046dc9ddc1d74e"
"reference": "09f0e9fb61829f628205b7c94906c28740ff9540"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/serializable-closure/zipball/9e4b005daa20b0c161f3845040046dc9ddc1d74e",
"reference": "9e4b005daa20b0c161f3845040046dc9ddc1d74e",
"url": "https://api.github.com/repos/laravel/serializable-closure/zipball/09f0e9fb61829f628205b7c94906c28740ff9540",
"reference": "09f0e9fb61829f628205b7c94906c28740ff9540",
"shasum": ""
},
"require": {
@@ -1358,7 +1194,7 @@
"issues": "https://github.com/laravel/serializable-closure/issues",
"source": "https://github.com/laravel/serializable-closure"
},
"time": "2022-02-11T19:23:53+00:00"
"time": "2022-05-16T17:09:47+00:00"
},
{
"name": "laravel/tinker",
@@ -1430,16 +1266,16 @@
},
{
"name": "league/commonmark",
"version": "2.3.0",
"version": "2.3.1",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/commonmark.git",
"reference": "32a49eb2b38fe5e5c417ab748a45d0beaab97955"
"reference": "cb36fee279f7fca01d5d9399ddd1b37e48e2eca1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/commonmark/zipball/32a49eb2b38fe5e5c417ab748a45d0beaab97955",
"reference": "32a49eb2b38fe5e5c417ab748a45d0beaab97955",
"url": "https://api.github.com/repos/thephpleague/commonmark/zipball/cb36fee279f7fca01d5d9399ddd1b37e48e2eca1",
"reference": "cb36fee279f7fca01d5d9399ddd1b37e48e2eca1",
"shasum": ""
},
"require": {
@@ -1532,7 +1368,7 @@
"type": "tidelift"
}
],
"time": "2022-04-07T22:37:05+00:00"
"time": "2022-05-14T15:37:39+00:00"
},
{
"name": "league/config",
@@ -1618,16 +1454,16 @@
},
{
"name": "league/flysystem",
"version": "3.0.18",
"version": "3.0.19",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/flysystem.git",
"reference": "c8e137e594948240b03372e012344b07c61b9193"
"reference": "670df21225d68d165a8df38587ac3f41caf608f8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/c8e137e594948240b03372e012344b07c61b9193",
"reference": "c8e137e594948240b03372e012344b07c61b9193",
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/670df21225d68d165a8df38587ac3f41caf608f8",
"reference": "670df21225d68d165a8df38587ac3f41caf608f8",
"shasum": ""
},
"require": {
@@ -1688,7 +1524,7 @@
],
"support": {
"issues": "https://github.com/thephpleague/flysystem/issues",
"source": "https://github.com/thephpleague/flysystem/tree/3.0.18"
"source": "https://github.com/thephpleague/flysystem/tree/3.0.19"
},
"funding": [
{
@@ -1704,7 +1540,7 @@
"type": "tidelift"
}
],
"time": "2022-04-25T18:55:04+00:00"
"time": "2022-05-03T21:19:02+00:00"
},
{
"name": "league/mime-type-detection",
@@ -1764,16 +1600,16 @@
},
{
"name": "monolog/monolog",
"version": "2.5.0",
"version": "2.6.0",
"source": {
"type": "git",
"url": "https://github.com/Seldaek/monolog.git",
"reference": "4192345e260f1d51b365536199744b987e160edc"
"reference": "247918972acd74356b0a91dfaa5adcaec069b6c0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Seldaek/monolog/zipball/4192345e260f1d51b365536199744b987e160edc",
"reference": "4192345e260f1d51b365536199744b987e160edc",
"url": "https://api.github.com/repos/Seldaek/monolog/zipball/247918972acd74356b0a91dfaa5adcaec069b6c0",
"reference": "247918972acd74356b0a91dfaa5adcaec069b6c0",
"shasum": ""
},
"require": {
@@ -1786,18 +1622,23 @@
"require-dev": {
"aws/aws-sdk-php": "^2.4.9 || ^3.0",
"doctrine/couchdb": "~1.0@dev",
"elasticsearch/elasticsearch": "^7",
"elasticsearch/elasticsearch": "^7 || ^8",
"ext-json": "*",
"graylog2/gelf-php": "^1.4.2",
"guzzlehttp/guzzle": "^7.4",
"guzzlehttp/psr7": "^2.2",
"mongodb/mongodb": "^1.8",
"php-amqplib/php-amqplib": "~2.4 || ^3",
"php-console/php-console": "^3.1.3",
"phpspec/prophecy": "^1.6.1",
"phpspec/prophecy": "^1.15",
"phpstan/phpstan": "^0.12.91",
"phpunit/phpunit": "^8.5",
"phpunit/phpunit": "^8.5.14",
"predis/predis": "^1.1",
"rollbar/rollbar": "^1.3 || ^2 || ^3",
"ruflin/elastica": ">=0.90@dev",
"swiftmailer/swiftmailer": "^5.3|^6.0"
"ruflin/elastica": "^7",
"swiftmailer/swiftmailer": "^5.3|^6.0",
"symfony/mailer": "^5.4 || ^6",
"symfony/mime": "^5.4 || ^6"
},
"suggest": {
"aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB",
@@ -1847,7 +1688,7 @@
],
"support": {
"issues": "https://github.com/Seldaek/monolog/issues",
"source": "https://github.com/Seldaek/monolog/tree/2.5.0"
"source": "https://github.com/Seldaek/monolog/tree/2.6.0"
},
"funding": [
{
@@ -1859,20 +1700,20 @@
"type": "tidelift"
}
],
"time": "2022-04-08T15:43:54+00:00"
"time": "2022-05-10T09:36:00+00:00"
},
{
"name": "nesbot/carbon",
"version": "2.57.0",
"version": "2.58.0",
"source": {
"type": "git",
"url": "https://github.com/briannesbitt/Carbon.git",
"reference": "4a54375c21eea4811dbd1149fe6b246517554e78"
"reference": "97a34af22bde8d0ac20ab34b29d7bfe360902055"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/4a54375c21eea4811dbd1149fe6b246517554e78",
"reference": "4a54375c21eea4811dbd1149fe6b246517554e78",
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/97a34af22bde8d0ac20ab34b29d7bfe360902055",
"reference": "97a34af22bde8d0ac20ab34b29d7bfe360902055",
"shasum": ""
},
"require": {
@@ -1890,7 +1731,8 @@
"phpmd/phpmd": "^2.9",
"phpstan/extension-installer": "^1.0",
"phpstan/phpstan": "^0.12.54 || ^1.0",
"phpunit/phpunit": "^7.5.20 || ^8.5.14",
"phpunit/php-file-iterator": "^2.0.5",
"phpunit/phpunit": "^7.5.20 || ^8.5.23",
"squizlabs/php_codesniffer": "^3.4"
},
"bin": [
@@ -1955,7 +1797,7 @@
"type": "tidelift"
}
],
"time": "2022-02-13T18:13:33+00:00"
"time": "2022-04-25T19:31:17+00:00"
},
{
"name": "nette/schema",
@@ -2160,73 +2002,6 @@
},
"time": "2021-11-30T19:35:32+00:00"
},
{
"name": "paragonie/constant_time_encoding",
"version": "v2.5.0",
"source": {
"type": "git",
"url": "https://github.com/paragonie/constant_time_encoding.git",
"reference": "9229e15f2e6ba772f0c55dd6986c563b937170a8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/9229e15f2e6ba772f0c55dd6986c563b937170a8",
"reference": "9229e15f2e6ba772f0c55dd6986c563b937170a8",
"shasum": ""
},
"require": {
"php": "^7|^8"
},
"require-dev": {
"phpunit/phpunit": "^6|^7|^8|^9",
"vimeo/psalm": "^1|^2|^3|^4"
},
"type": "library",
"autoload": {
"psr-4": {
"ParagonIE\\ConstantTime\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Paragon Initiative Enterprises",
"email": "security@paragonie.com",
"homepage": "https://paragonie.com",
"role": "Maintainer"
},
{
"name": "Steve 'Sc00bz' Thomas",
"email": "steve@tobtu.com",
"homepage": "https://www.tobtu.com",
"role": "Original Developer"
}
],
"description": "Constant-time Implementations of RFC 4648 Encoding (Base-64, Base-32, Base-16)",
"keywords": [
"base16",
"base32",
"base32_decode",
"base32_encode",
"base64",
"base64_decode",
"base64_encode",
"bin2hex",
"encoding",
"hex",
"hex2bin",
"rfc4648"
],
"support": {
"email": "info@paragonie.com",
"issues": "https://github.com/paragonie/constant_time_encoding/issues",
"source": "https://github.com/paragonie/constant_time_encoding"
},
"time": "2022-01-17T05:32:27+00:00"
},
{
"name": "phpoption/phpoption",
"version": "1.8.1",
@@ -2298,58 +2073,6 @@
],
"time": "2021-12-04T23:24:31+00:00"
},
{
"name": "pragmarx/google2fa",
"version": "8.0.0",
"source": {
"type": "git",
"url": "https://github.com/antonioribeiro/google2fa.git",
"reference": "26c4c5cf30a2844ba121760fd7301f8ad240100b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/antonioribeiro/google2fa/zipball/26c4c5cf30a2844ba121760fd7301f8ad240100b",
"reference": "26c4c5cf30a2844ba121760fd7301f8ad240100b",
"shasum": ""
},
"require": {
"paragonie/constant_time_encoding": "^1.0|^2.0",
"php": "^7.1|^8.0"
},
"require-dev": {
"phpstan/phpstan": "^0.12.18",
"phpunit/phpunit": "^7.5.15|^8.5|^9.0"
},
"type": "library",
"autoload": {
"psr-4": {
"PragmaRX\\Google2FA\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Antonio Carlos Ribeiro",
"email": "acr@antoniocarlosribeiro.com",
"role": "Creator & Designer"
}
],
"description": "A One Time Password Authentication package, compatible with Google Authenticator.",
"keywords": [
"2fa",
"Authentication",
"Two Factor Authentication",
"google2fa"
],
"support": {
"issues": "https://github.com/antonioribeiro/google2fa/issues",
"source": "https://github.com/antonioribeiro/google2fa/tree/8.0.0"
},
"time": "2020-04-05T10:47:18+00:00"
},
{
"name": "psr/container",
"version": "2.0.2",
@@ -2716,16 +2439,16 @@
},
{
"name": "psy/psysh",
"version": "v0.11.2",
"version": "v0.11.4",
"source": {
"type": "git",
"url": "https://github.com/bobthecow/psysh.git",
"reference": "7f7da640d68b9c9fec819caae7c744a213df6514"
"reference": "05c544b339b112226ad14803e1e5b09a61957454"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/bobthecow/psysh/zipball/7f7da640d68b9c9fec819caae7c744a213df6514",
"reference": "7f7da640d68b9c9fec819caae7c744a213df6514",
"url": "https://api.github.com/repos/bobthecow/psysh/zipball/05c544b339b112226ad14803e1e5b09a61957454",
"reference": "05c544b339b112226ad14803e1e5b09a61957454",
"shasum": ""
},
"require": {
@@ -2740,15 +2463,13 @@
"symfony/console": "4.4.37 || 5.3.14 || 5.3.15 || 5.4.3 || 5.4.4 || 6.0.3 || 6.0.4"
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.2",
"hoa/console": "3.17.05.02"
"bamarni/composer-bin-plugin": "^1.2"
},
"suggest": {
"ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)",
"ext-pdo-sqlite": "The doc command requires SQLite to work.",
"ext-posix": "If you have PCNTL, you'll want the POSIX extension as well.",
"ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history.",
"hoa/console": "A pure PHP readline implementation. You'll want this if your PHP install doesn't already support readline or libedit."
"ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history."
},
"bin": [
"bin/psysh"
@@ -2788,9 +2509,9 @@
],
"support": {
"issues": "https://github.com/bobthecow/psysh/issues",
"source": "https://github.com/bobthecow/psysh/tree/v0.11.2"
"source": "https://github.com/bobthecow/psysh/tree/v0.11.4"
},
"time": "2022-02-28T15:28:54+00:00"
"time": "2022-05-06T12:49:14+00:00"
},
{
"name": "ralouphie/getallheaders",
@@ -5679,16 +5400,16 @@
},
{
"name": "laravel/sail",
"version": "v1.14.0",
"version": "v1.14.7",
"source": {
"type": "git",
"url": "https://github.com/laravel/sail.git",
"reference": "453c66fde4109eb49e12299ffe3bf0d667983447"
"reference": "c049316f9bcb02598607307f18b514b66202b639"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/sail/zipball/453c66fde4109eb49e12299ffe3bf0d667983447",
"reference": "453c66fde4109eb49e12299ffe3bf0d667983447",
"url": "https://api.github.com/repos/laravel/sail/zipball/c049316f9bcb02598607307f18b514b66202b639",
"reference": "c049316f9bcb02598607307f18b514b66202b639",
"shasum": ""
},
"require": {
@@ -5735,7 +5456,7 @@
"issues": "https://github.com/laravel/sail/issues",
"source": "https://github.com/laravel/sail"
},
"time": "2022-04-27T13:10:22+00:00"
"time": "2022-05-21T17:14:14+00:00"
},
{
"name": "mockery/mockery",
@@ -7742,16 +7463,16 @@
},
{
"name": "spatie/flare-client-php",
"version": "1.1.0",
"version": "1.2.0",
"source": {
"type": "git",
"url": "https://github.com/spatie/flare-client-php.git",
"reference": "ceab058852a1278d9f57a7b95f1c348e4956d866"
"reference": "86a380f5b1ce839af04a08f1c8f2697184cdf23f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/spatie/flare-client-php/zipball/ceab058852a1278d9f57a7b95f1c348e4956d866",
"reference": "ceab058852a1278d9f57a7b95f1c348e4956d866",
"url": "https://api.github.com/repos/spatie/flare-client-php/zipball/86a380f5b1ce839af04a08f1c8f2697184cdf23f",
"reference": "86a380f5b1ce839af04a08f1c8f2697184cdf23f",
"shasum": ""
},
"require": {
@@ -7772,6 +7493,11 @@
"spatie/phpunit-snapshot-assertions": "^4.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.1.x-dev"
}
},
"autoload": {
"files": [
"src/helpers.php"
@@ -7794,7 +7520,7 @@
],
"support": {
"issues": "https://github.com/spatie/flare-client-php/issues",
"source": "https://github.com/spatie/flare-client-php/tree/1.1.0"
"source": "https://github.com/spatie/flare-client-php/tree/1.2.0"
},
"funding": [
{
@@ -7802,20 +7528,20 @@
"type": "github"
}
],
"time": "2022-03-11T13:21:28+00:00"
"time": "2022-05-16T12:13:39+00:00"
},
{
"name": "spatie/ignition",
"version": "1.2.9",
"version": "1.3.1",
"source": {
"type": "git",
"url": "https://github.com/spatie/ignition.git",
"reference": "db25202fab2d5c14613b8914a1bb374998bbf870"
"reference": "997363fbcce809b1e55f571997d49017f9c623d9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/spatie/ignition/zipball/db25202fab2d5c14613b8914a1bb374998bbf870",
"reference": "db25202fab2d5c14613b8914a1bb374998bbf870",
"url": "https://api.github.com/repos/spatie/ignition/zipball/997363fbcce809b1e55f571997d49017f9c623d9",
"reference": "997363fbcce809b1e55f571997d49017f9c623d9",
"shasum": ""
},
"require": {
@@ -7836,6 +7562,11 @@
"symfony/process": "^5.4|^6.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.2.x-dev"
}
},
"autoload": {
"psr-4": {
"Spatie\\Ignition\\": "src"
@@ -7872,20 +7603,20 @@
"type": "github"
}
],
"time": "2022-04-23T20:37:21+00:00"
"time": "2022-05-16T13:16:07+00:00"
},
{
"name": "spatie/laravel-ignition",
"version": "1.2.2",
"version": "1.2.3",
"source": {
"type": "git",
"url": "https://github.com/spatie/laravel-ignition.git",
"reference": "924d1ae878874ad0bb49f63b69a9af759a34ee78"
"reference": "51e5daaa7e43c154fe57f1ddfbba862f9fe57646"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/924d1ae878874ad0bb49f63b69a9af759a34ee78",
"reference": "924d1ae878874ad0bb49f63b69a9af759a34ee78",
"url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/51e5daaa7e43c154fe57f1ddfbba862f9fe57646",
"reference": "51e5daaa7e43c154fe57f1ddfbba862f9fe57646",
"shasum": ""
},
"require": {
@@ -7962,7 +7693,7 @@
"type": "github"
}
],
"time": "2022-04-14T18:04:51+00:00"
"time": "2022-05-05T15:53:24+00:00"
},
{
"name": "theseer/tokenizer",
@@ -8024,5 +7755,5 @@
"php": "^8.0.2"
},
"platform-dev": [],
"plugin-api-version": "2.3.0"
"plugin-api-version": "2.1.0"
}

View File

@@ -30,7 +30,10 @@ return [
|
*/
'deprecations' => env('LOG_DEPRECATIONS_CHANNEL', 'null'),
'deprecations' => [
'channel' => env('LOG_DEPRECATIONS_CHANNEL', 'null'),
'trace' => false,
],
/*
|--------------------------------------------------------------------------

View File

@@ -42,6 +42,7 @@ return [
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
'timeout' => null,
'local_domain' => env('MAIL_EHLO_DOMAIN'),
],
'ses' => [

View File

@@ -15,15 +15,11 @@ return new class extends Migration
{
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->string('first_name');
$table->string('last_name');
$table->string('middle_name')->nullable();
$table->string('photo')->nullable();
$table->string('name');
$table->string('email')->unique();
$table->string('phone')->unique()->nullable();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->rememberToken();
$table->timestamp('email_verified_at')->nullable();
$table->timestamps();
});
}

View File

@@ -15,5 +15,10 @@ class DatabaseSeeder extends Seeder
public function run()
{
// \App\Models\User::factory(10)->create();
// \App\Models\User::factory()->create([
// 'name' => 'Test User',
// 'email' => 'test@example.com',
// ]);
}
}

View File

@@ -3,7 +3,7 @@ version: '3'
services:
laravel.test:
build:
context: ./docker/8.1
context: ./vendor/laravel/sail/runtimes/8.1
dockerfile: Dockerfile
args:
WWWGROUP: '${WWWGROUP}'
@@ -12,6 +12,7 @@ services:
- 'host.docker.internal:host-gateway'
ports:
- '${APP_PORT:-80}:80'
- '${HMR_PORT:-8080}:8080'
environment:
WWWUSER: '${WWWUSER}'
LARAVEL_SAIL: 1

View File

@@ -101,10 +101,10 @@ return [
'not_regex' => 'The :attribute format is invalid.',
'numeric' => 'The :attribute must be a number.',
'password' => [
'mixed' => 'The :attribute must contain at least one uppercase and one lowercase letter.',
'letters' => 'The :attribute must contain at least one letter.',
'symbols' => 'The :attribute must contain at least one symbol.',
'mixed' => 'The :attribute must contain at least one uppercase and one lowercase letter.',
'numbers' => 'The :attribute must contain at least one number.',
'symbols' => 'The :attribute must contain at least one symbol.',
'uncompromised' => 'The given :attribute has appeared in a data leak. Please choose a different :attribute.',
],
'present' => 'The :attribute field must be present.',

View File

@@ -13,3 +13,7 @@ use Illuminate\Support\Facades\Route;
| is assigned the "api" middleware group. Enjoy building your API!
|
*/
Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
return $request->user();
});

View File

@@ -13,7 +13,6 @@ use Illuminate\Support\Facades\Route;
|
*/
Route::view('/', 'main');
Route::view('/login', 'auth.login')->name('auth.login');
Route::view('/register', 'auth.register')->name('auth.register');
Route::get('/', function () {
return view('welcome');
});

View File

@@ -11,5 +11,7 @@ const mix = require('laravel-mix');
|
*/
// mix.js('resources/js/app.js', 'public/js')
mix.postCss('resources/css/app.css', 'public/css/');
mix.js('resources/js/app.js', 'public/js')
.postCss('resources/css/app.css', 'public/css', [
//
]);

View File

@@ -1,146 +0,0 @@
<?php
use App\Providers\RouteServiceProvider;
use Laravel\Fortify\Features;
return [
/*
|--------------------------------------------------------------------------
| Fortify Guard
|--------------------------------------------------------------------------
|
| Here you may specify which authentication guard Fortify will use while
| authenticating users. This value should correspond with one of your
| guards that is already present in your "auth" configuration file.
|
*/
'guard' => 'web',
/*
|--------------------------------------------------------------------------
| Fortify Password Broker
|--------------------------------------------------------------------------
|
| Here you may specify which password broker Fortify can use when a user
| is resetting their password. This configured value should match one
| of your password brokers setup in your "auth" configuration file.
|
*/
'passwords' => 'users',
/*
|--------------------------------------------------------------------------
| Username / Email
|--------------------------------------------------------------------------
|
| This value defines which model attribute should be considered as your
| application's "username" field. Typically, this might be the email
| address of the users but you are free to change this value here.
|
| Out of the box, Fortify expects forgot password and reset password
| requests to have a field named 'email'. If the application uses
| another name for the field you may define it below as needed.
|
*/
'username' => 'email',
'email' => 'email',
/*
|--------------------------------------------------------------------------
| Home Path
|--------------------------------------------------------------------------
|
| Here you may configure the path where users will get redirected during
| authentication or password reset when the operations are successful
| and the user is authenticated. You are free to change this value.
|
*/
'home' => RouteServiceProvider::HOME,
/*
|--------------------------------------------------------------------------
| Fortify Routes Prefix / Subdomain
|--------------------------------------------------------------------------
|
| Here you may specify which prefix Fortify will assign to all the routes
| that it registers with the application. If necessary, you may change
| subdomain under which all of the Fortify routes will be available.
|
*/
'prefix' => '',
'domain' => null,
/*
|--------------------------------------------------------------------------
| Fortify Routes Middleware
|--------------------------------------------------------------------------
|
| Here you may specify which middleware Fortify will assign to the routes
| that it registers with the application. If necessary, you may change
| these middleware but typically this provided default is preferred.
|
*/
'middleware' => ['web'],
/*
|--------------------------------------------------------------------------
| Rate Limiting
|--------------------------------------------------------------------------
|
| By default, Fortify will throttle logins to five requests per minute for
| every email and IP address combination. However, if you would like to
| specify a custom rate limiter to call then you may specify it here.
|
*/
'limiters' => [
'login' => 'login',
'two-factor' => 'two-factor',
],
/*
|--------------------------------------------------------------------------
| Register View Routes
|--------------------------------------------------------------------------
|
| Here you may specify if the routes returning views should be disabled as
| you may not need them when building your own application. This may be
| especially true if you're writing a custom single-page application.
|
*/
'views' => true,
/*
|--------------------------------------------------------------------------
| Features
|--------------------------------------------------------------------------
|
| Some of the Fortify features are optional. You may disable the features
| by removing them from this array. You're free to only remove some of
| these features or you can even remove all of these if you need to.
|
*/
'features' => [
Features::registration(),
Features::resetPasswords(),
// Features::emailVerification(),
Features::updateProfileInformation(),
Features::updatePasswords(),
Features::twoFactorAuthentication([
'confirm' => true,
'confirmPassword' => true,
]),
],
];

View File

@@ -1,50 +0,0 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
use Laravel\Fortify\Fortify;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('users', function (Blueprint $table) {
$table->text('two_factor_secret')
->after('password')
->nullable();
$table->text('two_factor_recovery_codes')
->after('two_factor_secret')
->nullable();
if (Fortify::confirmsTwoFactorAuthentication()) {
$table->timestamp('two_factor_confirmed_at')
->after('two_factor_recovery_codes')
->nullable();
}
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('users', function (Blueprint $table) {
$table->dropColumn(array_merge([
'two_factor_secret',
'two_factor_recovery_codes',
], Fortify::confirmsTwoFactorAuthentication() ? [
'two_factor_confirmed_at',
] : []));
});
}
};

Some files were not shown because too many files have changed in this diff Show More