11<?php
22
3- namespace Coderflex \LaravelSendy \DTOs ;
3+ namespace Coderflex \LaravelSendy \DTOs \ Campaigns ;
44
55use Spatie \LaravelData \Data ;
66use Spatie \LaravelData \Support \Validation \ValidationContext ;
77
8- class CompaignDTO extends Data
8+ class CampaignDTO extends Data
99{
1010 public function __construct (
1111 public string $ from_name ,
@@ -15,15 +15,15 @@ public function __construct(
1515 public string $ subject ,
1616 public ?string $ plain_text ,
1717 public string $ html_text ,
18- public string $ list_ids ,
19- public string $ segment_ids ,
18+ public ? string $ list_ids ,
19+ public ? string $ segment_ids ,
2020 public ?string $ exclude_list_ids ,
2121 public ?string $ exclude_segment_ids ,
2222 public ?string $ brand_id ,
2323 public ?string $ query_string ,
2424 public ?int $ track_opens ,
2525 public ?int $ track_clicks ,
26- public ?int $ send_compaign ,
26+ public ?int $ send_campaign ,
2727 public ?string $ schedule_date_time ,
2828 public ?string $ schedule_timezone ,
2929 ) {}
@@ -38,15 +38,15 @@ public static function rules(ValidationContext $context): array
3838 'subject ' => ['required ' , 'string ' ],
3939 'plain_text ' => ['string ' , 'nullable ' ],
4040 'html_text ' => ['required ' , 'string ' ],
41- 'list_ids ' => ['required ' , 'string ' ],
42- 'segment_ids ' => ['required ' , 'string ' ],
41+ 'list_ids ' => ['required_if:send_campaign,1 ' , 'string ' ],
42+ 'segment_ids ' => ['required_if:send_campaign,1 ' , 'string ' ],
4343 'exclude_list_ids ' => ['string ' , 'nullable ' ],
4444 'exclude_segment_ids ' => ['string ' , 'nullable ' ],
45- 'brand_id ' => ['required_if ' , 'string ' ],
45+ 'brand_id ' => ['required_if:send_campaign,0 ' , 'string ' ],
4646 'query_string ' => ['string ' , 'nullable ' ],
4747 'track_opens ' => ['integer ' , 'nullable ' , 'in:0,1,2 ' ],
4848 'track_clicks ' => ['integer ' , 'nullable ' , 'in:0,1,2 ' ],
49- 'send_compaign ' => ['integer ' , 'nullable ' , 'in:0,1 ' ],
49+ 'send_campaign ' => ['integer ' , 'nullable ' , 'in:0,1 ' ],
5050 'schedule_date_time ' => ['date ' , 'nullable ' ],
5151 'schedule_timezone ' => ['date ' , 'nullable ' ],
5252 ];
0 commit comments