Capabilities
Table of Contents
Types
Role
Role provides access level for the app for a given capability.
Role: {
    USE: 'use',
    MANAGE: 'manage',
    PROVIDE: 'provide',
},
DenyReason
Reasons why a Capability might not be invokable
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
}
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
  }
  manage: {
    permitted?: boolean // Provides info whether the capability is permitted
    granted?: boolean
  }
  provide: {
    permitted?: boolean // Provides info whether the capability is permitted
    granted?: boolean
  }
  details?: DenyReason[] // Reasons why a Capability might not be invokable
}
See also:
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:
 Firebolt Documentation
 Firebolt Documentation