Lint
continuous-integration/drone/push Build is passing Details

This commit is contained in:
philipp lang 2025-06-15 21:32:21 +02:00
parent 88e020ac4e
commit ab442dff9b
11 changed files with 44 additions and 26 deletions

View File

@ -16,7 +16,7 @@ class FormApiListAction
/** /**
* @param string $filter * @param string $filter
* @return LengthAwarePaginator<Form> * @return LengthAwarePaginator<int, Form>
*/ */
public function handle(string $filter, int $perPage): LengthAwarePaginator public function handle(string $filter, int $perPage): LengthAwarePaginator
{ {

View File

@ -16,7 +16,7 @@ class FormIndexAction
use AsAction; use AsAction;
/** /**
* @return LengthAwarePaginator<Form> * @return LengthAwarePaginator<int, Form>
*/ */
public function handle(string $filter): LengthAwarePaginator public function handle(string $filter): LengthAwarePaginator
{ {

View File

@ -14,7 +14,7 @@ class FormtemplateIndexAction
use AsAction; use AsAction;
/** /**
* @return LengthAwarePaginator<Formtemplate> * @return LengthAwarePaginator<int, Formtemplate>
*/ */
public function handle(): LengthAwarePaginator public function handle(): LengthAwarePaginator
{ {

View File

@ -16,7 +16,7 @@ class NamiSearchAction
/** /**
* @param array<string, mixed> $params * @param array<string, mixed> $params
* *
* @return LengthAwarePaginator<MemberEntry> * @return LengthAwarePaginator<int, MemberEntry>
*/ */
public function handle(Api $api, int $page, array $params, int $perPage = 10): LengthAwarePaginator public function handle(Api $api, int $page, array $params, int $perPage = 10): LengthAwarePaginator
{ {
@ -36,7 +36,7 @@ class NamiSearchAction
} }
/** /**
* @return LengthAwarePaginator<MemberEntry> * @return LengthAwarePaginator<int, MemberEntry>
*/ */
public function asController(ActionRequest $request): LengthAwarePaginator public function asController(ActionRequest $request): LengthAwarePaginator
{ {

22
app/Lib/HasDataMeta.php Normal file
View File

@ -0,0 +1,22 @@
<?php
namespace App\Lib;
use Spatie\LaravelData\PaginatedDataCollection;
/**
* @mixin Spatie\LaravelData\Data
*/
trait HasDataMeta
{
/**
* @return array<string, mixed>
*/
public static function collectPages(mixed $items): array {
$source = parent::collect($items, PaginatedDataCollection::class)->toArray();
return [
...parent::collect($items, PaginatedDataCollection::class)->toArray(),
'meta' => [...$source['meta'], ...static::meta()]
];
}
}

View File

@ -2,9 +2,9 @@
namespace App\Lib; namespace App\Lib;
use Spatie\LaravelData\PaginatedDataCollection; /**
* @mixin \Illuminate\Http\Resources\Json\JsonResource
/** @mixin \Illuminate\Http\Resources\Json\JsonResource */ */
trait HasMeta trait HasMeta
{ {
/** /**
@ -43,12 +43,4 @@ trait HasMeta
{ {
return []; return [];
} }
public static function collectPages(mixed $items): array {
$source = parent::collect($items, PaginatedDataCollection::class)->toArray();
return [
...parent::collect($items, PaginatedDataCollection::class)->toArray(),
'meta' => [...$source['meta'], ...static::meta()]
];
}
} }

View File

@ -7,7 +7,7 @@ use App\Group;
use Spatie\LaravelData\Data; use Spatie\LaravelData\Data;
use App\Lib\Data\DateData; use App\Lib\Data\DateData;
use App\Lib\Data\RecordData; use App\Lib\Data\RecordData;
use App\Lib\HasMeta; use App\Lib\HasDataMeta;
use App\Member\Membership; use App\Member\Membership;
use App\Membership\FilterScope; use App\Membership\FilterScope;
use App\Subactivity; use App\Subactivity;
@ -15,8 +15,11 @@ use App\Subactivity;
class MembershipData extends Data class MembershipData extends Data
{ {
use HasMeta; use HasDataMeta;
/**
* @param array<string, string> $links
*/
public function __construct( public function __construct(
public int $id, public int $id,
public RecordData $activity, public RecordData $activity,
@ -49,6 +52,9 @@ class MembershipData extends Data
]); ]);
} }
/**
* @return array<string, mixed>
*/
public static function meta(): array { public static function meta(): array {
return [ return [
'activities' => RecordData::collect(Activity::get()), 'activities' => RecordData::collect(Activity::get()),

View File

@ -21,7 +21,7 @@ class MassStoreAction
use TracksJob; use TracksJob;
/** /**
* @return array<string, string> * @return array<string, mixed>
*/ */
public function rules(): array public function rules(): array
{ {
@ -87,6 +87,9 @@ class MassStoreAction
return response()->json([], 200); return response()->json([], 200);
} }
/**
* @return array<string, string>
*/
public function getValidationAttributes(): array { public function getValidationAttributes(): array {
return [ return [
'activity_id' => 'Tätigkeit', 'activity_id' => 'Tätigkeit',

View File

@ -14,7 +14,7 @@ class SearchAction
use AsAction; use AsAction;
/** /**
* @return LengthAwarePaginator<array<string, mixed>> * @return LengthAwarePaginator<int, array<string, mixed>>
*/ */
public function handle(ActionRequest $request): LengthAwarePaginator public function handle(ActionRequest $request): LengthAwarePaginator
{ {

@ -1 +1 @@
Subproject commit c20cf930f2037ddda4400dd7d35bf9ef707356eb Subproject commit 35bed01848492471d6e4141f303f74ab19d1fc09

View File

@ -418,11 +418,6 @@ parameters:
count: 1 count: 1
path: app/Mailgateway/Resources/MailgatewayResource.php path: app/Mailgateway/Resources/MailgatewayResource.php
-
message: "#^Generic type Illuminate\\\\Pagination\\\\LengthAwarePaginator\\<int, App\\\\Member\\\\Member\\> in PHPDoc tag @return specifies 2 template types, but class Illuminate\\\\Pagination\\\\LengthAwarePaginator supports only 1\\: TValue$#"
count: 1
path: app/Member/Actions/SearchAction.php
- -
message: "#^Class Plugins\\\\Test\\\\ServiceProvider not found\\.$#" message: "#^Class Plugins\\\\Test\\\\ServiceProvider not found\\.$#"
count: 1 count: 1