1
1
<?php
2
2
3
- namespace Coderflex \LaravelSendy \DTOs ;
3
+ namespace Coderflex \LaravelSendy \DTOs \ Campaigns ;
4
4
5
5
use Spatie \LaravelData \Data ;
6
6
use Spatie \LaravelData \Support \Validation \ValidationContext ;
7
7
8
- class CompaignDTO extends Data
8
+ class CampaignDTO extends Data
9
9
{
10
10
public function __construct (
11
11
public string $ from_name ,
@@ -15,15 +15,15 @@ public function __construct(
15
15
public string $ subject ,
16
16
public ?string $ plain_text ,
17
17
public string $ html_text ,
18
- public string $ list_ids ,
19
- public string $ segment_ids ,
18
+ public ? string $ list_ids ,
19
+ public ? string $ segment_ids ,
20
20
public ?string $ exclude_list_ids ,
21
21
public ?string $ exclude_segment_ids ,
22
22
public ?string $ brand_id ,
23
23
public ?string $ query_string ,
24
24
public ?int $ track_opens ,
25
25
public ?int $ track_clicks ,
26
- public ?int $ send_compaign ,
26
+ public ?int $ send_campaign ,
27
27
public ?string $ schedule_date_time ,
28
28
public ?string $ schedule_timezone ,
29
29
) {}
@@ -38,15 +38,15 @@ public static function rules(ValidationContext $context): array
38
38
'subject ' => ['required ' , 'string ' ],
39
39
'plain_text ' => ['string ' , 'nullable ' ],
40
40
'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 ' ],
43
43
'exclude_list_ids ' => ['string ' , 'nullable ' ],
44
44
'exclude_segment_ids ' => ['string ' , 'nullable ' ],
45
- 'brand_id ' => ['required_if ' , 'string ' ],
45
+ 'brand_id ' => ['required_if:send_campaign,0 ' , 'string ' ],
46
46
'query_string ' => ['string ' , 'nullable ' ],
47
47
'track_opens ' => ['integer ' , 'nullable ' , 'in:0,1,2 ' ],
48
48
'track_clicks ' => ['integer ' , 'nullable ' , 'in:0,1,2 ' ],
49
- 'send_compaign ' => ['integer ' , 'nullable ' , 'in:0,1 ' ],
49
+ 'send_campaign ' => ['integer ' , 'nullable ' , 'in:0,1 ' ],
50
50
'schedule_date_time ' => ['date ' , 'nullable ' ],
51
51
'schedule_timezone ' => ['date ' , 'nullable ' ],
52
52
];
0 commit comments