Update parse to version 1.9.0 🚀 (#2233)
* chore(package): update parse to version 1.9.0 https://greenkeeper.io/ * Removes Hooks client API as provided by node SDK
This commit is contained in:
committed by
Florent Vilmart
parent
7a2e906202
commit
868ad5bdfd
@@ -33,7 +33,7 @@
|
||||
"mime": "1.3.4",
|
||||
"mongodb": "2.1.18",
|
||||
"multer": "1.1.0",
|
||||
"parse": "1.8.5",
|
||||
"parse": "1.9.0",
|
||||
"parse-server-fs-adapter": "1.0.0",
|
||||
"parse-server-push-adapter": "1.0.4",
|
||||
"parse-server-s3-adapter": "1.0.3",
|
||||
|
||||
@@ -5,8 +5,6 @@ var triggers = require('../src/triggers');
|
||||
var HooksController = require('../src/Controllers/HooksController').default;
|
||||
var express = require("express");
|
||||
var bodyParser = require('body-parser');
|
||||
// Inject the hooks API
|
||||
Parse.Hooks = require("../src/cloud-code/Parse.Hooks");
|
||||
|
||||
var port = 12345;
|
||||
var hookServerURL = "http://localhost:"+port;
|
||||
@@ -55,7 +53,7 @@ describe('Hooks', () => {
|
||||
expect(res.functionName).toBe("My-Test-Function");
|
||||
expect(res.url).toBe("http://anotherurl")
|
||||
// delete
|
||||
return Parse.Hooks.deleteFunction("My-Test-Function")
|
||||
return Parse.Hooks.removeFunction("My-Test-Function")
|
||||
})
|
||||
.then((res) => {
|
||||
// Find again! but should be deleted
|
||||
@@ -67,7 +65,7 @@ describe('Hooks', () => {
|
||||
return Promise.resolve();
|
||||
}, (err) => {
|
||||
expect(err.code).toBe(143);
|
||||
expect(err.error).toBe("no function named: My-Test-Function is defined")
|
||||
expect(err.message).toBe("no function named: My-Test-Function is defined")
|
||||
done();
|
||||
return Promise.resolve();
|
||||
})
|
||||
@@ -104,7 +102,7 @@ describe('Hooks', () => {
|
||||
expect(res.url).toBe("http://anotherurl")
|
||||
expect(res.objectId).toBeUndefined();
|
||||
|
||||
return Parse.Hooks.deleteTrigger("MyClass","beforeDelete");
|
||||
return Parse.Hooks.removeTrigger("MyClass","beforeDelete");
|
||||
}, (err) => {
|
||||
fail(err);
|
||||
done();
|
||||
@@ -121,7 +119,7 @@ describe('Hooks', () => {
|
||||
expect(err).not.toBe(null);
|
||||
expect(err).not.toBe(undefined);
|
||||
expect(err.code).toBe(143);
|
||||
expect(err.error).toBe("class MyClass does not exist")
|
||||
expect(err.message).toBe("class MyClass does not exist")
|
||||
done();
|
||||
});
|
||||
});
|
||||
@@ -151,8 +149,8 @@ describe('Hooks', () => {
|
||||
expect(err).not.toBe(undefined);
|
||||
expect(err).not.toBe(null);
|
||||
expect(err.code).toBe(143);
|
||||
expect(err.error).toBe('function name: my_new_function already exits')
|
||||
return Parse.Hooks.deleteFunction("my_new_function");
|
||||
expect(err.message).toBe('function name: my_new_function already exits')
|
||||
return Parse.Hooks.removeFunction("my_new_function");
|
||||
}).then(() => {
|
||||
done();
|
||||
}, (err) => {
|
||||
@@ -170,8 +168,8 @@ describe('Hooks', () => {
|
||||
fail("should not be able to create the same trigger");
|
||||
}, (err) => {
|
||||
expect(err.code).toBe(143);
|
||||
expect(err.error).toBe('class MyClass already has trigger beforeSave')
|
||||
return Parse.Hooks.deleteTrigger("MyClass", "beforeSave");
|
||||
expect(err.message).toBe('class MyClass already has trigger beforeSave')
|
||||
return Parse.Hooks.removeTrigger("MyClass", "beforeSave");
|
||||
}).then(() => {
|
||||
done();
|
||||
}, (err) => {
|
||||
@@ -185,14 +183,14 @@ describe('Hooks', () => {
|
||||
fail("Should not succeed")
|
||||
}, (err) => {
|
||||
expect(err.code).toBe(143);
|
||||
expect(err.error).toBe('no function named: A_COOL_FUNCTION is defined');
|
||||
expect(err.message).toBe('no function named: A_COOL_FUNCTION is defined');
|
||||
return Parse.Hooks.getFunction("A_COOL_FUNCTION")
|
||||
}).then( (res) => {
|
||||
fail("the function should not exist");
|
||||
done();
|
||||
}, (err) => {
|
||||
expect(err.code).toBe(143);
|
||||
expect(err.error).toBe('no function named: A_COOL_FUNCTION is defined');
|
||||
expect(err.message).toBe('no function named: A_COOL_FUNCTION is defined');
|
||||
done();
|
||||
});
|
||||
});
|
||||
@@ -202,14 +200,14 @@ describe('Hooks', () => {
|
||||
fail("Should not succeed")
|
||||
}, (err) => {
|
||||
expect(err.code).toBe(143);
|
||||
expect(err.error).toBe('class AClassName does not exist');
|
||||
expect(err.message).toBe('class AClassName does not exist');
|
||||
return Parse.Hooks.getTrigger("AClassName","beforeSave")
|
||||
}).then( (res) => {
|
||||
fail("the function should not exist");
|
||||
done();
|
||||
}, (err) => {
|
||||
expect(err.code).toBe(143);
|
||||
expect(err.error).toBe('class AClassName does not exist');
|
||||
expect(err.message).toBe('class AClassName does not exist');
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1,132 +0,0 @@
|
||||
var request = require("request");
|
||||
const send = function(method, path, body) {
|
||||
|
||||
var Parse = require("parse/node").Parse;
|
||||
|
||||
var options = {
|
||||
method: method,
|
||||
url: Parse.serverURL + path,
|
||||
headers: {
|
||||
'X-Parse-Application-Id': Parse.applicationId,
|
||||
'X-Parse-Master-Key': Parse.masterKey,
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
};
|
||||
|
||||
if (body) {
|
||||
if (typeof body == "object") {
|
||||
options.body = JSON.stringify(body);
|
||||
} else {
|
||||
options.body = body;
|
||||
}
|
||||
}
|
||||
|
||||
var promise = new Parse.Promise();
|
||||
request(options, function(err, response, body){
|
||||
if (err) {
|
||||
promise.reject(err);
|
||||
return;
|
||||
}
|
||||
body = JSON.parse(body);
|
||||
if (body.error) {
|
||||
promise.reject(body);
|
||||
} else {
|
||||
promise.resolve(body);
|
||||
}
|
||||
});
|
||||
return promise;
|
||||
}
|
||||
|
||||
var Hooks = {};
|
||||
|
||||
Hooks.getFunctions = function() {
|
||||
return Hooks.get("functions");
|
||||
}
|
||||
|
||||
Hooks.getTriggers = function() {
|
||||
return Hooks.get("triggers");
|
||||
}
|
||||
|
||||
Hooks.getFunction = function(name) {
|
||||
return Hooks.get("functions", name);
|
||||
}
|
||||
|
||||
Hooks.getTrigger = function(className, triggerName) {
|
||||
return Hooks.get("triggers", className, triggerName);
|
||||
}
|
||||
|
||||
Hooks.get = function(type, functionName, triggerName) {
|
||||
var url = "/hooks/"+type;
|
||||
if(functionName) {
|
||||
url += "/"+functionName;
|
||||
if (triggerName) {
|
||||
url += "/"+triggerName;
|
||||
}
|
||||
}
|
||||
return send("GET", url);
|
||||
}
|
||||
|
||||
Hooks.createFunction = function(functionName, url) {
|
||||
return Hooks.create({functionName: functionName, url: url});
|
||||
}
|
||||
|
||||
Hooks.createTrigger = function(className, triggerName, url) {
|
||||
return Hooks.create({className: className, triggerName: triggerName, url: url});
|
||||
}
|
||||
|
||||
Hooks.create = function(hook) {
|
||||
var url;
|
||||
if (hook.functionName && hook.url) {
|
||||
url = "/hooks/functions";
|
||||
} else if (hook.className && hook.triggerName && hook.url) {
|
||||
url = "/hooks/triggers";
|
||||
} else {
|
||||
return Promise.reject({error: 'invalid hook declaration', code: 143});
|
||||
}
|
||||
return send("POST", url, hook);
|
||||
}
|
||||
|
||||
Hooks.updateFunction = function(functionName, url) {
|
||||
return Hooks.update({functionName: functionName, url: url});
|
||||
}
|
||||
|
||||
Hooks.updateTrigger = function(className, triggerName, url) {
|
||||
return Hooks.update({className: className, triggerName: triggerName, url: url});
|
||||
}
|
||||
|
||||
|
||||
Hooks.update = function(hook) {
|
||||
var url;
|
||||
if (hook.functionName && hook.url) {
|
||||
url = "/hooks/functions/"+hook.functionName;
|
||||
delete hook.functionName;
|
||||
} else if (hook.className && hook.triggerName && hook.url) {
|
||||
url = "/hooks/triggers/"+hook.className+"/"+hook.triggerName;
|
||||
delete hook.className;
|
||||
delete hook.triggerName;
|
||||
}
|
||||
return send("PUT", url, hook);
|
||||
}
|
||||
|
||||
Hooks.deleteFunction = function(functionName) {
|
||||
return Hooks.delete({functionName: functionName});
|
||||
}
|
||||
|
||||
Hooks.deleteTrigger = function(className, triggerName) {
|
||||
return Hooks.delete({className: className, triggerName: triggerName});
|
||||
}
|
||||
|
||||
Hooks.delete = function(hook) {
|
||||
var url;
|
||||
if (hook.functionName) {
|
||||
url = "/hooks/functions/"+hook.functionName;
|
||||
delete hook.functionName;
|
||||
} else if (hook.className && hook.triggerName) {
|
||||
url = "/hooks/triggers/"+hook.className+"/"+hook.triggerName;
|
||||
delete hook.className;
|
||||
delete hook.triggerName;
|
||||
}
|
||||
return send("PUT", url, '{ "__op": "Delete" }');
|
||||
}
|
||||
|
||||
module.exports = Hooks
|
||||
Reference in New Issue
Block a user