
// Record the credentials the application uses for each 3rd party service provider

const PROVIDER_CREDENTIAL_DATASTORE = 'PROVIDER_CREDENTIAL_DATASTORE'

const PREPARE_PROVIDER_FOR_USE = 'PREPARE_PROVIDER_FOR_USE'


const PROVIDER_TYPE_ASYMMETRIC_CRYPTOGRAPHY = 'asymmetricCryptography'
const PROVIDER_TYPE_CHAT_SERVICE = 'chatService'
const PROVIDER_TYPE_COMPUTER_SERVICE = 'computerService'
const PROVIDER_TYPE_DATABASE = 'database'
const PROVIDER_TYPE_DISTRIBUTED_LEDGER_TECHNOLOGY = 'distributedLedgerTechnology'
const PROVIDER_TYPE_HASH_FUNCTION = 'hashFunction'
const PROVIDER_TYPE_FILE_SYSTEM = 'fileSystem'
const PROVIDER_TYPE_NETWORK_PROTOCOL = 'network'
const PROVIDER_TYPE_TEXT_SEARCH = 'textSearch'

const PROVIDER_OPERATING_ENVIRONMENT_WEB_BROWSER = 'webBrowser'
const PROVIDER_OPERATING_ENVIRONMENT_NODEJS = 'nodeJs'

const PROVIDER_TYPE_LIST = [
  PROVIDER_TYPE_ASYMMETRIC_CRYPTOGRAPHY,
  PROVIDER_TYPE_CHAT_SERVICE,
  PROVIDER_TYPE_COMPUTER_SERVICE,
  PROVIDER_TYPE_DATABASE,
  PROVIDER_TYPE_DISTRIBUTED_LEDGER_TECHNOLOGY,
  PROVIDER_TYPE_HASH_FUNCTION,
  PROVIDER_TYPE_FILE_SYSTEM,
  PROVIDER_TYPE_NETWORK_PROTOCOL,
  PROVIDER_TYPE_TEXT_SEARCH
]

export {
  PROVIDER_TYPE_LIST,
  PREPARE_PROVIDER_FOR_USE,
  PROVIDER_CREDENTIAL_DATASTORE,
  PROVIDER_TYPE_ASYMMETRIC_CRYPTOGRAPHY,
  PROVIDER_TYPE_CHAT_SERVICE,
  PROVIDER_TYPE_COMPUTER_SERVICE,
  PROVIDER_TYPE_DATABASE,
  PROVIDER_TYPE_DISTRIBUTED_LEDGER_TECHNOLOGY,
  PROVIDER_TYPE_HASH_FUNCTION,
  PROVIDER_TYPE_FILE_SYSTEM,
  PROVIDER_TYPE_NETWORK_PROTOCOL,
  PROVIDER_TYPE_TEXT_SEARCH,
  PROVIDER_OPERATING_ENVIRONMENT_WEB_BROWSER,
  PROVIDER_OPERATING_ENVIRONMENT_NODEJS
}

