From b4738febaa2e9a34cea181b621016b50a145115d Mon Sep 17 00:00:00 2001 From: Sami Mazouz Date: Tue, 20 Apr 2021 23:52:53 +0100 Subject: [PATCH] Add user id slug driver (#2787) --- .../core/src/Http/HttpServiceProvider.php | 4 ++- framework/core/src/User/IdSlugDriver.php | 36 +++++++++++++++++++ 2 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 framework/core/src/User/IdSlugDriver.php diff --git a/framework/core/src/Http/HttpServiceProvider.php b/framework/core/src/Http/HttpServiceProvider.php index ed6d6ee27..eba6a5f8f 100644 --- a/framework/core/src/Http/HttpServiceProvider.php +++ b/framework/core/src/Http/HttpServiceProvider.php @@ -13,6 +13,7 @@ use Flarum\Discussion\Discussion; use Flarum\Discussion\IdWithTransliteratedSlugDriver; use Flarum\Foundation\AbstractServiceProvider; use Flarum\Settings\SettingsRepositoryInterface; +use Flarum\User\IdSlugDriver; use Flarum\User\User; use Flarum\User\UsernameSlugDriver; use Illuminate\Support\Arr; @@ -38,7 +39,8 @@ class HttpServiceProvider extends AbstractServiceProvider 'default' => IdWithTransliteratedSlugDriver::class ], User::class => [ - 'default' => UsernameSlugDriver::class + 'default' => UsernameSlugDriver::class, + 'id' => IdSlugDriver::class ], ]; }); diff --git a/framework/core/src/User/IdSlugDriver.php b/framework/core/src/User/IdSlugDriver.php new file mode 100644 index 000000000..2a71a508c --- /dev/null +++ b/framework/core/src/User/IdSlugDriver.php @@ -0,0 +1,36 @@ +users = $users; + } + + public function toSlug(AbstractModel $instance): string + { + return $instance->id; + } + + public function fromSlug(string $slug, User $actor): AbstractModel + { + return $this->users->findOrFail($slug, $actor); + } +}