['sometimes', 'string', Rule::in(['pending', 'approved', 'rejected', 'hidden'])], 'moderation_notes' => ['nullable', 'required_if:status,rejected', 'string', 'max:1000'], 'is_featured' => ['sometimes', 'boolean'], 'emotion_id' => ['sometimes', 'nullable', 'integer', 'exists:emotions,id'], 'task_id' => ['sometimes', 'nullable', 'integer', 'exists:tasks,id'], ]; } public static function allowedFields(string $action): array { return [ 'status', 'moderation_notes', 'is_featured', 'emotion_id', 'task_id', ]; } }