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

This commit is contained in:
Philipp Lang 2023-03-07 09:37:49 +01:00
parent 9598a44e13
commit 7072f07879
3 changed files with 18 additions and 4 deletions

View File

@ -38,8 +38,11 @@ class SubactivityUpdateAction
*/ */
public function rules(): array public function rules(): array
{ {
/** @var Subactivity */
$subactivity = request()->route('subactivity');
return [ return [
'name' => ['required', 'string', 'max:255', Rule::unique('subactivities', 'name')->ignore(request()->route('subactivity')->id)], 'name' => ['required', 'string', 'max:255', Rule::unique('subactivities', 'name')->ignore($subactivity->id)],
'activities' => ['present', 'array', 'min:1'], 'activities' => ['present', 'array', 'min:1'],
'activities.*' => 'integer', 'activities.*' => 'integer',
'is_filterable' => 'present|boolean', 'is_filterable' => 'present|boolean',
@ -64,7 +67,7 @@ class SubactivityUpdateAction
$removingActivities = $subactivity->activities()->whereNotIn('id', $request->validated('activities'))->pluck('id'); $removingActivities = $subactivity->activities()->whereNotIn('id', $request->validated('activities'))->pluck('id');
if ($removingActivities->first(fn ($activity) => Membership::firstWhere(['activity_id' => $activity, 'subactivity_id' => $subactivity->id]))) { if ($removingActivities->first(fn ($activity) => Membership::where(['activity_id' => $activity, 'subactivity_id' => $subactivity->id])->exists())) {
throw ValidationException::withMessages(['activities' => 'Tätigkeit hat noch Mitglieder.']); throw ValidationException::withMessages(['activities' => 'Tätigkeit hat noch Mitglieder.']);
} }
@ -74,7 +77,7 @@ class SubactivityUpdateAction
/** /**
* @todo handle this with a model event on the pivot model * @todo handle this with a model event on the pivot model
* *
* @param Payload $payload * @param array{name: string, activities: array<int, int>} $payload
*/ */
private function validateNami(Subactivity $subactivity, array $payload): void private function validateNami(Subactivity $subactivity, array $payload): void
{ {

View File

@ -25,6 +25,13 @@ trait HasMeta
]); ]);
} }
/**
* Create a new anonymous resource collection without meta.
*
* @param mixed $resource
*
* @return \Illuminate\Http\Resources\Json\AnonymousResourceCollection
*/
public static function collectionWithoutMeta($resource) public static function collectionWithoutMeta($resource)
{ {
return parent::collection($resource); return parent::collection($resource);

View File

@ -5,6 +5,7 @@ namespace App\Resources;
use App\Activity; use App\Activity;
use App\Activity\Resources\ActivityResource; use App\Activity\Resources\ActivityResource;
use App\Lib\HasMeta; use App\Lib\HasMeta;
use App\Subactivity;
use Illuminate\Http\Resources\Json\JsonResource; use Illuminate\Http\Resources\Json\JsonResource;
/** /**
@ -19,7 +20,7 @@ class SubactivityResource extends JsonResource
* *
* @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Request $request
* *
* @return array|\Illuminate\Contracts\Support\Arrayable|\JsonSerializable * @return array<string, mixed>
*/ */
public function toArray($request) public function toArray($request)
{ {
@ -35,6 +36,9 @@ class SubactivityResource extends JsonResource
]; ];
} }
/**
* @return array<string, mixed>
*/
public static function meta(): array public static function meta(): array
{ {
return [ return [