All files / lib/backend-operations ops-user-signin.js

20.69% Statements 6/29
0% Branches 0/6
0% Functions 0/9
20.69% Lines 6/29
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 107 108                          12x 12x   12x   12x 12x                                                                                                                                                     12x                          
/* 
 * 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 chalk = require('chalk')
 
const pathManager = require('../utils/awsmobilejs-path-manager.js')
 
const _featureName = 'user-signin'
const _featureCommands = {}
 
let _featureBuildDirPath
let _projectInfo
let _awsConfig
let _backendProjectDetails
let _callback
 
 
function specify(projectInfo) {
    try{
        const projectFeatureOps = require(pathManager.getProjectFeatureOpsFilePath(projectInfo.ProjectPath, _featureName))
        projectFeatureOps.specify(projectInfo)
    }catch(e){
        console.log(chalk.red(_featureName + ' feature specification error:'))
        console.log(e)
    }
}
 
function hasCommand(command){
    return _featureCommands.hasOwnProperty(command)
}
 
function runCommand(command, projectInfo, args){
    console.log(_featureName + ' running ' + command)
}
 
function onFeatureTurnOn(projectInfo, backendProjectSpec){
    try{
        const projectFeatureOps = require(pathManager.getProjectFeatureOpsFilePath(projectInfo.ProjectPath, _featureName))
        projectFeatureOps.onFeatureTurnOn(projectInfo)
    }catch(e){
        console.log(chalk.red(_featureName + ' onFeatureTurnOn error:'))
        console.log(e)
    }
}
 
function onFeatureTurnOff(projectInfo, backendProjectSpec){
    try{
        const projectFeatureOps = require(pathManager.getProjectFeatureOpsFilePath(projectInfo.ProjectPath, _featureName))
        projectFeatureOps.onFeatureTurnOff(projectInfo)
    }catch(e){
        console.log(chalk.red(_featureName + ' onFeatureTurnOff error:'))
        console.log(e)
    }
}
 
function build(projectInfo, backendProject, callback){
    if(callback){
        callback(false)
    }
}
 
function preBackendUpdate(projectInfo, awsDetails, backendProjectDetails, callback) {
    if(callback){
        callback()
    }
}
 
//////////////////// sync backend project ////////////////////
function syncCurrentBackendInfo(projectInfo, backendDetails, awsDetails, callback){
    if(callback){
        callback()
    }
}
 
function syncToDevBackend(projectInfo, backendProject, enabledFeatures){
    // let featureCurrentInfoDirPath = pathManager.getCurrentBackendFeatureDirPath(projectInfo.ProjectPath, _featureName)
    // if(fs.existsSync(featureCurrentInfoDirPath)){
    //     let featureBackendDirPath = pathManager.getBackendFeatureDirPath(projectInfo.ProjectPath, _featureName)
    //     fs.emptyDirSync(featureBackendDirPath)
    //     fs.copySync(featureCurrentInfoDirPath, featureBackendDirPath)
    // }
}
 
module.exports = {
    featureName: _featureName,
    featureCommands: _featureCommands,
    specify,
    hasCommand,
    runCommand,
    onFeatureTurnOn,
    onFeatureTurnOff,
    build,
    preBackendUpdate,
    syncCurrentBackendInfo,
    syncToDevBackend
}