Skip to content

Commit bb9884f

Browse files
committed
fix typo & refactoring
1 parent b6fbf3e commit bb9884f

File tree

3 files changed

+12
-12
lines changed

3 files changed

+12
-12
lines changed

src/DTOs/CompaignDTO.php renamed to src/DTOs/Campaigns/CampaignDTO.php

+9-9
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
<?php
22

3-
namespace Coderflex\LaravelSendy\DTOs;
3+
namespace Coderflex\LaravelSendy\DTOs\Campaigns;
44

55
use Spatie\LaravelData\Data;
66
use 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
];

src/Resources/Campaigns.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22

33
namespace Coderflex\LaravelSendy\Resources;
44

5-
use Coderflex\LaravelSendy\DTOs\CompaignDTO;
5+
use Coderflex\LaravelSendy\DTOs\Campaigns\CampaignDTO;
66
use Coderflex\LaravelSendy\Facades\LaravelSendy;
77

88
class Campaigns
99
{
1010
public function create(array $data)
1111
{
12-
$data = CompaignDTO::validate($data);
12+
$data = CampaignDTO::validate($data);
1313

1414
return LaravelSendy::post('/api/campaigns/create.php', $data);
1515
}

tests/Resources/CompaignsTest.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
'query_string' => null,
3232
'track_opens' => 1,
3333
'track_clicks' => 1,
34-
'send_compaign' => 1,
34+
'send_campaign' => 1,
3535
'schedule_date_time' => null,
3636
'schedule_timezone' => null,
3737
]);

0 commit comments

Comments
 (0)