Comparing version 0.3.0 to 0.3.1
136
lib/28.js
@@ -1,14 +0,44 @@ | ||
'use strict'; | ||
(function(){ | ||
'use strict'; | ||
//var Q = require('q'); | ||
var sync = require('./sync'); | ||
var Options = sync.Options; | ||
var Client = sync.Client; | ||
exports.$28 = function(apiEndpoint) { | ||
var $28 = require('28.io-nodejs').$28(apiEndpoint); | ||
this.login = function(email, password){ | ||
return $28.Auth.authenticate({ | ||
var syncLib = require('./sync'); | ||
var Options = syncLib.Options; | ||
var Client = syncLib.Client; | ||
var api; | ||
var sync = function(type, projectName, projectToken, localProjectPath, overwrite, deleteOrphaned, simulate, ignore) { | ||
var client = new Client(api, projectName, projectToken, localProjectPath); | ||
var method = type === 'download' ? client.download : client.upload; | ||
return method(overwrite, deleteOrphaned, simulate, ignore); | ||
}; | ||
var $28 = function(apiEndpoint) { | ||
api = require('28.io-nodejs').$28(apiEndpoint); | ||
this.Options = Options; | ||
}; | ||
$28.prototype.download = function(projectName, projectToken, localProjectPath, overwrite, deleteOrphaned, simulate, ignore) { | ||
return sync('download', projectName, projectToken, localProjectPath, overwrite, deleteOrphaned, simulate, ignore); | ||
}; | ||
$28.prototype.upload = function(projectName, projectToken, localProjectPath, overwrite, deleteOrphaned, simulate, ignore) { | ||
return sync('upload', projectName, projectToken, localProjectPath, overwrite, deleteOrphaned, simulate, ignore); | ||
}; | ||
$28.prototype.truncate = function(projectName, projectToken, simulate, ignore) { | ||
var client = new Client(api, projectName, projectToken); | ||
return client.truncate(simulate, ignore); | ||
}; | ||
$28.prototype.refreshTokens = function(email, token){ | ||
return api.Auth.authenticate({ | ||
email: email, | ||
refresh_token: token, | ||
grant_type: 'refresh_token' | ||
}); | ||
}; | ||
$28.prototype.login = function(email, password) { | ||
return api.Auth.authenticate({ | ||
email: email, | ||
password: password, | ||
@@ -19,13 +49,62 @@ grant_type: 'client_credentials' | ||
this.refreshTokens = function(email, token){ | ||
return $28.Auth.authenticate({ | ||
email: email, | ||
refresh_token: token, | ||
grant_type: 'refresh_token' | ||
$28.prototype.createProject = function(projectName, token) { | ||
return api.Project.createProject({ | ||
projectName: projectName, | ||
package: 'free', | ||
token: token | ||
}); | ||
}; | ||
this.Options = Options; | ||
$28.prototype.deleteProject = function(projectName, token){ | ||
return api.Project.deleteProject({ | ||
name: projectName, | ||
token: token | ||
}); | ||
}; | ||
$28.prototype.listDatasources = function(projectName, token){ | ||
return api.Datasources(projectName).listDatasources({ token: token}); | ||
}; | ||
this.overwriteCoercion = function(value, cmd){ | ||
$28.prototype.createDatasource = function(projectName, category, name, token, difault, credentials){ | ||
return api.Datasources(projectName).createDatasource({ | ||
category: category, | ||
name: name, | ||
token: token, | ||
default: difault, | ||
credentials: credentials | ||
}); | ||
}; | ||
$28.prototype.removeDatasource = function(projectName, category, datasource, projectToken){ | ||
return api.Datasources(projectName).removeDatasource({ | ||
category: category, | ||
datasource: datasource, | ||
token: projectToken | ||
}); | ||
}; | ||
$28.prototype.getDefaultMongoDBCredentials = function(projectName, token){ | ||
return api.Project.getDefaultMongoDBCredentials({ | ||
name: projectName, | ||
token: token | ||
}); | ||
}; | ||
$28.prototype.updateDefaultMongoDBCredentials = function( | ||
projectName, token, dbType, connString, db, username, password, preDigested | ||
){ | ||
return api.Project.updateDefaultMongoDBCredentials({ | ||
name: projectName, | ||
token: token, | ||
dbType: dbType, | ||
connString: connString, | ||
db: db, | ||
user: username, | ||
pass: password, | ||
preDigested: preDigested | ||
}); | ||
}; | ||
$28.prototype.overwriteCoercion = function(value, cmd){ | ||
value = value.toLowerCase(); | ||
@@ -46,20 +125,3 @@ if(value === 'yes' || value === 'all' || value === 'always') { | ||
var sync = function(type, projectName, projectToken, localProjectPath, overwrite, deleteOrphaned, simulate, ignore){ | ||
var client = new Client($28, projectName, projectToken, localProjectPath); | ||
var method = type === 'download' ? client.download : client.upload; | ||
return method(overwrite, deleteOrphaned, simulate, ignore); | ||
}; | ||
this.download = function(projectName, projectToken, localProjectPath, overwrite, deleteOrphaned, simulate, ignore){ | ||
return sync('download', projectName, projectToken, localProjectPath, overwrite, deleteOrphaned, simulate, ignore); | ||
}; | ||
this.upload = function(projectName, projectToken, localProjectPath, overwrite, deleteOrphaned, simulate, ignore){ | ||
return sync('upload', projectName, projectToken, localProjectPath, overwrite, deleteOrphaned, simulate, ignore); | ||
}; | ||
this.truncate = function(projectName, projectToken, simulate, ignore){ | ||
var client = new Client($28, projectName, projectToken); | ||
return client.truncate(simulate, ignore); | ||
}; | ||
}; | ||
exports.$28 = $28; | ||
})(); |
@@ -15,4 +15,5 @@ 'use strict'; | ||
require('./commands/truncate'); | ||
require('./commands/datasources'); | ||
cli.version(pkg.version); | ||
module.exports = cli; |
@@ -6,2 +6,3 @@ 'use strict'; | ||
var Config = require('../config').Config; | ||
var $28 = Config.getAPIClient(); | ||
@@ -22,2 +23,34 @@ //List Projects | ||
}); | ||
}); | ||
//Create Project | ||
var createPrjCmd = cli.command('create-project <project-name>'); | ||
createPrjCmd.description('Create a new 28.io project.') | ||
.action(function(projectName){ | ||
cli.matchedCommand = true; | ||
console.log('Creating Project ' + projectName + '...'.grey); | ||
Config.refreshTokens() | ||
.then(function(){ | ||
return $28.createProject(projectName, Config.getAccessToken()); | ||
}) | ||
.then(function(){ | ||
console.log(('Created ' + projectName + '.').green); | ||
}) | ||
.catch(Config.handleAPIError); | ||
}); | ||
//Delete Project | ||
var deletePrjCmd = cli.command('delete-project <project-name>'); | ||
deletePrjCmd.description('Delete a new 28.io project.') | ||
.action(function(projectName){ | ||
cli.matchedCommand = true; | ||
console.log('Deleting Project ' + projectName + '...'.grey); | ||
Config.refreshTokens() | ||
.then(function(){ | ||
return $28.deleteProject(projectName, Config.getAccessToken()); | ||
}) | ||
.then(function(){ | ||
console.log(('Deleted ' + projectName + '.').green); | ||
}) | ||
.catch(Config.handleAPIError); | ||
}); |
@@ -41,3 +41,3 @@ 'use strict'; | ||
console.log('All done.'.grey); | ||
}).catch(Config.handleSyncError); | ||
}).catch(Config.handleAPIError); | ||
}); | ||
@@ -44,0 +44,0 @@ }); |
@@ -28,4 +28,4 @@ 'use strict'; | ||
console.log('All done.'.grey); | ||
}).catch(Config.handleSyncError); | ||
}).catch(Config.handleAPIError); | ||
}); | ||
}); |
@@ -5,3 +5,3 @@ 'use strict'; | ||
var path = require('path'); | ||
var _ = require('underscore'); | ||
var _ = require('lodash'); | ||
var catSettings = require('cat-settings'); | ||
@@ -70,2 +70,6 @@ | ||
getAccessToken: function(){ | ||
return this.config.access_token; | ||
}, | ||
getProjectToken: function(projectName){ | ||
@@ -87,3 +91,3 @@ var token = this.config.project_tokens['project_'+projectName]; | ||
handleAPIError: function(error){ | ||
handleAPIAuthError: function(error){ | ||
if(error instanceof Error) { | ||
@@ -101,3 +105,3 @@ if(error.getCode() === 'ENOTFOUND') { | ||
handleSyncError: function(error){ | ||
handleAPIError: function(error){ | ||
if(error instanceof Error) { | ||
@@ -133,5 +137,5 @@ console.error(error.message.red); | ||
console.error('\nUse the login command again.'.red); | ||
that.handleAPIError(error); | ||
that.handleAPIAuthError(error); | ||
}); | ||
} | ||
}; |
@@ -9,3 +9,3 @@ { | ||
"description": "Command line utility to download and upload 28.io queries.", | ||
"version": "0.3.0", | ||
"version": "0.3.1", | ||
"keywords": [ | ||
@@ -31,3 +31,2 @@ "jsoniq", | ||
"cat-settings": "~1.0.0", | ||
"underscore": "~1.5.2", | ||
"read": "~1.0.5", | ||
@@ -39,3 +38,4 @@ "request": "~2.33.0", | ||
"colors": "~0.6.2", | ||
"28.io-nodejs": "0.0.7" | ||
"28.io-nodejs": "0.0.7", | ||
"lodash": "~2.4.1" | ||
}, | ||
@@ -42,0 +42,0 @@ "devDependencies": { |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
159734
26
906
+ Addedlodash@~2.4.1
+ Addedlodash@2.4.2(transitive)
- Removedunderscore@~1.5.2
- Removedunderscore@1.5.2(transitive)