Skip to content

Commit 4b4a5c3

Browse files
committed
ISSUE-345: fix required/optional fields
1 parent 9badc8f commit 4b4a5c3

6 files changed

+24
-22
lines changed

src/Controller/CampaignController.php

+11-9
Original file line numberDiff line numberDiff line change
@@ -151,13 +151,14 @@ public function getMessage(
151151
description: 'Create a new message.',
152152
required: true,
153153
content: new OA\JsonContent(
154+
required: ['content', 'format', 'format', 'metadata', 'schedule', 'options'],
154155
properties: [
155156
new OA\Property(property: 'template_id', type: 'integer', example: 1),
156-
new OA\Property(property: 'message_content', ref: '#/components/schemas/MessageContentRequest'),
157-
new OA\Property(property: 'message_format', ref: '#/components/schemas/MessageFormatRequest'),
158-
new OA\Property(property: 'message_metadata', ref: '#/components/schemas/MessageMetadataRequest'),
159-
new OA\Property(property: 'message_schedule', ref: '#/components/schemas/MessageScheduleRequest'),
160-
new OA\Property(property: 'message_options', ref: '#/components/schemas/MessageOptionsRequest'),
157+
new OA\Property(property: 'content', ref: '#/components/schemas/MessageContentRequest'),
158+
new OA\Property(property: 'format', ref: '#/components/schemas/MessageFormatRequest'),
159+
new OA\Property(property: 'metadata', ref: '#/components/schemas/MessageMetadataRequest'),
160+
new OA\Property(property: 'schedule', ref: '#/components/schemas/MessageScheduleRequest'),
161+
new OA\Property(property: 'options', ref: '#/components/schemas/MessageOptionsRequest'),
161162
],
162163
type: 'object'
163164
)
@@ -212,12 +213,13 @@ public function createMessage(Request $request, MessageNormalizer $normalizer):
212213
description: 'Update message.',
213214
required: true,
214215
content: new OA\JsonContent(
216+
required: ['content', 'format', 'format', 'schedule', 'options'],
215217
properties: [
216218
new OA\Property(property: 'template_id', type: 'integer', example: 1),
217-
new OA\Property(property: 'message_content', ref: '#/components/schemas/MessageContentRequest'),
218-
new OA\Property(property: 'message_format', ref: '#/components/schemas/MessageFormatRequest'),
219-
new OA\Property(property: 'message_schedule', ref: '#/components/schemas/MessageScheduleRequest'),
220-
new OA\Property(property: 'message_options', ref: '#/components/schemas/MessageOptionsRequest'),
219+
new OA\Property(property: 'content', ref: '#/components/schemas/MessageContentRequest'),
220+
new OA\Property(property: 'format', ref: '#/components/schemas/MessageFormatRequest'),
221+
new OA\Property(property: 'schedule', ref: '#/components/schemas/MessageScheduleRequest'),
222+
new OA\Property(property: 'options', ref: '#/components/schemas/MessageOptionsRequest'),
221223
],
222224
type: 'object'
223225
)

src/Entity/Request/CreateSubscriberListRequest.php

+3-7
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,9 @@ class CreateSubscriberListRequest implements RequestInterface
1212
#[Assert\NotNull]
1313
public string $name;
1414

15-
#[Assert\NotBlank]
16-
public bool $public;
15+
public bool $public = false;
1716

18-
#[Assert\NotBlank]
19-
public int $listPosition;
17+
public ?int $listPosition = null;
2018

21-
#[Assert\NotBlank]
22-
#[Assert\NotNull]
23-
public string $description;
19+
public ?string $description = null;
2420
}

src/Entity/Request/CreateTemplateRequest.php

+1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
class CreateTemplateRequest
1111
{
1212
#[Assert\NotBlank]
13+
#[Assert\NotNull]
1314
public string $title;
1415

1516
#[Assert\NotBlank]

src/Entity/Request/Message/MessageOptionsRequest.php

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
class MessageOptionsRequest implements RequestDtoInterface
1010
{
11+
#[Assert\NotBlank]
1112
#[Assert\Email]
1213
public string $fromField;
1314

src/Entity/Request/Message/MessageScheduleRequest.php

+4-6
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,15 @@
88

99
class MessageScheduleRequest implements RequestDtoInterface
1010
{
11-
#[Assert\NotBlank]
12-
public int $repeatInterval;
11+
public ?int $repeatInterval = null;
1312

1413
#[Assert\DateTime]
15-
public string $repeatUntil;
14+
public ?string $repeatUntil = null;
1615

17-
#[Assert\NotBlank]
18-
public int $requeueInterval;
16+
public ?int $requeueInterval = null;
1917

2018
#[Assert\DateTime]
21-
public string $requeueUntil;
19+
public ?string $requeueUntil = null;
2220

2321
#[Assert\NotBlank]
2422
public string $embargo;

src/OpenApi/SwaggerSchemasRequestDto.php

+4
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
#[OA\Schema(
1010
schema: 'MessageContentRequest',
11+
required: ['subject', 'text', 'text_message', 'footer'],
1112
properties: [
1213
new OA\Property(property: 'subject', type: 'string', example: 'Campaign Subject'),
1314
new OA\Property(property: 'text', type: 'string', example: 'Full text content'),
@@ -18,6 +19,7 @@
1819
)]
1920
#[OA\Schema(
2021
schema: 'MessageFormatRequest',
22+
required: ['html_formated', 'send_format', 'format_options'],
2123
properties: [
2224
new OA\Property(property: 'html_formated', type: 'boolean', example: true),
2325
new OA\Property(
@@ -44,6 +46,7 @@ enum: ['html', 'text', 'invite'],
4446
)]
4547
#[OA\Schema(
4648
schema: 'MessageScheduleRequest',
49+
required: ['embargo'],
4750
properties: [
4851
new OA\Property(property: 'embargo', type: 'string', format: 'date-time', example: '2025-04-17 09:00:00'),
4952
new OA\Property(property: 'repeat_interval', type: 'string', example: '24 hours'),
@@ -65,6 +68,7 @@ enum: ['html', 'text', 'invite'],
6568
)]
6669
#[OA\Schema(
6770
schema: 'MessageOptionsRequest',
71+
required: ['from_field'],
6872
properties: [
6973
new OA\Property(property: 'from_field', type: 'string', example: '[email protected]'),
7074
new OA\Property(property: 'to_field', type: 'string', example: '[email protected]'),

0 commit comments

Comments
 (0)