Skip to content

Commit 1244617

Browse files
committed
feat: adapt CLI to pass data instead of queries
1 parent 53a92f5 commit 1244617

2 files changed

Lines changed: 12 additions & 3 deletions

File tree

src/commands/scan.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import chalk from 'chalk'
22
import fs from 'fs'
33
import path from 'path'
4-
import { Opts, pluginMap, PluginType, StorageEngine } from '@cloudgraph/sdk'
4+
import { Opts, pluginMap, PluginType, ProviderData, StorageEngine } from '@cloudgraph/sdk'
55
import { range } from 'lodash'
66

77
import Command from './base'
@@ -34,6 +34,7 @@ export default class Scan extends Command {
3434
private async plugins({
3535
storage: { isRunning, engine },
3636
flags,
37+
providerData,
3738
}: {
3839
storage: {
3940
isRunning: boolean
@@ -42,6 +43,7 @@ export default class Scan extends Command {
4243
flags: {
4344
[flag: string]: any
4445
}
46+
providerData: ProviderData
4547
}): Promise<void> {
4648
const config = this.getCGConfig('cloudGraph')
4749
const { plugins = {} } = config
@@ -80,6 +82,7 @@ export default class Scan extends Command {
8082
await PluginInstance.execute({
8183
storageRunning: isRunning,
8284
storageEngine: engine,
85+
providerData,
8386
processConnectionsBetweenEntities,
8487
})
8588
}
@@ -167,6 +170,7 @@ export default class Scan extends Command {
167170
* loop through providers and attempt to scan each of them
168171
*/
169172
const failedProviderList: string[] = []
173+
const allProviderData: ProviderData = { entities: [], connections: {} }
170174
for (const provider of allProviders) {
171175
this.logger.info(
172176
`Beginning ${chalk.italic.green('SCAN')} for ${provider}`
@@ -203,6 +207,10 @@ export default class Scan extends Command {
203207
`${chalk.italic.green(provider)} data scanned successfully`
204208
)
205209

210+
// Merge all providers data
211+
allProviderData.entities.push(...providerData.entities)
212+
Object.assign(allProviderData.connections, providerData.connections)
213+
206214
// Handle schema, write provider and combined schema to file and store in Dgraph if running
207215
this.logger.startSpinner(
208216
`updating ${chalk.italic.green('Schema')} for ${chalk.italic.green(
@@ -297,6 +305,7 @@ export default class Scan extends Command {
297305
isRunning: storageRunning,
298306
engine: storageEngine,
299307
},
308+
providerData: allProviderData
300309
})
301310
}
302311

src/utils/data.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ export const processConnectionsBetweenEntities = ({
135135
// Add service mutation to promises array
136136
storageEngine.push({
137137
query:
138-
mutation ||
138+
mutation?.toString() ||
139139
(provider &&
140140
generateMutation({ type: 'add', provider, entity, schemaMap })) ||
141141
'',
@@ -166,7 +166,7 @@ export function insertEntitiesAndConnections({
166166
})
167167
if (storageRunning) {
168168
const query =
169-
mutation ||
169+
mutation?.toString() ||
170170
generateMutation({ type: 'add', provider, entity, schemaMap })
171171
storageEngine.push({ query, input: connectedData, name })
172172
}

0 commit comments

Comments
 (0)