Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Action

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.

const { Action } = require('actionhero')
module.exports = 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 ({ esponse }) {
   response.randomNumber = Math.random()
 }
}

Hierarchy

Index

Constructors

constructor

Properties

blockedConnectionTypes

blockedConnectionTypes: Array<string>

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

description

description: string

The description of the Action (default this.name)

inputs

inputs: Inputs

The inputs of the Action (default: {})

logLevel

logLevel: string

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

matchExtensionMimeType

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

middleware: Array<string>

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

name

name: string

The name of the Action

outputExample

outputExample: object

toDocument

toDocument: boolean

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

version

version: number | string

The version of this Action (default: 1)

Methods

Private defaults

  • defaults(): object
  • Returns object

    • blockedConnectionTypes: undefined[]
    • description: string
    • inputs: object
    • logLevel: string
    • matchExtensionMimeType: boolean
    • middleware: undefined[]
    • name: null
    • outputExample: object
    • toDocument: boolean
    • version: number

Abstract run

  • The main "do something" method for this action. It can be async. Usually the goal of this run method is to set properties on data.response. If error is thrown in this method, it will be logged, caught, and appended to data.response.error

    Parameters

    • data: ActionProcessor

      The data about this connection, response, and params.

    Returns Promise<void>

validate

  • validate(): void

Generated using TypeDoc