UNPKG

1.49 kBJavaScriptView Raw
1var Request = require("superagent");
2var Q = require("q");
3var Path = require("path")
4var fs = require("fs");
5var path = Path.join( process.cwd(), "package.json" );
6
7function App(){
8
9}
10
11App.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
42App.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
61module.exports = App;
\No newline at end of file