All files / lib/backend-operations ops-analytics.js

100% Statements 28/28
50% Branches 3/6
88.89% Functions 8/9
100% Lines 28/28

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                 2x 2x 2x   1x 1x         1x       1x       2x 2x 2x   1x 1x         3x 3x 3x   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 chalk = require('chalk')
 
const pathManager = require('../utils/awsmobilejs-path-manager.js')
 
const _featureName = 'analytics'
const _featureCommands = {}
 
let _featureBuildDirPath 
let _projectInfo 
let _awsConfig 
let _backendProjectDetails 
let _callback 
 
function specify(projectInfo) {
    try{
        const projectFeatureOps = require(pathManager.getProjectFeatureOpsFilePath(_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(_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(_featureName))
        projectFeatureOps.onFeatureTurnOff(projectInfo)
    }catch(e){
        console.log(chalk.red(_featureName + ' onFeatureTurnOff error:'))
        console.log(e)
    }
}
 
function build(projectInfo, backendProject, callback){
    Eif(callback){
        callback(false)
    }
}
 
function preBackendUpdate(projectInfo, backendProjectDetails,  awsDetails, callback) {
    Eif(callback){
        callback()
    }
}
 
//////////////////// sync backend project ////////////////////
function syncCurrentBackendInfo(projectInfo, backendDetails, awsDetails, callback){
    Eif(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
}