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 94 95 96 97 98 99 100 101 102 103 104 105 106 | 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 2x 2x 2x 2x 2x 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 fs = require('fs-extra') const inquirer = require('inquirer') const chalk = require('chalk') const ora = require('ora') const backendWaitLogic = require('./backend-wait-logic.js') const backendInfoManager = require('./backend-operations/backend-info-manager.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 opsProject = require('./backend-operations/ops-project.js') const pathManager = require('./utils/awsmobilejs-path-manager.js') const nameManager = require('./utils/awsmobilejs-name-manager.js') function createBackendProject(projectInfo, options, callback){ awsConfigManager.checkAWSConfig(function(awsDetails){ let mobileProjectName = nameManager.generateBackendProjectName(projectInfo) Iif(options.yesFlag){ createProject(projectInfo, awsDetails, mobileProjectName, options, 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){ createProject(projectInfo, awsDetails, answers.mobileProjectName, options, callback) } }) } }) } function createProject(projectInfo, awsDetails, mobileProjectName, options, callback){ let mobile = awsClient.Mobile(awsDetails) let backendContents = getBackendContents(options) let param = { name: mobileProjectName, region: awsDetails.config.region, contents: backendContents } let spinner = ora('creating backend awsmobile project ' + param.name) spinner.start() mobile.createProject(param, function(err,data){ spinner.stop() console.log() if(err){ console.log(chalk.red('backend awsmobile project creation error')) awsExceptionHandler.handleMobileException(err) }else Eif(data && data.details){ backendWaitLogic.wait(data.details, awsDetails, (err, backendDetails) => { Eif(!err){ console.log('Successfully created AWS Mobile Hub project: ' + chalk.blue(data.details.name)) console.log() backendInfoManager.syncCurrentBackendInfo(projectInfo, backendDetails, awsDetails, options.syncToDevFlag, function(){ Eif(callback){ callback() } }) }else{ console.log(chalk.red('Failed to complete the project creation: ' + mobileProjectName)) process.exit(1) } }) }else{ console.log(chalk.red('something went wrong')) } }) } function getBackendContents(options){ let backendContents Eif(options){ Iif(options.contentZipFilePath){ backendContents = fs.readFileSync(options.contentZipFilePath) }else Eif(options.useDefault){ backendContents = fs.readFileSync(pathManager.getProjectCreationContentZipFilePath()) } } return backendContents } module.exports = { createBackendProject } |