12. • 全てREST APIで操作が可能
/1/classes/<className> POST Creating Objects
/1/classes/<className>/<objectId> GET Retrieving Objects
/1/classes/<className>/<objectId> PUT Updating Objects
/1/classes/<className> GET Queries
/1/classes/<className>/<objectId> DELETE Deleting Objects
REST API
21. Cloud Code Triggerの例
• likeした時にadmin roleとそのユーザー自身のみwrite可のACLを付与するhookを追加する例
var Activity = Parse.Object.extend("Activity");
var createMyACL = function(userId) {
var acl = {};
acl["*"] = {"read": true};
acl["role:admin"] = {"read": true, "write": true};
acl[userId] = {"read": true, "write": true};
return acl;
};
var assignACLTrigger = function(request, response) {
// allow master
if (request.master) {
return response.success();
}
// user must be authenticated
if (request.user) {
// Request to update existing row. Let it proceed.
// The PUT request will cause error by ACL if the user is invalid
if (!request.object.isNew()) {
return response.success();
}
// set ACL for POST request
request.object.set('ACL', createMyACL(request.user.id));
response.success();
} else {
return response.error("Not logged in.");
}
}
// modify POST request with ACL
Parse.Cloud.beforeSave(Activity, assignACLTrigger);