@@ -59,24 +59,28 @@ public function process(PsrMessage $message, PsrContext $context)
59
59
return Result::reject ('The message data misses id ' );
60
60
}
61
61
if (false == isset ($ data ['index_name ' ])) {
62
- return Result::reject ('The message data misses id ' );
62
+ return Result::reject ('The message data misses index_name ' );
63
63
}
64
64
if (false == isset ($ data ['type_name ' ])) {
65
- return Result::reject ('The message data misses id ' );
65
+ return Result::reject ('The message data misses type_name ' );
66
+ }
67
+ if (false == isset ($ data ['repository_method ' ])) {
68
+ return Result::reject ('The message data misses repository_method ' );
66
69
}
67
70
68
71
$ action = $ data ['action ' ];
69
72
$ modelClass = $ data ['model_class ' ];
70
73
$ id = $ data ['id ' ];
71
74
$ index = $ data ['index_name ' ];
72
75
$ type = $ data ['type_name ' ];
76
+ $ repositoryMethod = $ data ['repository_method ' ];
73
77
74
78
$ repository = $ this ->doctrine ->getManagerForClass ($ modelClass )->getRepository ($ modelClass );
75
79
$ persister = $ this ->persisterRegistry ->getPersister ($ index , $ type );
76
80
77
81
switch ($ action ) {
78
82
case self ::UPDATE_ACTION :
79
- if (false == $ object = $ repository ->find ($ id )) {
83
+ if (false == $ object = $ repository ->{ $ repositoryMethod } ($ id )) {
80
84
$ persister ->deleteById ($ id );
81
85
82
86
return Result::ack (sprintf ('The object "%s" with id "%s" could not be found. ' , $ modelClass , $ id ));
@@ -92,7 +96,7 @@ public function process(PsrMessage $message, PsrContext $context)
92
96
93
97
return self ::ACK ;
94
98
case self ::INSERT_ACTION :
95
- if (false == $ object = $ repository ->find ($ id )) {
99
+ if (false == $ object = $ repository ->{ $ repositoryMethod } ($ id )) {
96
100
$ persister ->deleteById ($ id );
97
101
98
102
return Result::ack (sprintf ('The object "%s" with id "%s" could not be found. ' , $ modelClass , $ id ));
0 commit comments