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 ;
8- use PhpList \RestBundle \Subscription \Validator \Constraint \EmailExists ;
99use Symfony \Component \Validator \Constraints as Assert ;
1010
11+ #[OA \Schema(
12+ schema: 'SubscriptionRequest ' ,
13+ required: ['emails ' ],
14+ properties: [
15+ new OA \Property (
16+ property: 'emails ' ,
17+ type: 'array ' ,
18+ items: new OA \Items (type: 'string ' , format: 'email ' ),
19+ example: ['test1@example.com ' , 'test2@example.com ' ]
20+ ),
21+ new OA \Property (
22+ property: 'autoConfirm ' ,
23+ description: 'Whether to automatically confirm subscriptions ' ,
24+ type: 'boolean ' ,
25+ example: true
26+ ),
27+ ]
28+ )]
1129class SubscriptionRequest implements RequestInterface
1230{
1331 #[Assert \NotBlank]
1432 #[Assert \Type('array ' )]
1533 #[Assert \All([
1634 new Assert \NotBlank (),
1735 new Assert \Email (),
18- new EmailExists ()
1936 ])]
2037 public array $ emails = [];
2138
39+ public bool $ autoConfirm = false ;
40+
2241 public function getDto (): SubscriptionRequest
2342 {
2443 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