UNPKG

fh-fhc

Version:

A Command Line Interface for FeedHenry

94 lines (87 loc) 3.26 kB
/* globals i18n */ var fhreq = require('../../../utils/request.js'); var fs = require('fs'); var util = require('util'); module.exports = { 'desc' : i18n._('Create a credential bundle'), 'examples' : [{ cmd : 'fhc credential create --name=<name> --type=<type> --platform=<platform> --env=<env> --privatekey=<privatekey> --certificate=<certificate>', desc : "Create a credential bundle for Android" },{ cmd : 'fhc credential create --name=<name> --type=<type> --platform=<platform> --env=<env> --privatekey=<privatekey> --certificate=<certificate> --provisioning=<provisioning>', desc : "Create a credential bundle for IOS" }], 'demand' : ['name', 'platform', 'privatekey', 'certificate'], 'alias' : { 'name': 'n', 'type': 'n', 'platform': 'p', 'privatekey': 'pk', 'certificate': 'c', 'provisioning': 'pv', 0: 'name', 1: 'type', 2: 'platform', 3: 'privatekey', 4: 'certificate', 5: 'provisioning' }, 'describe' : { 'name' : i18n._("Name for the credential bundle which you want create."), 'type': i18n._("The default value is release. Option valid just for IOS platform. Options :['release','debug', 'distribution']"), 'platform': i18n._("Platform Options : [android, ios]"), 'env': i18n._("Default value is all. Environment ID which you want create the credential bundle."), 'privatekey': i18n._("Path for the private key file (E.g --privateKey=/Users/user/privatekey)"), 'certificate': i18n._("Path for the certificate file (E.g --certificate:/Users/user/certificate)"), 'provisioning': i18n._("Path for the provisioning file. (E.g --provisioning:/Users/user/provisioning)") }, 'url' : '/box/api/credentials', 'method' : 'post', 'customCmd' : function(params,cb) { params.platform = params.platform.toLowerCase(); if (params.platform !== 'ios' && params.platform !== 'android') { return cb( i18n._('Invalid parameter for platform: ') + params.platform); } var dataObject = [{ name: 'bundleName', value: params.name },{ name: 'platform', value: params.platform },{ name: 'bundleType', value: 'release' },{ name: 'privatekey', value: fs.createReadStream(params.privatekey) },{ name: 'certificate', value: fs.createReadStream(params.certificate) }]; if (params.env) { dataObject.push({ name: 'environments', value: params.env }); } if (params.platform === 'ios') { if (params.type && params.type !== 'release' && params.type !== 'distribution' && params.type !== 'debug') { return cb(i18n._('Invalid parameter for --type : ') + params.type); } else if (params.type) { dataObject.push({ name: 'bundleType', value: params.type }); } if (!params.provisioning) { return cb(i18n._('Missed parameter --provisioning.')); } dataObject.push({ name: 'provisioning', value: fs.createReadStream(params.provisioning) }); } fhreq.doRequestWithDataObjectValues(this.url,dataObject, null, null, util.format(i18n._("Credential bundle '%s' created successfully"), params.name), cb); } };