Capabilities


Version Capabilities 0.0.0-unknown.0

Table of Contents

Overview

undefined

Types

Role

Role provides access level for the app for a given capability.

enum Role {
	USE = 'use',
	MANAGE = 'manage',
	PROVIDE = 'provide'
}


DenyReason

Reasons why a Capability might not be invokable

enum DenyReason {
	UNPERMITTED = 'unpermitted',
	UNSUPPORTED = 'unsupported',
	DISABLED = 'disabled',
	UNAVAILABLE = 'unavailable',
	GRANT_DENIED = 'grantDenied',
	UNGRANTED = 'ungranted'
}


Capability

A Capability is a discrete unit of functionality that a Firebolt device might be able to perform.

type Capability = string

CapPermissionStatus

type CapPermissionStatus = {
  permitted?: boolean         // Provides info whether the capability is permitted
  granted?: boolean | void
}

CapabilityInfo

type CapabilityInfo = {
  capability?: Capability     // A Capability is a discrete unit of functionality that a Firebolt device might be able to perform.
  supported: boolean          // Provides info whether the capability is supported
  available: boolean          // Provides info whether the capability is available
  use: {
    permitted?: boolean       // Provides info whether the capability is permitted
    granted?: boolean | void
  }
  manage: {
    permitted?: boolean       // Provides info whether the capability is permitted
    granted?: boolean | void
  }
  provide: {
    permitted?: boolean       // Provides info whether the capability is permitted
    granted?: boolean | void
  }
  details?: DenyReason[]
}

See also:

string ‘unpermitted’ | ‘unsupported’ | ‘disabled’ | ‘unavailable’ | ‘grantDenied’ | ‘ungranted’


Permission

A capability combined with a Role, which an app may be permitted (by a distributor) or granted (by an end user).

type Permission = {
  role?: Role             // Role provides access level for the app for a given capability.
  capability: Capability  // A Capability is a discrete unit of functionality that a Firebolt device might be able to perform.
}

See also:

‘use’ | ‘manage’ | ‘provide’ string