From 7861eaf5db5dae4d9a60095d6bd75ea7741ace62 Mon Sep 17 00:00:00 2001 From: Vincent Date: Mon, 26 Aug 2024 14:02:12 +0200 Subject: [PATCH] feat: some stuff --- assets/components/tracking/ConnectorForm.tsx | 16 ++++++++++++++++ assets/utils/providers/index.tsx | 2 +- config/services.yaml | 4 +++- package.json | 3 ++- .../ProcessDomainTriggerHandler.php | 5 +++-- src/Security/JWTAuthenticator.php | 2 +- src/Service/Connector/NamecheapConnector.php | 5 +++-- src/Service/RDAPService.php | 1 + 8 files changed, 30 insertions(+), 8 deletions(-) diff --git a/assets/components/tracking/ConnectorForm.tsx b/assets/components/tracking/ConnectorForm.tsx index 738a441..c97b732 100644 --- a/assets/components/tracking/ConnectorForm.tsx +++ b/assets/components/tracking/ConnectorForm.tsx @@ -132,6 +132,22 @@ export function ConnectorForm({form, onCreate}: { form: FormInstance, onCreate: } + { + provider === ConnectorProvider.NAMECHEAP && <> + + + + + + + + } { provider !== undefined && <> diff --git a/assets/utils/providers/index.tsx b/assets/utils/providers/index.tsx index ce6beb1..7631cec 100644 --- a/assets/utils/providers/index.tsx +++ b/assets/utils/providers/index.tsx @@ -16,7 +16,7 @@ export const helpGetTokenLink = (provider?: string) => { {t`Retrieve a Personal Access Token from your customer account on the Provider's website`} case ConnectorProvider.NAMECHEAP: - return + return {t`Retreive an API key and whitelist this instance's IP address on Namecheap's website`} default: diff --git a/config/services.yaml b/config/services.yaml index ac49546..c7dffa1 100644 --- a/config/services.yaml +++ b/config/services.yaml @@ -13,6 +13,8 @@ parameters: limit_max_watchlist: '%env(int:LIMIT_MAX_WATCHLIST)%' limit_max_watchlist_domains: '%env(int:LIMIT_MAX_WATCHLIST_DOMAINS)%' + outgoing_ip: '%env(string:OUTGOING_IP)%' + services: # default configuration for services in *this* file _defaults: @@ -21,7 +23,7 @@ services: bind: $mailerSenderEmail: '%mailer_sender_email%' $mailerSenderName: '%mailer_sender_name%' - $outgoingIp: '%env(string:OUTGOING_IP)%' + $outgoingIp: '%outgoing_ip%' # makes classes in src/ available to be used as services # this creates a service per class whose id is the fully-qualified class name diff --git a/package.json b/package.json index b4d3eed..1b22f63 100644 --- a/package.json +++ b/package.json @@ -60,5 +60,6 @@ }, "dependencies": { "remove": "^0.1.5" - } + }, + "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e" } diff --git a/src/MessageHandler/ProcessDomainTriggerHandler.php b/src/MessageHandler/ProcessDomainTriggerHandler.php index 78ac52d..2ddd606 100644 --- a/src/MessageHandler/ProcessDomainTriggerHandler.php +++ b/src/MessageHandler/ProcessDomainTriggerHandler.php @@ -73,9 +73,10 @@ final readonly class ProcessDomainTriggerHandler $connectorProvider->orderDomain($domain, $this->kernel->isDebug()); $this->sendEmailDomainOrdered($domain, $connector, $watchList->getUser()); - } catch (\Throwable) { - $this->logger->warning('Unable to complete purchase. An error message is sent to user {username}.', [ + } catch (\Throwable $t) { + $this->logger->error('Unable to complete purchase. An error message is sent to user {username}.', [ 'username' => $watchList->getUser()->getUserIdentifier(), + 'error' => $t, ]); $this->sendEmailDomainOrderError($domain, $watchList->getUser()); } diff --git a/src/Security/JWTAuthenticator.php b/src/Security/JWTAuthenticator.php index bcd0fb0..d43a240 100644 --- a/src/Security/JWTAuthenticator.php +++ b/src/Security/JWTAuthenticator.php @@ -46,7 +46,7 @@ class JWTAuthenticator implements AuthenticationSuccessHandlerInterface time() + 7200, // expiration '/', null, - true, + false, true, false, 'strict' diff --git a/src/Service/Connector/NamecheapConnector.php b/src/Service/Connector/NamecheapConnector.php index 3e70f0f..7695bd6 100644 --- a/src/Service/Connector/NamecheapConnector.php +++ b/src/Service/Connector/NamecheapConnector.php @@ -11,7 +11,7 @@ class NamecheapConnector extends AbstractConnector public const SANDBOX_BASE_URL = 'http://api.sandbox.namecheap.com/xml.response'; - public function __construct(private HttpClientInterface $client, private string $outgoingIp) + public function __construct(private HttpClientInterface $client, private readonly string $outgoingIp) { } @@ -44,7 +44,7 @@ class NamecheapConnector extends AbstractConnector private static function mergePrefixKeys(string $prefix, array|object $src, array &$dest) { foreach ($src as $key => $value) { - $dest[$prefix . $key] = $value; + $dest[$prefix.$key] = $value; } } @@ -72,5 +72,6 @@ class NamecheapConnector extends AbstractConnector public static function verifyAuthData(array $authData, HttpClientInterface $client): array { + return $authData; } } diff --git a/src/Service/RDAPService.php b/src/Service/RDAPService.php index 60a6126..7e6e38c 100644 --- a/src/Service/RDAPService.php +++ b/src/Service/RDAPService.php @@ -152,6 +152,7 @@ readonly class RDAPService /** @var ?Domain $domain */ $domain = $this->domainRepository->findOneBy(['ldhName' => $idnDomain]); + return $domain; $rdapServerUrl = $rdapServer->getUrl();