88use PhpList \Core \Domain \Model \Identity \Administrator ;
99use PhpList \Core \Domain \Model \Messaging \Message ;
1010use PhpList \Core \Domain \Repository \Messaging \MessageRepository ;
11+ use PhpList \Core \Domain \Repository \Messaging \TemplateRepository ;
1112use PhpList \RestBundle \Entity \Request \CreateMessageRequest ;
1213
1314class MessageManager
1415{
1516 private MessageRepository $ messageRepository ;
17+ private TemplateRepository $ templateRepository ;
1618
17- public function __construct (MessageRepository $ messageRepository )
19+ public function __construct (MessageRepository $ messageRepository, TemplateRepository $ templateRepository )
1820 {
1921 $ this ->messageRepository = $ messageRepository ;
22+ $ this ->templateRepository = $ templateRepository ;
2023 }
2124
2225 public function createMessage (CreateMessageRequest $ createMessageRequest , Administrator $ authUser ): Message
@@ -32,6 +35,7 @@ public function createMessage(CreateMessageRequest $createMessageRequest, Admini
3235 new DateTime ($ createMessageRequest ->schedule ->repeatUntil ),
3336 $ createMessageRequest ->schedule ->requeueInterval ,
3437 new DateTime ($ createMessageRequest ->schedule ->requeueUntil ),
38+ new DateTime ($ createMessageRequest ->schedule ->embargo ),
3539 );
3640
3741 $ metadata = new Message \MessageMetadata ($ createMessageRequest ->metadata ->status );
@@ -47,13 +51,16 @@ public function createMessage(CreateMessageRequest $createMessageRequest, Admini
4751 $ createMessageRequest ->options ->fromField ?? '' ,
4852 $ createMessageRequest ->options ->toField ?? '' ,
4953 $ createMessageRequest ->options ->replyTo ?? '' ,
50- new DateTime ($ createMessageRequest ->options ->embargo ),
5154 $ createMessageRequest ->options ->userSelection ,
5255 null ,
5356 null
5457 );
5558
56- $ message = new Message ($ format , $ schedule , $ metadata , $ content , $ options , $ authUser );
59+ if ($ createMessageRequest ->templateId > 0 ) {
60+ $ template = $ this ->templateRepository ->find ($ createMessageRequest ->templateId );
61+ }
62+
63+ $ message = new Message ($ format , $ schedule , $ metadata , $ content , $ options , $ authUser , $ template ?? null );
5764
5865 $ this ->messageRepository ->save ($ message );
5966
0 commit comments