To avoid having to push CLI updates to add a new config or update a current one the configs themselves have been moved to MongoDB. They are exposed via our GraphQL system with their own custom query. The ADOP feature was always intended to be external to the CLI so similar changes were made.
Implementation
Four new queries were added to GraphQL:
chainConfigs.allConfigs - queryAllChainConfigs - Returns all chain configs
chainConfigs.config - queryChainConfig - Returns a specific config by chain ID/name
ADOP.adoTypes - queryADOTypes - Returns all valid ADO types
ADOP.package - queryADOPackageDefinition - Returns a package definition by ADO type
These are exposed via appropriate functions within the andromeda.js package. Updates were made to the CLI to adjust for querying configs and schemas from GraphQL.
Testing
N/A
Notes
Asynchronous changes had to be made to several command definitions. Testing must be carried out to investigate any potential unseen issues.
Motivation
To avoid having to push CLI updates to add a new config or update a current one the configs themselves have been moved to MongoDB. They are exposed via our GraphQL system with their own custom query. The ADOP feature was always intended to be external to the CLI so similar changes were made.
Implementation
Four new queries were added to GraphQL:
chainConfigs.allConfigs
-queryAllChainConfigs
- Returns all chain configschainConfigs.config
-queryChainConfig
- Returns a specific config by chain ID/nameADOP.adoTypes
-queryADOTypes
- Returns all valid ADO typesADOP.package
-queryADOPackageDefinition
- Returns a package definition by ADO typeThese are exposed via appropriate functions within the
andromeda.js
package. Updates were made to the CLI to adjust for querying configs and schemas from GraphQL.Testing
N/A
Notes
Asynchronous changes had to be made to several command definitions. Testing must be carried out to investigate any potential unseen issues.
Future work
N/A