@viewdo/dxp-story-cli
Version:
README.md
45 lines (30 loc) • 1.38 kB
JavaScript
const App = require('./app')
module.exports = async (options, result = 0) => {
const app = new App(options)
app.console_service.log(`Pull Configs & Assets`.blue)
if(!await app.auth_manager.requireToken())
return ['login', 'pull']
if(options.key) {
app.console_service.log(`Pulling all assets for organization key ${options.key}`)
await app.sync_manager.pullOrganizations([options.key])
let stories = await app.sync_manager.getOrganizationStories(options.key)
app.console_service.log(`Pulling ${stories.length} story configs and assets for org ${options.key}`)
await app.sync_manager.pullStories(stories.map(s => s.key))
return result
}
let story_keys = options.keys.length > 0 ?
options.keys : options.all ? app.configuration_manager.story_keys
: await app.prompt_service
.selectFromKeys('Story', app.configuration_manager.story_keys, 'Pull', options.all)
if(story_keys) {
await app.sync_manager.pullStories(story_keys)
}
if(app.configuration_manager.organization_keys.length == 0) {
let org_keys = app.configuration_manager.story_keys.map(story_key => {
return app.configuration_manager.getStoryConfig(story_key).organizationKey
})
await app.sync_manager.pullOrganizations(org_keys)
}
app.console_service.log(`Assets and configurations pull was successful`.green)
return result
}