From dc4097486868896558af0b573f9651197930d9f9 Mon Sep 17 00:00:00 2001 From: Elias Luhr Date: Fri, 5 Jan 2024 16:52:26 +0100 Subject: [PATCH] Add trait to support new interface in a backward compatible way --- src/User/AuthClient/Facebook.php | 4 ++++ src/User/AuthClient/GitHub.php | 2 ++ src/User/AuthClient/Google.php | 2 ++ src/User/AuthClient/LinkedIn.php | 3 +++ src/User/AuthClient/Twitter.php | 3 +++ src/User/AuthClient/VKontakte.php | 3 +++ src/User/AuthClient/Yandex.php | 3 +++ src/User/Traits/AuthClientUserIdTrait.php | 14 ++++++++++++++ 8 files changed, 34 insertions(+) create mode 100644 src/User/Traits/AuthClientUserIdTrait.php diff --git a/src/User/AuthClient/Facebook.php b/src/User/AuthClient/Facebook.php index b910539..6a2cf7e 100644 --- a/src/User/AuthClient/Facebook.php +++ b/src/User/AuthClient/Facebook.php @@ -12,10 +12,14 @@ namespace Da\User\AuthClient; use Da\User\Contracts\AuthClientInterface; +use Da\User\Traits\AuthClientUserIdTrait; use yii\authclient\clients\Facebook as BaseFacebook; class Facebook extends BaseFacebook implements AuthClientInterface { + + use AuthClientUserIdTrait; + /** * {@inheritdoc} */ diff --git a/src/User/AuthClient/GitHub.php b/src/User/AuthClient/GitHub.php index 1a298df..19ccae6 100644 --- a/src/User/AuthClient/GitHub.php +++ b/src/User/AuthClient/GitHub.php @@ -12,10 +12,12 @@ namespace Da\User\AuthClient; use Da\User\Contracts\AuthClientInterface; +use Da\User\Traits\AuthClientUserIdTrait; use yii\authclient\clients\GitHub as BaseGitHub; class GitHub extends BaseGitHub implements AuthClientInterface { + use AuthClientUserIdTrait; /** * {@inheritdoc} */ diff --git a/src/User/AuthClient/Google.php b/src/User/AuthClient/Google.php index 42c2495..13fb6fe 100644 --- a/src/User/AuthClient/Google.php +++ b/src/User/AuthClient/Google.php @@ -12,10 +12,12 @@ namespace Da\User\AuthClient; use Da\User\Contracts\AuthClientInterface; +use Da\User\Traits\AuthClientUserIdTrait; use yii\authclient\clients\Google as BaseGoogle; class Google extends BaseGoogle implements AuthClientInterface { + use AuthClientUserIdTrait; /** * {@inheritdoc} */ diff --git a/src/User/AuthClient/LinkedIn.php b/src/User/AuthClient/LinkedIn.php index b0fc422..fe5db73 100644 --- a/src/User/AuthClient/LinkedIn.php +++ b/src/User/AuthClient/LinkedIn.php @@ -12,10 +12,13 @@ namespace Da\User\AuthClient; use Da\User\Contracts\AuthClientInterface; +use Da\User\Traits\AuthClientUserIdTrait; use yii\authclient\clients\LinkedIn as BaseLinkedIn; class LinkedIn extends BaseLinkedIn implements AuthClientInterface { + use AuthClientUserIdTrait; + /** * {@inheritdoc} */ diff --git a/src/User/AuthClient/Twitter.php b/src/User/AuthClient/Twitter.php index 5a9f0a8..166bb9c 100644 --- a/src/User/AuthClient/Twitter.php +++ b/src/User/AuthClient/Twitter.php @@ -12,10 +12,13 @@ namespace Da\User\AuthClient; use Da\User\Contracts\AuthClientInterface; +use Da\User\Traits\AuthClientUserIdTrait; use yii\authclient\clients\Twitter as BaseTwitter; class Twitter extends BaseTwitter implements AuthClientInterface { + use AuthClientUserIdTrait; + /** * @return string */ diff --git a/src/User/AuthClient/VKontakte.php b/src/User/AuthClient/VKontakte.php index 69faa05..ac516c4 100644 --- a/src/User/AuthClient/VKontakte.php +++ b/src/User/AuthClient/VKontakte.php @@ -12,11 +12,14 @@ namespace Da\User\AuthClient; use Da\User\Contracts\AuthClientInterface; +use Da\User\Traits\AuthClientUserIdTrait; use Yii; use yii\authclient\clients\VKontakte as BaseVKontakte; class VKontakte extends BaseVKontakte implements AuthClientInterface { + use AuthClientUserIdTrait; + /** * {@inheritdoc} */ diff --git a/src/User/AuthClient/Yandex.php b/src/User/AuthClient/Yandex.php index 35f3dfe..262ec32 100644 --- a/src/User/AuthClient/Yandex.php +++ b/src/User/AuthClient/Yandex.php @@ -12,11 +12,14 @@ namespace Da\User\AuthClient; use Da\User\Contracts\AuthClientInterface; +use Da\User\Traits\AuthClientUserIdTrait; use Yii; use yii\authclient\clients\Yandex as BaseYandex; class Yandex extends BaseYandex implements AuthClientInterface { + use AuthClientUserIdTrait; + /** * {@inheritdoc} */ diff --git a/src/User/Traits/AuthClientUserIdTrait.php b/src/User/Traits/AuthClientUserIdTrait.php new file mode 100644 index 0000000..c1166fe --- /dev/null +++ b/src/User/Traits/AuthClientUserIdTrait.php @@ -0,0 +1,14 @@ +getUserAttributes()['id'] ?? null; + } +}