File tree Expand file tree Collapse file tree
tests/Unit/Subscription/Request Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -54,17 +54,7 @@ public function __construct(
5454 requestBody: new OA \RequestBody (
5555 description: 'Pass session credentials ' ,
5656 required: true ,
57- content: new OA \JsonContent (
58- required: ['emails ' ],
59- properties: [
60- new OA \Property (
61- property: 'emails ' ,
62- type: 'array ' ,
63- items: new OA \Items (type: 'string ' , format: 'email ' ),
64- example: ['test1@example.com ' , 'test2@example.com ' ]
65- ),
66- ]
67- )
57+ content: new OA \JsonContent (ref: '#/components/schemas/SubscriptionRequest ' )
6858 ),
6959 tags: ['subscriptions ' ],
7060 parameters: [
@@ -133,7 +123,11 @@ public function createSubscription(
133123
134124 /** @var SubscriptionRequest $subscriptionRequest */
135125 $ subscriptionRequest = $ this ->validator ->validate ($ request , SubscriptionRequest::class);
136- $ subscriptions = $ this ->subscriptionManager ->createSubscriptions ($ list , $ subscriptionRequest ->emails );
126+ $ subscriptions = $ this ->subscriptionManager ->createSubscriptions (
127+ subscriberList: $ list ,
128+ emails: $ subscriptionRequest ->emails ,
129+ autoConfirm: $ subscriptionRequest ->autoConfirm ,
130+ );
137131 $ this ->entityManager ->flush ();
138132 $ normalized = array_map (fn ($ item ) => $ this ->subscriptionNormalizer ->normalize ($ item ), $ subscriptions );
139133
Original file line number Diff line number Diff line change 44
55namespace PhpList \RestBundle \Subscription \Request ;
66
7+ use OpenApi \Attributes as OA ;
78use PhpList \RestBundle \Common \Request \RequestInterface ;
89use PhpList \RestBundle \Subscription \Validator \Constraint \EmailExists ;
910use Symfony \Component \Validator \Constraints as Assert ;
1011
12+ #[OA \Schema(
13+ schema: 'SubscriptionRequest ' ,
14+ required: ['emails ' ],
15+ properties: [
16+ new OA \Property (
17+ property: 'emails ' ,
18+ type: 'array ' ,
19+ items: new OA \Items (type: 'string ' , format: 'email ' ),
20+ example: ['test1@example.com ' , 'test2@example.com ' ]
21+ ),
22+ new OA \Property (
23+ property: 'autoConfirm ' ,
24+ description: 'Whether to automatically confirm subscriptions ' ,
25+ type: 'boolean ' ,
26+ example: true
27+ ),
28+ ]
29+ )]
1130class SubscriptionRequest implements RequestInterface
1231{
1332 #[Assert \NotBlank]
@@ -19,6 +38,8 @@ class SubscriptionRequest implements RequestInterface
1938 ])]
2039 public array $ emails = [];
2140
41+ public bool $ autoConfirm = false ;
42+
2243 public function getDto (): SubscriptionRequest
2344 {
2445 return $ this ;
Original file line number Diff line number Diff line change @@ -18,6 +18,7 @@ public function testGetDtoReturnsSelf(): void
1818
1919 $ this ->assertSame ($ request , $ dto );
2020 $ this ->assertEquals (['test1@example.com ' , 'test2@example.com ' ], $ dto ->emails );
21+ $ this ->assertFalse ($ dto ->autoConfirm );
2122 }
2223
2324 public function testGetDtoWithEmptyEmails (): void
You can’t perform that action at this time.
0 commit comments