Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 1x 1x 1x 1x 1x 1x 1x 1x 1x 3x | /* * Copyright 2017-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0/ * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ "use strict"; const inquirer = require('inquirer') const chalk = require('chalk') const ora = require('ora') const projectInfoManager = require('./project-info-manager.js') const backendUpdate = require('./backend-update.js') const backendInfoManager = require('./backend-operations/backend-info-manager.js') const opsAppSync = require('./backend-operations/ops-appsync.js') const awsConfigManager = require('./aws-operations/aws-config-manager.js') const awsClient = require('./aws-operations/aws-client.js') const awsExceptionHandler = require('./aws-operations/aws-exception-handler.js') const nameManager = require('./utils/awsmobilejs-name-manager.js') function run(projectInfo, options, callback){ awsConfigManager.checkAWSConfig(function(awsDetails){ let mobileProjectName = nameManager.generateBackendProjectName(projectInfo) Iif(options.yesFlag){ importProject(projectInfo, awsDetails, mobileProjectName, callback) }else{ inquirer.prompt([ { type: 'input', name: 'mobileProjectName', message: "What awsmobile project name would you like to use: ", default: mobileProjectName } ]).then(function (answers) { Eif(answers.mobileProjectName){ importProject(projectInfo, awsDetails, answers.mobileProjectName, callback) } }) } }) } function importProject(projectInfo, awsDetails, mobileProjectName, callback){ let mobile = awsClient.Mobile(awsDetails) let param = { name: mobileProjectName, region: awsDetails.config.region } let spinner = ora('creating backend awsmobile project ' + param.name) spinner.start() mobile.createProject(param, function(err,data){ spinner.stop() if(err){ console.log(chalk.red('backend awsmobile project creation error')) awsExceptionHandler.handleMobileException(err) }else Eif(data && data.details){ projectInfo = projectInfoManager.updateBackendProjectDetails(projectInfo, data.details) importAppsync(projectInfo, data.details, awsDetails, ()=>{ backendUpdate.updateBackend(projectInfo, data.details, awsDetails, 1, callback) }) }else{ console.log(chalk.red('something went wrong')) } }) } function importAppsync(projectInfo, backendDetails, awsDetails, callback){ Iif(opsAppSync.getEnabledFeatures(projectInfo.ProjectPath).length>0){ opsAppSync.createApi(projectInfo, awsDetails, ()=>{ opsAppSync.syncCurrentBackendInfo(projectInfo, backendDetails, awsDetails, ()=>{ opsAppSync.syncToDevBackend(projectInfo) if(callback){ callback() } }) }) }else{ Eif(callback){ callback() } } } module.exports = { run } |