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",
|
"mime": "1.3.4",
|
||||||
"mongodb": "2.1.18",
|
"mongodb": "2.1.18",
|
||||||
"multer": "1.1.0",
|
"multer": "1.1.0",
|
||||||
"parse": "1.8.5",
|
"parse": "1.9.0",
|
||||||
"parse-server-fs-adapter": "1.0.0",
|
"parse-server-fs-adapter": "1.0.0",
|
||||||
"parse-server-push-adapter": "1.0.4",
|
"parse-server-push-adapter": "1.0.4",
|
||||||
"parse-server-s3-adapter": "1.0.3",
|
"parse-server-s3-adapter": "1.0.3",
|
||||||
|
|||||||
@@ -5,8 +5,6 @@ var triggers = require('../src/triggers');
|
|||||||
var HooksController = require('../src/Controllers/HooksController').default;
|
var HooksController = require('../src/Controllers/HooksController').default;
|
||||||
var express = require("express");
|
var express = require("express");
|
||||||
var bodyParser = require('body-parser');
|
var bodyParser = require('body-parser');
|
||||||
// Inject the hooks API
|
|
||||||
Parse.Hooks = require("../src/cloud-code/Parse.Hooks");
|
|
||||||
|
|
||||||
var port = 12345;
|
var port = 12345;
|
||||||
var hookServerURL = "http://localhost:"+port;
|
var hookServerURL = "http://localhost:"+port;
|
||||||
@@ -55,7 +53,7 @@ describe('Hooks', () => {
|
|||||||
expect(res.functionName).toBe("My-Test-Function");
|
expect(res.functionName).toBe("My-Test-Function");
|
||||||
expect(res.url).toBe("http://anotherurl")
|
expect(res.url).toBe("http://anotherurl")
|
||||||
// delete
|
// delete
|
||||||
return Parse.Hooks.deleteFunction("My-Test-Function")
|
return Parse.Hooks.removeFunction("My-Test-Function")
|
||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
// Find again! but should be deleted
|
// Find again! but should be deleted
|
||||||
@@ -67,7 +65,7 @@ describe('Hooks', () => {
|
|||||||
return Promise.resolve();
|
return Promise.resolve();
|
||||||
}, (err) => {
|
}, (err) => {
|
||||||
expect(err.code).toBe(143);
|
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();
|
done();
|
||||||
return Promise.resolve();
|
return Promise.resolve();
|
||||||
})
|
})
|
||||||
@@ -104,7 +102,7 @@ describe('Hooks', () => {
|
|||||||
expect(res.url).toBe("http://anotherurl")
|
expect(res.url).toBe("http://anotherurl")
|
||||||
expect(res.objectId).toBeUndefined();
|
expect(res.objectId).toBeUndefined();
|
||||||
|
|
||||||
return Parse.Hooks.deleteTrigger("MyClass","beforeDelete");
|
return Parse.Hooks.removeTrigger("MyClass","beforeDelete");
|
||||||
}, (err) => {
|
}, (err) => {
|
||||||
fail(err);
|
fail(err);
|
||||||
done();
|
done();
|
||||||
@@ -121,7 +119,7 @@ describe('Hooks', () => {
|
|||||||
expect(err).not.toBe(null);
|
expect(err).not.toBe(null);
|
||||||
expect(err).not.toBe(undefined);
|
expect(err).not.toBe(undefined);
|
||||||
expect(err.code).toBe(143);
|
expect(err.code).toBe(143);
|
||||||
expect(err.error).toBe("class MyClass does not exist")
|
expect(err.message).toBe("class MyClass does not exist")
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -151,8 +149,8 @@ describe('Hooks', () => {
|
|||||||
expect(err).not.toBe(undefined);
|
expect(err).not.toBe(undefined);
|
||||||
expect(err).not.toBe(null);
|
expect(err).not.toBe(null);
|
||||||
expect(err.code).toBe(143);
|
expect(err.code).toBe(143);
|
||||||
expect(err.error).toBe('function name: my_new_function already exits')
|
expect(err.message).toBe('function name: my_new_function already exits')
|
||||||
return Parse.Hooks.deleteFunction("my_new_function");
|
return Parse.Hooks.removeFunction("my_new_function");
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
done();
|
done();
|
||||||
}, (err) => {
|
}, (err) => {
|
||||||
@@ -170,8 +168,8 @@ describe('Hooks', () => {
|
|||||||
fail("should not be able to create the same trigger");
|
fail("should not be able to create the same trigger");
|
||||||
}, (err) => {
|
}, (err) => {
|
||||||
expect(err.code).toBe(143);
|
expect(err.code).toBe(143);
|
||||||
expect(err.error).toBe('class MyClass already has trigger beforeSave')
|
expect(err.message).toBe('class MyClass already has trigger beforeSave')
|
||||||
return Parse.Hooks.deleteTrigger("MyClass", "beforeSave");
|
return Parse.Hooks.removeTrigger("MyClass", "beforeSave");
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
done();
|
done();
|
||||||
}, (err) => {
|
}, (err) => {
|
||||||
@@ -185,14 +183,14 @@ describe('Hooks', () => {
|
|||||||
fail("Should not succeed")
|
fail("Should not succeed")
|
||||||
}, (err) => {
|
}, (err) => {
|
||||||
expect(err.code).toBe(143);
|
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")
|
return Parse.Hooks.getFunction("A_COOL_FUNCTION")
|
||||||
}).then( (res) => {
|
}).then( (res) => {
|
||||||
fail("the function should not exist");
|
fail("the function should not exist");
|
||||||
done();
|
done();
|
||||||
}, (err) => {
|
}, (err) => {
|
||||||
expect(err.code).toBe(143);
|
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();
|
done();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -202,14 +200,14 @@ describe('Hooks', () => {
|
|||||||
fail("Should not succeed")
|
fail("Should not succeed")
|
||||||
}, (err) => {
|
}, (err) => {
|
||||||
expect(err.code).toBe(143);
|
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")
|
return Parse.Hooks.getTrigger("AClassName","beforeSave")
|
||||||
}).then( (res) => {
|
}).then( (res) => {
|
||||||
fail("the function should not exist");
|
fail("the function should not exist");
|
||||||
done();
|
done();
|
||||||
}, (err) => {
|
}, (err) => {
|
||||||
expect(err.code).toBe(143);
|
expect(err.code).toBe(143);
|
||||||
expect(err.error).toBe('class AClassName does not exist');
|
expect(err.message).toBe('class AClassName does not exist');
|
||||||
done();
|
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