yes, it's ok to bypass services in crud. it's ok to generate a crud but... are you sure it will still be a crud in a 6 months? can you anticipate new business requirements. because if new logic comes, it will come slowly, one requirement after one. will you notice the moment when you have to rewrite the tiering? will you be able to convince the business that you need time and money to pay for that change? and other developers to spend their time on rewriting the code?
so from the design point of view: yes, it is perfectly ok. but in real life it can be dangerous