I'm working with a table in Azure Mobile Services using the Javascript Library that has soft delete enabled. The delete part works fine, but the undelete is causing me issues. I've looked all over, and can't seem to find any documentation on how to actually undelete a soft deleted record. I resorted to trying updating the record and setting the __deleted field to false, but this just returns a 412 error "Precondition Failed".
function addUser(user) {
return $q(function (resolve, reject) {
var users = aadClient.getTable("user");
var newUser = { id: user.userPrincipalName, name: user.givenName + " " + user.surname };
users.where({ id: user.userPrincipalName })
.read({ __includedeleted: true })
.done(function (results) {
if (results.length < 1) {
users.insert(newUser).done(function (result) {
resolve(result);
}, function (err) {
reject(err);
});
} else {
results[0].__deleted = false;
users.update(results[0]).done(function (result) {
resolve(result);
}, function (err) {
reject(err);
});
}
});
})
}