Skip to content

Conversation

@mgbtukr
Copy link

@mgbtukr mgbtukr commented Jun 13, 2021

DO NOT MERGE - Tests not working - WIP!

So after founding out, that #search method in CustomersController contains a lot of business logic, I decided to split it and move it to services.

In the main CustomerService class, I decided to write #perform method in high-level style, so the code will be more understandable.

I found out, that search by entity and search all entities using the same queries, so I moved it to one place and re-using it, so if we changed something, we will update only one place, and also it's much easier to de-bug if there is a bug somewhere.

I also note, that we have limit parameter, but we using it only in the view layer. I didn't do anything here, since I don't know the whole logic and how should it work, but If I do it from scratch or fully rewriting - I'll move limit to queries, so I'll already take from database limited records, because (it's really bad) if we have 1 million records - we will take all of them and only limit them on view layer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant