Class ActionAbstract

Create a new Actionhero Action. The required properties of an action. These can be defined statically (this.name) or as methods which return a value.

import { Action } from "actionhero";

export default class RandomNumber extends Action {
constructor () {
super()
this.name = 'randomNumber'
this.description = 'I am an API method which will generate a random number'
this.outputExample = { randomNumber: 0.1234 }
}
async run ({ response }) {
response.randomNumber = Math.random()
}
}

Constructors

  • Returns Action

Properties

blockedConnectionTypes?: string[]

Are there connections from any servers which cannot use this Action (default: [])?

description: string

The description of the Action (default this.name)

inputs?: Inputs

The inputs of the Action (default: {})

Under what level should connections to this Action be logged (default 'info')?

matchExtensionMimeType?: boolean

If this Action is responding to a web request, and that request has a file extension like *.jpg, should Actionhero set the response headers to match that extension (default: true)?

middleware?: string[]

The Middleware specific to this Action (default: []). Middleware is described by the string names of the middleware.

name: string

The name of the Action

outputExample?: object
toDocument?: boolean

Should this Action appear in api.documentation.documentation? (default: true)?

version?: string | number

The version of this Action (default: 1)

Methods

  • The main "do something" method for this action. It can be async. Usually the goal of this run method is to return the data that you want to be sent to API consumers. If error is thrown in this method, it will be logged, caught, and returned to the client as error

    Parameters

    Returns Promise<ActionResponse>

  • Returns void