8
8
use PhpList \Core \Domain \Model \Identity \Administrator ;
9
9
use PhpList \Core \Domain \Model \Messaging \Message ;
10
10
use PhpList \Core \Domain \Repository \Messaging \MessageRepository ;
11
+ use PhpList \Core \Domain \Repository \Messaging \TemplateRepository ;
11
12
use PhpList \RestBundle \Entity \Request \CreateMessageRequest ;
12
13
13
14
class MessageManager
14
15
{
15
16
private MessageRepository $ messageRepository ;
17
+ private TemplateRepository $ templateRepository ;
16
18
17
- public function __construct (MessageRepository $ messageRepository )
19
+ public function __construct (MessageRepository $ messageRepository, TemplateRepository $ templateRepository )
18
20
{
19
21
$ this ->messageRepository = $ messageRepository ;
22
+ $ this ->templateRepository = $ templateRepository ;
20
23
}
21
24
22
25
public function createMessage (CreateMessageRequest $ createMessageRequest , Administrator $ authUser ): Message
@@ -32,6 +35,7 @@ public function createMessage(CreateMessageRequest $createMessageRequest, Admini
32
35
new DateTime ($ createMessageRequest ->schedule ->repeatUntil ),
33
36
$ createMessageRequest ->schedule ->requeueInterval ,
34
37
new DateTime ($ createMessageRequest ->schedule ->requeueUntil ),
38
+ new DateTime ($ createMessageRequest ->schedule ->embargo ),
35
39
);
36
40
37
41
$ metadata = new Message \MessageMetadata ($ createMessageRequest ->metadata ->status );
@@ -47,13 +51,16 @@ public function createMessage(CreateMessageRequest $createMessageRequest, Admini
47
51
$ createMessageRequest ->options ->fromField ?? '' ,
48
52
$ createMessageRequest ->options ->toField ?? '' ,
49
53
$ createMessageRequest ->options ->replyTo ?? '' ,
50
- new DateTime ($ createMessageRequest ->options ->embargo ),
51
54
$ createMessageRequest ->options ->userSelection ,
52
55
null ,
53
56
null
54
57
);
55
58
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 );
57
64
58
65
$ this ->messageRepository ->save ($ message );
59
66
0 commit comments