Coder Social home page Coder Social logo

IoC with loopback about bus HOT 4 OPEN

pferioli avatar pferioli commented on June 16, 2024
IoC with loopback

from bus.

Comments (4)

adenhertog avatar adenhertog commented on June 16, 2024

Hi @pferioli! Could you provide a small example of what you're seeing re loopback and the handler context? I'll have a look

from bus.

pferioli avatar pferioli commented on June 16, 2024

I wanted to understand if it's possible to setup using "withContainer" the loopback app so everything is already binded there while booting. I wasn't able to pass a "container" like the one in the example

.withContainer({
      get <T>(type: ClassConstructor<T>) {
        return container.get<T>(type)
      }
    })

when the handler (as function) is invoked, there's no app context related so i created manually a new ctx and binded all the services i required to process the request. This requires to bind all manually. Asked in the LB4 slack channel some time ago but with no luck

const validateTicketHandler = handlerFor(ValidateTicketCommand,
    async (event: ValidateTicketCommand) => {

        const ctx = new Context();

        ctx.bind('services.TicketManagerService').toClass(TicketManagerService)

        try {
            const ticketManagerService: TicketManagerService = await ctx.get('services.TicketManagerService');

            ticketManagerService.validateIncident(event.incomingEvent);

        } catch (error) {
            console.error(error)
        }
    }
);

from bus.

manarhusrieh avatar manarhusrieh commented on June 16, 2024

Hi @pferioli . We have been using this library with Loopback 4 handler classes successfully using container.getSync(). However, the only issue we faced is that we can't use constructor parameters in our handler class that require async operations because Loopback will throw exception. I have opened a PR #191 which resolves this limitation.

from bus.

pferioli avatar pferioli commented on June 16, 2024

@manarhusrieh thanks for the support for some reason i didn't see your message until now, really sorry for that. I'd been working in some other projects and i wanted to use this library in a new one. Is it possible to share some snippet on how you did the bus initialization in loopback, for older projects i used function handlers successfully.

from bus.

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.