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 | 2x 2x 2x 2x 2x 2x 6x 6x 6x 6x 6x 3x 6x 6x 6x 2x 6x 6x 3x 6x 6x 6x 6x 2x 6x 4x 2x 2x 6x 6x 6x 6x 2x 6x 6x 6x 2x 2x | var inquirer = require('inquirer'); var fs = require('fs'); var yamlSchema = require('../../aws-operations/mobile-yaml-schema'); var yamlOps = require('../../aws-operations/mobile-yaml-ops'); const pathManager = require('../../utils/awsmobilejs-path-manager.js') // save project info var _projectInfo = {}; var startQuestionary = () => new Promise( function(resolve, reject) { var currentDefinition = { 'user-files': { enabled: false } }; let backendProjectYamlFilePath = pathManager.getBackendSpecProjectYmlFilePath(_projectInfo.ProjectPath); let yamlDefinition = yamlOps.readYamlFileSync(backendProjectYamlFilePath); if (yamlDefinition['features']['user-files']) { currentDefinition['user-files']['enabled'] = true; } currentDefinition.yamlDefinition = yamlDefinition; currentDefinition.projectInfo = _projectInfo; resolve(currentDefinition); }); var askEnableUserFiles = (currentDefinition) => { let defaultMessage = 'This feature is for storing user files in the cloud, would you like to enable it?'; if (currentDefinition['user-files'].enabled) { defaultMessage = 'User files storage is enabled, do you want to keep it enabled?' } var enableQuestion = { type: 'confirm', name: 'enableUserData', message: defaultMessage, default: true } return inquirer.prompt(enableQuestion).then(answers => { currentDefinition['user-files']['enabled'] = answers.enableUserData; return currentDefinition; }); } var saveSettings = (currentDefinition) => { if (currentDefinition['user-files']['enabled']) { currentDefinition.yamlDefinition['features']['user-files'] = new yamlSchema.dressObject({attributes: {enabled: true, 'wildcard-cors-policy': true}, 'backend-class': 'UserFiles'}); } else { delete currentDefinition.yamlDefinition['features']['user-files']; delete currentDefinition.yamlDefinition['features']['user-profiles']; } let yaml = currentDefinition.yamlDefinition; let backendProjectYamlFilePath = pathManager.getBackendSpecProjectYmlFilePath(_projectInfo.ProjectPath); yamlOps.writeYamlFileSync(yaml, backendProjectYamlFilePath); return Promise.resolve(currentDefinition); } exports.specify = (projectInfo) => { _projectInfo = JSON.parse(JSON.stringify(projectInfo)); // clone projectInfo return new Promise(function(resolve,reject) { startQuestionary() .then(askEnableUserFiles) .then(saveSettings) .then(resolve) .catch(reject); }) } exports.onFeatureTurnOn = function(projectInfo, cloudProjectSpec){ _projectInfo = JSON.parse(JSON.stringify(projectInfo)); // clone projectInfo } exports.onFeatureTurnOff = function(projectInfo, cloudProjectSpec){ _projectInfo = JSON.parse(JSON.stringify(projectInfo)); // clone projectInfo } |