1 | var Request = require("superagent");
|
2 | var Q = require("q");
|
3 | var Path = require("path")
|
4 | var fs = require("fs");
|
5 | var path = Path.join( process.cwd(), "package.json" );
|
6 |
|
7 | function App(){
|
8 |
|
9 | }
|
10 |
|
11 | App.create = function( app_name ){
|
12 |
|
13 | var deferred = Q.defer();
|
14 | Request.post( "https://clay.secure.force.com/api/services/apexrest/clay-api" )
|
15 | .set('Accept', 'application/json')
|
16 | .type('application/json')
|
17 | .send( { "dev_code" : process.env.CLAY_CODE, "app_name" : app_name } )
|
18 |
|
19 | .end(function(res){
|
20 | if( res.status > 200 ) return deferred.reject(res.text );
|
21 | var p;
|
22 |
|
23 | if( !fs.existsSync(path) ){
|
24 | p = { name: app_name, version: "0.0.1" }
|
25 | }
|
26 | else{
|
27 | delete require.cache[require.resolve( path )]
|
28 | p = require( path );
|
29 | if( p.name != app_name ) p.name = app_name;
|
30 | }
|
31 |
|
32 | fs.writeFile(path, JSON.stringify(p, null, 4), function(err) {
|
33 | if(err) deferred.reject(err)
|
34 | else deferred.resolve( res.body )
|
35 | });
|
36 |
|
37 | });
|
38 |
|
39 | return deferred.promise;
|
40 | }
|
41 |
|
42 | App.check = function(app_name){
|
43 |
|
44 | var deferred = Q.defer();
|
45 | Request.get( "https://clay.secure.force.com/api/services/apexrest/clay-api" )
|
46 | .set('Accept', 'application/json')
|
47 | .type('application/json')
|
48 | .type('application/json')
|
49 | .query("dev_code="+ process.env.CLAY_CODE )
|
50 | .query("app_name="+ process.env.NAME )
|
51 |
|
52 | .end(function(res){
|
53 | if( res.status > 200 ) return deferred.reject(res.text );
|
54 | deferred.resolve( res.body )
|
55 | });
|
56 |
|
57 | return deferred.promise;
|
58 |
|
59 | }
|
60 |
|
61 | module.exports = App; |
\ | No newline at end of file |