diff --git a/app/Http/Requests/Subscription/StoreSubscriptionRequest.php b/app/Http/Requests/Subscription/StoreSubscriptionRequest.php index 7e9622f30c89..918b970ada30 100644 --- a/app/Http/Requests/Subscription/StoreSubscriptionRequest.php +++ b/app/Http/Requests/Subscription/StoreSubscriptionRequest.php @@ -35,10 +35,11 @@ class StoreSubscriptionRequest extends Request public function rules() { $rules = [ - 'product_id' => ['sometimes'], + 'product_ids' => ['sometimes'], + 'recurring_product_ids' => ['sometimes'], 'assigned_user_id' => ['sometimes'], 'is_recurring' => ['sometimes'], - 'frequency_id' => ['sometimes'], + 'frequency_id' => ['required_with:recurring_product_ids'], 'auto_bill' => ['sometimes'], 'promo_code' => ['sometimes'], 'promo_discount' => ['sometimes'], diff --git a/app/Http/Requests/Subscription/UpdateSubscriptionRequest.php b/app/Http/Requests/Subscription/UpdateSubscriptionRequest.php index bd5e45aebe43..fdf72b188633 100644 --- a/app/Http/Requests/Subscription/UpdateSubscriptionRequest.php +++ b/app/Http/Requests/Subscription/UpdateSubscriptionRequest.php @@ -13,6 +13,7 @@ namespace App\Http\Requests\Subscription; use App\Http\Requests\Request; use App\Utils\Traits\ChecksEntityStatus; +use Illuminate\Validation\Rule; class UpdateSubscriptionRequest extends Request { @@ -35,12 +36,32 @@ class UpdateSubscriptionRequest extends Request */ public function rules() { - $rules = [ - // + $rules = [ + 'product_ids' => ['sometimes'], + 'recurring_product_ids' => ['sometimes'], + 'assigned_user_id' => ['sometimes'], + 'is_recurring' => ['sometimes'], + 'frequency_id' => ['required_with:recurring_product_ids'], + 'auto_bill' => ['sometimes'], + 'promo_code' => ['sometimes'], + 'promo_discount' => ['sometimes'], + 'is_amount_discount' => ['sometimes'], + 'allow_cancellation' => ['sometimes'], + 'per_set_enabled' => ['sometimes'], + 'min_seats_limit' => ['sometimes'], + 'max_seats_limit' => ['sometimes'], + 'trial_enabled' => ['sometimes'], + 'trial_duration' => ['sometimes'], + 'allow_query_overrides' => ['sometimes'], + 'allow_plan_changes' => ['sometimes'], + 'refund_period' => ['sometimes'], + 'webhook_configuration' => ['array'], + 'name' => ['required', Rule::unique('subscriptions')->where('company_id', auth()->user()->company()->id)->ignore($this->subscription->id)] ]; return $this->globalRules($rules); + } protected function prepareForValidation()