Comments (11)
I made a guard for the standard restful endpoints
https://gist.github.com/markpenaranda/c43f0c48b9a54a62f5cc2e631d6cd173
from crud.
Yes it could work. Override the method and call the base method so the behavior does not change. You can now add your own decorators.
@UseGuards(...)
@UseInterceptors(...)
@Override()
getMany(
@ParsedQuery() query: RestfulParamsDto,
@ParsedOptions() options: CrudOptions,
) {
return this.base.getManyBase(query, options);
}
Another option is to add your decorator at the class level (if all endpoints have the same permissions).
from crud.
Hey. Thanks for your kind words. First, I would suggest not to use Pipes for role validation, but to use Guards instead, because guards are meant for such situations. Also, Guard can be attached to the whole Controller and you won't need to override your methods. Please take a look here in README - I've added some decorators and explained how and where it's better to use them. Please, also keep in mind that I released v3.0.0 a few minutes ago. Cheers!
from crud.
@zMotivat0r Maybe we can add an option to put custom decorators on CRUD methods.
from crud.
@Diluka I thought about it. But we still have to take in mind this proposal. And that's why I don't want to add a lot of things that might be changed in the future because of this new feature coming in Nest. What do you think?
from crud.
We already has target
and name
.
crud/src/decorators/crud.decorator.ts
Lines 63 to 66 in 0c3b6db
And this can apply custom decorators.
const p = Object.getOwnPropertyDescriptor(prototype, name);
Reflect.decorate(customDecorators, target, name, p);
We can add a feature to do the trick or refactor code to open a port let someone override by themselves.
But currently, the base methods are too heavy to be override.
As you say, this feature may be removed because the new feature in Nest.
And about the CrudOptions
, maybe we shall put it in one place the controller's metadata.
Interceptors can get controller type by calling
ExecutionContext#getClass()
method.from crud.
@Diluka how much time will it take for you to create a PR for this?
from crud.
@zMotivat0r To implement this feature is quick. If you think it's OK, I'll create PR when I have some time.
But I suggest you can refactor CrudOptions
in one place. Now it's merged and passed everywhere.
from crud.
@Diluka yeah, I'll refactor it. I'll store it in class metadata.
from crud.
@Diluka is there a chance that you are using Discord? https://discord.gg/T4TN67
from crud.
@zMotivat0r No, I am not using Discord.
Although there is nothing wrong with reading emails and documents. But the difficulty of instant messaging is still a bit too big. (Google Translate ┑( ̄Д  ̄)┍)
from crud.
Related Issues (20)
- Array text fields : QueryFailedError when using CondOperator.CONTAINS
- Just wanted to say fuck Ukraine HOT 2
- Exclude 'createManyBase' is not working
- listing soft deleted items in crud generator
- How to list soft deleted data when using crud generator HOT 2
- allow mapping uuid to id field
- id's are returned as array of two instead of one numeric value HOT 5
- Duplicate column name (ER_DUP_FIELDNAME errno: 1060) when join table HOT 5
- using $or in ?s ignores auth filter HOT 2
- Rest api with xml request and response body HOT 1
- How get custom DTO type in TypeOrmCrudService?
- Mysql with Post and user one to may relation issue
- Queries are returning a duplicated id element inside an Array HOT 2
- Database JSON column and query WHERE support
- nestjs 10 removed misspelled CUSTOM_ROUTE_ARGS_METADATA HOT 4
- Is this open source maintained? HOT 7
- Cannot destructure property 'parsed' of 'req' as it is null. HOT 9
- ERROR [ExceptionsHandler] Cannot read properties of null (reading 'options') HOT 9
- error Command "bootstrap" not found HOT 2
- access to Query Params from custom endpoint
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from crud.