Coder Social home page Coder Social logo

Middleware decorators about tsoa HOT 9 CLOSED

lukeautry avatar lukeautry commented on April 28, 2024 19
Middleware decorators

from tsoa.

Comments (9)

ezra-quemuel avatar ezra-quemuel commented on April 28, 2024 4

@lukeautry While custom route templates will work since they are highly customizable, I think the routes-template is a little tedious to maintain (IMHO).

I'm currently using inversify-express-utils in my projects and they solved the issue using decorators, which I think is a little nicer and is discussed here: inversify/InversifyJS#487.
TLDR;
Option 1

@Controller("/")
@Middleware(Constants.AuthorizeMiddleware)
class MyController {

Option 2

@Controller("/", Constants.AuthorizeMiddleware)
class MyController {

Thoughts?

from tsoa.

lukeautry avatar lukeautry commented on April 28, 2024

@Paldom I really like that idea. I'll get back to you with some more in-depth thoughts.

from tsoa.

lukeautry avatar lukeautry commented on April 28, 2024

@Paldom Custom route templates have been introduced recently; I think that offers enough to allow you to provide these customized middlewares.

from tsoa.

myflowpl avatar myflowpl commented on April 28, 2024

@ezra-quemuel I really like your proposal, have you solved it in some way?

may be it's possible to add this middleware decorator in easy way ?

from tsoa.

HoldYourWaffle avatar HoldYourWaffle commented on April 28, 2024

@lukeautry Has this functionality ever been implemented? As far as I know (which isn't much) there's no way to add additional custom metadata to controllers/methods making it really awkward and maintenance-heavy to implement this using custom templates.

from tsoa.

HarelM avatar HarelM commented on April 28, 2024

I'm looking into migrating out of inversifyjs into this library and typescript-ioc.
I'm currently using passport for authentication and I'm looking for a way to integrate it using a middleware for a specific route (login only). I couldn't find how to do it using the documentation here, can someone share a demo project?
I also favor the decoration for middleware inversify is using, I hope this can be done here as well...

from tsoa.

simllll avatar simllll commented on April 28, 2024

Can we reopen this issue? I'm also having the same issue right now, even though I'm aware of the custom route templates, It would be way cleaner if I just coudl add "Middleware" like propsed earlier. I could work on this feature if this is a "valid" feature @lukeautry ?

from tsoa.

WoH avatar WoH commented on April 28, 2024

#62 is the currently open issue that may encompass your issue aswell @simllll.

from tsoa.

kempsteven avatar kempsteven commented on April 28, 2024

id like to do the MiddlewareAfter is there anyway to do this?

from tsoa.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.