TD-322: [BACK]. [реализовать сервис для подписания документов в контейнере signer]

This commit is contained in:
cherednik 2024-10-11 17:25:47 +04:00
parent d4c3146c02
commit e42e611f29
11 changed files with 25 additions and 282 deletions

25
.gitignore vendored
View File

@ -1,3 +1,26 @@
.DS_Store
.vscode
.idea
/.idea/
/.phpunit.cache
/node_modules
/public/build
/public/hot
/public/storage
/storage/*.key
/vendor
.env
.env.backup
.env.production
.phpactor.json
.phpunit.result.cache
Homestead.json
Homestead.yaml
auth.json
npm-debug.log
yarn-error.log
/.fleet
/.idea
/.vscode
/.php-cs-fixer.php
/.php-cs-fixer.cache
.php_cs.cache

8
.idea/.gitignore vendored
View File

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

View File

@ -1,18 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Codeception">
<option name="configurations">
<list>
<Configuration>
<option name="path" value="$PROJECT_DIR$/tests" />
</Configuration>
<Configuration>
<option name="path" value="$PROJECT_DIR$/backend/tests" />
</Configuration>
<Configuration>
<option name="path" value="$PROJECT_DIR$/backend/tests" />
</Configuration>
</list>
</option>
</component>
</project>

View File

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GitToolBoxBlameSettings">
<option name="version" value="2" />
</component>
</project>

View File

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

View File

@ -1,113 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="MessDetectorOptionsConfiguration">
<option name="transferred" value="true" />
</component>
<component name="PHPCSFixerOptionsConfiguration">
<option name="transferred" value="true" />
</component>
<component name="PHPCodeSnifferOptionsConfiguration">
<option name="highlightLevel" value="WARNING" />
<option name="transferred" value="true" />
</component>
<component name="PhpIncludePathManager">
<include_path>
<path value="$PROJECT_DIR$/backend/vendor/symfony/service-contracts" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/dotenv" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/security-http" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/string" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/polyfill-intl-grapheme" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/twig-bridge" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/var-dumper" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/event-dispatcher-contracts" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/stopwatch" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/console" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/finder" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/polyfill-mbstring" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/ux-chartjs" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/var-exporter" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/http-kernel" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/framework-bundle" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/event-dispatcher" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/polyfill-php81" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/security-core" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/security-bundle" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/polyfill-php80" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/polyfill-intl-normalizer" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/polyfill-uuid" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/cache" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/process" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/twig-bundle" />
<path value="$PROJECT_DIR$/backend/vendor/doctrine/common" />
<path value="$PROJECT_DIR$/backend/vendor/doctrine/doctrine-migrations-bundle" />
<path value="$PROJECT_DIR$/backend/vendor/doctrine/inflector" />
<path value="$PROJECT_DIR$/backend/vendor/doctrine/annotations" />
<path value="$PROJECT_DIR$/backend/vendor/doctrine/event-manager" />
<path value="$PROJECT_DIR$/backend/vendor/doctrine/doctrine-bundle" />
<path value="$PROJECT_DIR$/backend/vendor/doctrine/sql-formatter" />
<path value="$PROJECT_DIR$/backend/vendor/doctrine/instantiator" />
<path value="$PROJECT_DIR$/backend/vendor/doctrine/orm" />
<path value="$PROJECT_DIR$/backend/vendor/doctrine/lexer" />
<path value="$PROJECT_DIR$/backend/vendor/doctrine/cache" />
<path value="$PROJECT_DIR$/backend/vendor/easycorp/easyadmin-bundle" />
<path value="$PROJECT_DIR$/backend/vendor/doctrine/persistence" />
<path value="$PROJECT_DIR$/backend/vendor/doctrine/dbal" />
<path value="$PROJECT_DIR$/backend/vendor/doctrine/deprecations" />
<path value="$PROJECT_DIR$/backend/vendor/doctrine/collections" />
<path value="$PROJECT_DIR$/backend/vendor/doctrine/migrations" />
<path value="$PROJECT_DIR$/backend/vendor/composer" />
<path value="$PROJECT_DIR$/backend/vendor/psr/cache" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/validator" />
<path value="$PROJECT_DIR$/backend/vendor/nikic/php-parser" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/stimulus-bundle" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/doctrine-bridge" />
<path value="$PROJECT_DIR$/backend/vendor/psr/log" />
<path value="$PROJECT_DIR$/backend/vendor/psr/event-dispatcher" />
<path value="$PROJECT_DIR$/backend/vendor/twig/twig" />
<path value="$PROJECT_DIR$/backend/vendor/psr/container" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/translation-contracts" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/filesystem" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/translation" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/asset" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/polyfill-intl-icu" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/property-access" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/yaml" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/password-hasher" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/dependency-injection" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/form" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/options-resolver" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/config" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/deprecation-contracts" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/intl" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/http-foundation" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/error-handler" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/maker-bundle" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/routing" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/property-info" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/security-csrf" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/runtime" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/uid" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/flex" />
<path value="$PROJECT_DIR$/backend/vendor/symfony/cache-contracts" />
<path value="$PROJECT_DIR$/backend/vendor/psr/http-message" />
<path value="$PROJECT_DIR$/backend/vendor/psr/http-factory" />
<path value="$PROJECT_DIR$/backend/vendor/guzzlehttp/psr7" />
<path value="$PROJECT_DIR$/backend/vendor/guzzlehttp/guzzle" />
<path value="$PROJECT_DIR$/backend/vendor/guzzlehttp/promises" />
<path value="$PROJECT_DIR$/backend/vendor/psr/http-client" />
<path value="$PROJECT_DIR$/backend/vendor/ralouphie/getallheaders" />
</include_path>
</component>
<component name="PhpProjectSharedConfiguration" php_language_level="8.3" />
<component name="PhpStanOptionsConfiguration">
<option name="transferred" value="true" />
</component>
<component name="PhpUnit">
<phpunit_settings>
<PhpUnitSettings custom_loader_path="$PROJECT_DIR$/backend/vendor/autoload.php" />
</phpunit_settings>
</component>
<component name="PsalmOptionsConfiguration">
<option name="transferred" value="true" />
</component>
</project>

View File

@ -1,16 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="PHPSpec">
<suites>
<PhpSpecSuiteConfiguration>
<option name="myPath" value="$PROJECT_DIR$" />
</PhpSpecSuiteConfiguration>
<PhpSpecSuiteConfiguration>
<option name="myPath" value="$PROJECT_DIR$/backend" />
</PhpSpecSuiteConfiguration>
<PhpSpecSuiteConfiguration>
<option name="myPath" value="$PROJECT_DIR$/backend" />
</PhpSpecSuiteConfiguration>
</suites>
</component>
</project>

View File

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="PHPUnit">
<option name="directories">
<list>
<option value="$PROJECT_DIR$/backend/tests" />
</list>
</option>
</component>
</project>

View File

@ -1,95 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/backend/src" isTestSource="false" packagePrefix="App\" />
<sourceFolder url="file://$MODULE_DIR$/backend/tests" isTestSource="true" packagePrefix="App\Tests\" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/composer" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/doctrine/annotations" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/doctrine/cache" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/doctrine/collections" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/doctrine/common" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/doctrine/dbal" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/doctrine/deprecations" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/doctrine/doctrine-bundle" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/doctrine/doctrine-migrations-bundle" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/doctrine/event-manager" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/doctrine/inflector" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/doctrine/instantiator" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/doctrine/lexer" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/doctrine/migrations" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/doctrine/orm" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/doctrine/persistence" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/doctrine/sql-formatter" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/easycorp/easyadmin-bundle" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/nikic/php-parser" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/psr/cache" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/psr/container" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/psr/event-dispatcher" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/psr/log" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/asset" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/cache" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/cache-contracts" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/config" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/console" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/dependency-injection" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/deprecation-contracts" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/doctrine-bridge" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/dotenv" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/error-handler" />
<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/filesystem" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/finder" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/flex" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/form" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/framework-bundle" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/http-foundation" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/http-kernel" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/intl" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/maker-bundle" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/options-resolver" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/password-hasher" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/polyfill-intl-grapheme" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/polyfill-intl-icu" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/polyfill-intl-normalizer" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/polyfill-mbstring" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/polyfill-php80" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/polyfill-php81" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/polyfill-uuid" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/process" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/property-access" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/property-info" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/routing" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/runtime" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/security-bundle" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/security-core" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/security-csrf" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/security-http" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/service-contracts" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/stimulus-bundle" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/stopwatch" />
<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/symfony/translation-contracts" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/twig-bridge" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/twig-bundle" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/uid" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/ux-chartjs" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/validator" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/var-dumper" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/var-exporter" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/symfony/yaml" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/twig/twig" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/guzzlehttp/guzzle" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/guzzlehttp/promises" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/guzzlehttp/psr7" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/psr/http-client" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/psr/http-factory" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/psr/http-message" />
<excludeFolder url="file://$MODULE_DIR$/backend/vendor/ralouphie/getallheaders" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

View File

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

View File

@ -22,7 +22,7 @@ class SignController extends AbstractController
){
}
#[Route(path: '/sign', name: 'app.test', methods: ['POST'])]
#[Route(path: '/sign', name: 'app.sign', methods: ['POST'])]
public function __invoke(Request $request, SignRequest $signRequest): Response
{
if ($signRequest->apiKey !== self::API_KEY) {