# |
Sep 6th 2019, 19:09 |
emiliano |
It doesn't throw error now, but keep taking the other function createCognitoUser |
# |
Sep 6th 2019, 19:09 |
emiliano |
I do this: protected $_defaultConfig = [ 'implementedMethods' => [ 'createCognitoUserIdata' => 'createCognitoUser', ] ]; |
# |
Sep 6th 2019, 18:37 |
ricksaccous |
yeah that's prob the easiest option |
# |
Sep 6th 2019, 18:37 |
racmiroslav |
@ricksaccous thank you. I will set ID’s directly then |
# |
Sep 6th 2019, 18:37 |
ricksaccous |
request data type data |
# |
Sep 6th 2019, 18:37 |
ricksaccous |
not the actual entities |
# |
Sep 6th 2019, 18:37 |
ricksaccous |
yeah, when you use newEntity it expects request data |
# |
Sep 6th 2019, 18:36 |
ricksaccous |
you might be able to do $payment->invoice->toArray(); |
# |
Sep 6th 2019, 18:36 |
racmiroslav |
@ricksaccous ok, that is the problem. I did not know that. |
# |
Sep 6th 2019, 18:36 |
ricksaccous |
if $payment->invoice is already an entity it won't work |
# |
Sep 6th 2019, 18:36 |
ricksaccous |
you do realize you can't pass an entity right? it has to be request data |
# |
Sep 6th 2019, 18:36 |
ricksaccous |
@racmiroslav let me see the $payment->invoice |
# |
Sep 6th 2019, 18:35 |
racmiroslav |
@ricksaccous I use exactly the same code as you sent, just different variable names. |
# |
Sep 6th 2019, 18:34 |
ricksaccous |
that's the most common mistake |
# |
Sep 6th 2019, 18:34 |
ricksaccous |
perhaps your data is not formatted properly |
# |
Sep 6th 2019, 18:34 |
ricksaccous |
and is the data you are passing an array? |
# |
Sep 6th 2019, 18:34 |
ricksaccous |
why wouldn't you use that, why are you using patchEntity? |
# |
Sep 6th 2019, 18:34 |
ricksaccous |
@racmiroslav so you are doing that and the data isn't hyrdrating? |
# |
Sep 6th 2019, 18:33 |
slackebot |
<ricksaccous> |
# |
Sep 6th 2019, 18:32 |
ndm |
@emiliano Well I assumed that it's your own plugin... unless there's events you can hook in, then overriding might be the way to go. Maybe you should remove the behavior that is added by the `ApiUsersTable` class that you're extending (ie replace it so to speak), but I'm not sure as I don't know what exactly that plugin is doing. |
# |
Sep 6th 2019, 18:30 |
ricksaccous |
you're right, i just like doing it, lol |
# |
Sep 6th 2019, 18:30 |
racmiroslav |
associated is not required for first level associations, afaik |
# |
Sep 6th 2019, 18:29 |
ricksaccous |
in case that's the issue |
# |
Sep 6th 2019, 18:29 |
slackebot |
'payment' => NULL, ), '_original' => array ( ), '_hidden' => array ( ), '_virtual' => array ( ), '_className' => NULL, '_dirty' => array ( 'document' => true, 'type' => true, 'payment' => true, ), '_new' => true, '_errors' => array ( ), '_invalid' => array ( ), '_registryAlias' => 'Payments.PaymentDocuments', ))``` |
# |
Sep 6th 2019, 18:29 |
racmiroslav |
@ricksaccous this is output for `newEntity` method. both properties are set to `NULL`. I am sure that they are not null ```‌Payments\Model\Entity\PaymentDocument::__set_state(array( '_accessible' => array ( 'payment_id' => true, 'document_id' => true, 'type' => true, 'created' => true, 'payment' => true, 'document' => true, ), '_properties' => array ( 'document' => NULL, 'type' => 'invoice', |
# |
Sep 6th 2019, 18:29 |
ricksaccous |
make sure you do 'associated' |
# |
Sep 6th 2019, 18:29 |
ricksaccous |
nvm |
# |
Sep 6th 2019, 18:29 |
ricksaccous |
oh, you are setting data |
# |
Sep 6th 2019, 18:29 |
ricksaccous |
it probably has to do with the marshaller not getting exactly what it expects |
# |
Sep 6th 2019, 18:28 |
ricksaccous |
@racmiroslav why don't you do things more standard and use newEntity and set those items in newEntity? |
# |
Sep 6th 2019, 18:27 |
slackebot |
'invoice', ), '_original' => array ( ), '_hidden' => array ( ), '_virtual' => array ( ), '_className' => NULL, '_dirty' => array ( 'type' => true, ), '_new' => true, '_errors' => array ( ), '_invalid' => array ( ), '_registryAlias' => NULL, ))``` as you can see, only property `type` was set although both properties `payment` and `document` are accessible. why? |
# |
Sep 6th 2019, 18:27 |
racmiroslav |
`$this->PaymentDocuments->patchEntity(new PaymentDocument, ['document' => $payment->invoice, 'type' => 'invoice', 'payment' => $payment]);` results in ```‌Payments\Model\Entity\PaymentDocument::__set_state(array( '_accessible' => array ( 'payment_id' => true, 'document_id' => true, 'type' => true, 'created' => true, 'payment' => true, 'document' => true, ), '_properties' => array ( 'type' => |
# |
Sep 6th 2019, 18:25 |
emiliano |
I use aws Elastic Beanstalk, I dont wanna push the folder vendor, only need change this function, for generated a TemporaryPassword when I create a user |
# |
Sep 6th 2019, 18:23 |
emiliano |
I only need to change the createCognitoUser |
# |
Sep 6th 2019, 18:22 |
ndm |
*mean by |
# |
Sep 6th 2019, 18:22 |
ndm |
Depends on what exactly you mean "what I am doing"... |
# |
Sep 6th 2019, 18:20 |
emiliano |
thanks a lot, I really only need to modify that function, What I am doing is ok? |
# |
Sep 6th 2019, 18:15 |
slackebot |
https://book.cakephp.org/3.0/en/orm/behaviors.html#limiting-or-renaming-exposed-mixin-methods |
# |
Sep 6th 2019, 18:15 |
ndm |
@emiliano You are basically adding the same behavior twice, once the original one, and once and extended one, which causes a naming conflict, as the public/exposed methods of a behavior must be unique for the table where the behaviors are added. Look into making the methods protected/private unless you really _need_ to expose them, and if you need to, check the `implementedMethods` option to create aliases and/or restrict the exposed methods. |
# |
Sep 6th 2019, 18:01 |
emiliano |
jajaja no, is a plugin |
# |
Sep 6th 2019, 18:00 |
emiliano |
error -> App\Model\Behavior\CognitoUsersBehavior contains duplicate method "validationresendinvitationemail" which is already provided by "AwsCognito" |