22
33namespace Pterodactyl \Transformers \Api \Client ;
44
5- use Illuminate \ Support \ Str ;
5+ use Pterodactyl \ Models \ User ;
66use Pterodactyl \Models \Subuser ;
77
88class SubuserTransformer extends BaseClientTransformer
99{
10- protected $ availableIncludes = ['permissions ' ];
10+ /**
11+ * @var array
12+ */
13+ protected $ defaultIncludes = ['user ' ];
1114
1215 /**
1316 * Return the resource name for the JSONAPI output.
@@ -20,23 +23,15 @@ public function getResourceName(): string
2023 }
2124
2225 /**
23- * Transforms a User model into a representation that can be shown to regular
24- * users of the API.
26+ * Transforms a subuser into a model that can be shown to a front-end user.
2527 *
2628 * @param \Pterodactyl\Models\Subuser $model
27- * @return array
29+ * @return array|void
2830 */
2931 public function transform (Subuser $ model )
3032 {
31- $ user = $ model ->user ;
32-
3333 return [
34- 'uuid ' => $ user ->uuid ,
35- 'username ' => $ user ->username ,
36- 'email ' => $ user ->email ,
37- 'image ' => 'https://gravatar.com/avatar/ ' . md5 (Str::lower ($ user ->email )),
38- '2fa_enabled ' => $ user ->use_totp ,
39- 'created_at ' => $ model ->created_at ->toIso8601String (),
34+ 'permissions ' => $ model ->permissions ->pluck ('permission ' ),
4035 ];
4136 }
4237
@@ -45,11 +40,10 @@ public function transform(Subuser $model)
4540 *
4641 * @param \Pterodactyl\Models\Subuser $model
4742 * @return \League\Fractal\Resource\Item
43+ * @throws \Pterodactyl\Exceptions\Transformer\InvalidTransformerLevelException
4844 */
49- public function includePermissions (Subuser $ model )
45+ public function includeUser (Subuser $ model )
5046 {
51- return $ this ->item ($ model , function (Subuser $ model ) {
52- return ['permissions ' => $ model ->permissions ->pluck ('permission ' )];
53- });
47+ return $ this ->item ($ model ->user , $ this ->makeTransformer (UserTransformer::class), User::RESOURCE_NAME );
5448 }
5549}
0 commit comments