Last active
May 30, 2018 06:36
-
-
Save aBuder/d1f1b2fefd46318de76929059dfdb724 to your computer and use it in GitHub Desktop.
Cloud Functions
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Cloud Function to delete one ore more User object | |
// | |
// { | |
// "objectIds": ["mmspeGP9Ke"] | |
// } | |
// | |
// | |
Parse.Cloud.define('deleteUser', function(request, response) { | |
request.log.info('CloudFunction deleteUser : called params - ' + JSON.stringify(request.params)); | |
request.log.info('CloudFunction deleteUser : called user - ' + JSON.stringify(request.user)); | |
// check if an user is call the cloud function | |
// if no user is called, so throw an error | |
if (request.user == null) { | |
response.error("Unauthorized"); | |
} | |
// check if ojectIds set in params | |
if (request.params.objectIds == null) { | |
response.error('No objectIds set in body'); | |
} | |
var objectIds = request.params.objectIds; | |
objectIds.forEach(objectId => { | |
var query = new Parse.Query(Parse.User); | |
query.get(objectId, { | |
useMasterKey: true, | |
success: function(user) { | |
request.log.info('CloudFunction deleteUser : found user - ' + JSON.stringify(user)); | |
// The object was retrieved successfully. | |
user.destroy({ | |
useMasterKey: true, | |
success: function(user) { | |
request.log.info('CloudFunction deleteUser : delete user - ' + JSON.stringify(user)); | |
}, | |
error: function(user, error) { | |
request.log.info('CloudFunction deleteUser : error while delete user - ' + JSON.stringify(error)); | |
} | |
}); | |
}, | |
error: function(object, error) { | |
request.log.info('CloudFunction deleteUser : could not find user with objectId - ' + objectId); | |
request.log.info('CloudFunction deleteUser : could not find user error - ' + JSON.stringify(error)); | |
} | |
}); | |
// var user = new Parse.User(); | |
// user.destroy | |
}); | |
response.success(); | |
}); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Parse.Cloud.define('updateUser', function(request, response) { | |
request.log.info('CloudFunction updateUser : called params - ' + JSON.stringify(request.params)); | |
request.log.info('CloudFunction updateUser : called user - ' + JSON.stringify(request.user)); | |
// check if an user is call the cloud function | |
// if no user is called, so throw an error | |
if (request.user == null) { | |
response.error("Unauthorized"); | |
} | |
// TODO: Check if user is admin | |
// TODO: Bei update auf User Admin Felder Email und username nicht änderbar | |
// Passwort ändern nur als Admin | |
// role: | |
// check if property ACL is set. If | |
// it is set, than delete that, because | |
// parser server throw an error | |
if (request.params && request.params.ACL) { | |
delete request.params.ACL; | |
request.log.info('CloudFunction updateUser : delete ACL property params - ' + JSON.stringify(request.params)); | |
} | |
// fetch the user with objectId and update properties of | |
// user, for fetch and save the master key would be used | |
let objectId = request.params.objectId; | |
var query = new Parse.Query(Parse.User); | |
query.equalTo('objectId', objectId); | |
query.first({ | |
useMasterKey: true, | |
success: function(object) { | |
object.save(request.params, { | |
useMasterKey: true, | |
success: function(user) { | |
request.log.info('CloudFunction updateUser : success '); | |
response.success(user); | |
}, | |
error: function(user, error) { | |
request.log.info('CloudFunction updateUser : error '); | |
request.log.error(error); | |
response.error(error); | |
} | |
}); | |
}, | |
error: function(error) { | |
alert("CloudFunction updateUser : " + error.code + " " + error.message); | |
response.error("Error"); | |
} | |
}); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment