Log message #4262239

# At Username Text
# May 1st 2021, 14:40 ndm CakePHP's entities aren't really business/domain entities, they're more like not completely stupid DTOs, IMHO they shouldn't know about things like authorization. Without knowing all the context, I'd say that's probably a job for some kind of service/decorator that can be fed with the required dependencies, process the entities and add additional information to them.
# May 1st 2021, 14:30 kevin.pfeifer how this connects via the crud plugin, i have no idddddddea
# May 1st 2021, 14:28 kevin.pfeifer ``` public function index() { $query = $this->Authorization->applyScope($this->Users->find()); $users = $this->paginate( $query ); $this->set( compact( 'users' ) ); }```
# May 1st 2021, 14:28 kevin.pfeifer and in your controller you can apply that scope via
# May 1st 2021, 14:28 kevin.pfeifer which basically can have as many functions just like thath ``` public function scopeIndex( IdentityInterface $user, Query $query ) { return $query->were(['Users.id' => 1]); }```
# May 1st 2021, 14:27 kevin.pfeifer so you generate a Table Policy for your e.g. UsersTable
# May 1st 2021, 14:26 kevin.pfeifer well basically you should apply scopes to your queries
# May 1st 2021, 14:25 martin but quess I need to do this in the controller, add that to the output, need to check how I can do that when since I use the CRUD plugin :)
# May 1st 2021, 14:23 martin yes when the suer is not allowed to see it is not in the output, so online if user can edit is required to add.
# May 1st 2021, 14:09 kevin.pfeifer would be pretty awesome if we could set a virtual boolean field like `canEdit` automatically on each entity
# May 1st 2021, 14:03 kevin.pfeifer @rightscoreanalysis i guess you could do something like that with "just" a .htaccess rewrite rule
# May 1st 2021, 14:03 kevin.pfeifer as Martin already asked yesterday: Is it possible to access authorization data inside an entity? In his example he as an API where he needs to no which entity can be e.g. edited or deleted by the current user.
# Apr 30th 2021, 23:00 rightscoreanalysis in the above case I want this to route to orders/view/5
# Apr 30th 2021, 22:36 rightscoreanalysis I have a problem because I need to handle routes such as: ```orders/store?store_id=5```
# Apr 30th 2021, 20:34 admad you can't use query string in routes
# Apr 30th 2021, 20:32 rightscoreanalysis trying to escape it
# Apr 30th 2021, 20:32 rightscoreanalysis the router doesn't like '?'
# Apr 30th 2021, 20:13 rightscoreanalysis ```Action OrdersController::store() could not be found```
# Apr 30th 2021, 20:12 rightscoreanalysis $builder->connect('/orders/store?store_id={storeId}', ['controller' => 'Orders', 'action' => 'index'], ['storeId' => '\d+', 'pass' => ['storeId']]);
# Apr 30th 2021, 20:12 rightscoreanalysis this looks like a bug doesn't it?
# Apr 30th 2021, 19:30 rightscoreanalysis both have connectivity to the same db
# Apr 30th 2021, 19:30 rightscoreanalysis if so shuld I be using afterSave in the backend (cake2) or in the api's afterSave (cake4)
# Apr 30th 2021, 19:29 rightscoreanalysis does this sound like the correct approach
# Apr 30th 2021, 19:29 rightscoreanalysis I have implemented an API, when the Order is saved I have suggested that the Order only is save via the API, then any other related data should be handled with events
# Apr 30th 2021, 19:28 rightscoreanalysis Looking for some advice regarding implementation. I am working on legacy Cake2 project, there is an Order save controller method, it is big and bulky. When an order is saved a lot of related data is added to the request - Customer Address and a host of other models, it's a real mess
# Apr 30th 2021, 18:23 kevin.pfeifer god damn im stupid, behaviors are for tables, not entities
# Apr 30th 2021, 18:15 kevin.pfeifer is it even possible to add virtual fields via a behavior?
# Apr 30th 2021, 17:48 kevin.pfeifer add, edit and delete are separate actions of course but view is basically the first thing that should be checked
# Apr 30th 2021, 17:47 kevin.pfeifer So what if the given user isn't even allowed to view the entity? Shouldn't it be excluded from the API anyways?
# Apr 30th 2021, 17:13 kevin.pfeifer sure, try that
# Apr 30th 2021, 17:10 sebastiansperandio093 maybe this TinyMCE https://github.com/CakeDC/TinyMCE
# Apr 30th 2021, 17:09 sebastiansperandio093 @kevin.pfeifer Thanks for answer. I just need an usual WYSIWYG editor...nothing special. (I'm creating a posts CRUD)
# Apr 30th 2021, 16:30 martin since you don’t have the user entity or autorization component inside a entity :(
# Apr 30th 2021, 16:30 martin ok, I will also think about a way to do it :)
# Apr 30th 2021, 16:29 kevin.pfeifer well i have to go now but i will definitely look into that later :)
# Apr 30th 2021, 16:28 kevin.pfeifer authorization conserned
# Apr 30th 2021, 16:28 martin yes
# Apr 30th 2021, 16:28 kevin.pfeifer so you basically need a true/false for each action that could be done for each given entity in your API
# Apr 30th 2021, 16:27 martin yes I was thinking I add it to the entity so it will be exposed in api.
# Apr 30th 2021, 16:27 kevin.pfeifer i thought you need it in the view
# Apr 30th 2021, 16:26 kevin.pfeifer ah ok, thats why you thought of the entity