Working with Actions
An Action is a self-contained class responsible for performing a single, clearly-defined task within your application. This promotes modularity, maintainability, and consistency across your AdonisJS project.
The simplest action
An Action is simply a class with a handle method.
import from '#models/user'
import { } from '@foadonis/actions'
export default class implements {
(: ) {
// Your business logic
}
}Running your action
Actions can be ran easily within your application using actions.run().
import from '@foadonis/actions/services/main'
import from '#actions/charge_user_action'
await .(, user)Dependency Injection
As your actions are resolved from the Container you can use Dependency Injection.
import { } from '@foadonis/actions'
import { } from '@adonisjs/core'
import from '#models/user'
import from '#services/stripe_service'
@()
export default class implements {
constructor(private : ) {}
(: , : number) {
await this..chargeCustomer(.stripeId, )
}
}