Documentation
    Preparing search index...

    The result class offers a chainable API to create HealthCheckResult

    import { Result } from '@adonisjs/health'

    // Success result
    const success = Result.ok('Database connection is healthy')

    // Warning result
    const warning = Result.warning('High memory usage detected')

    // Error result
    const error = Result.failed('Database connection failed', new Error('Connection timeout'))

    // With metadata
    const result = Result.ok('Service is running')
    .setMetaData({ responseTime: 120, uptime: 86400 })

    Implements

    Index

    Constructors

    • Creates a new Result instance

      Parameters

      • message: string

        The result message

      • status: "ok" | "warning" | "error"

        The result status

      • finishedAt: Date

        The timestamp when the check finished

      Returns Result

    Properties

    meta?: Record<string, any>

    Optional metadata associated with the result

    message: string

    The result message

    status: "ok" | "warning" | "error"

    The result status

    finishedAt: Date

    The timestamp when the check finished

    Methods

    • Create result for success status

      Parameters

      • message: string

        The success message

      Returns Result

      const result = Result.ok('Database connection is healthy')
      
    • Create result for failed status

      Parameters

      • message: string

        The error message or Error object

      • Optionalerror: Error

        Optional error object when message is a string

      Returns Result

      const result1 = Result.failed('Database connection failed')
      const result2 = Result.failed('Service error', new Error('Connection timeout'))
      const result3 = Result.failed(new Error('Critical failure'))
    • Create result for failed status

      Parameters

      • error: Error

        Optional error object when message is a string

      Returns Result

      const result1 = Result.failed('Database connection failed')
      const result2 = Result.failed('Service error', new Error('Connection timeout'))
      const result3 = Result.failed(new Error('Critical failure'))
    • Create result for warning status

      Parameters

      • message: string

        The warning message

      Returns Result

      const result = Result.warning('Memory usage is above 80%')
      
    • Update the finished at timestamp for the result

      Parameters

      • finishedAt: Date

        The new finish timestamp

      Returns Result

      const result = Result.ok('Check completed')
      .setFinishedAt(new Date('2024-01-01T10:00:00Z'))
    • Define custom meta-data for the result. Calling this method will override the existing meta-data

      Parameters

      • metaData: Record<string, any>

        The metadata object to set

      Returns Result

      const result = Result.ok('Service is healthy')
      .setMetaData({ responseTime: 120, uptime: 86400 })
    • Merge custom meta-data with the existing meta-data. A shallow merge is performed

      Parameters

      • metaData: Record<string, any>

        The metadata object to merge

      Returns Result

      const result = Result.ok('Service is healthy')
      .setMetaData({ responseTime: 120 })
      .mergeMetaData({ uptime: 86400 })
      // result.meta = { responseTime: 120, uptime: 86400 }
    • Convert the result to a plain object

      Returns HealthCheckResult

      const result = Result.ok('Service is healthy')
      const json = result.toJSON()
      console.log(json) // { message: 'Service is healthy', status: 'ok', finishedAt: Date }