Adicionando um usuário ao PFRelation usando o Parse Cloud Code
Estou usando o Parse.com com meu aplicativo para iPhone.
Encontrei um problema anteriormente, ao tentar adicionar o usuário atualmente conectado à coluna / chave / coluna PFRelation de outro usuário chamada "friendsRelation", que é basicamente a lista de amigos.
O único problema é que você não tem permissão para salvar alterações em outros usuários além daquele que está conectado no momento.
Aprendi então que existe uma solução alternativa que você pode usar, usando a "chave mestra" com o Parse Cloud Code.
Acabei adicionando o código aqui ao meu Parse Cloud Code:https://stackoverflow.com/a/18651564/3344977
Isso funciona muito bem e posso testar isso com êxito e adicionar um NSString a uma coluna / chave de string no banco de dados do Parse.
No entanto, não sei como modificar o código da nuvem de análise para permitir adicionar um usuário à coluna / chave PFRelation de outro usuário.
Eu tenho tentado tudo nas últimas 2 horas com o código da nuvem de análise acima ao qual vinculei e não consegui que nada funcionasse, e então percebi que meu problema é com o código da nuvem real, não com a maneira como estou tentando usar no xcode, porque, como eu disse, posso adicionar com êxito um objeto NSString para fins de teste.
Meu problema é que eu não conheço javascript e não entendo a sintaxe, então não sei como alterar o código da nuvem que está escrito em javascript.
Preciso editar o código da nuvem de análise ao qual vinculei acima, que também colarei no final desta pergunta, para poder adicionar o objeto PFUser atualmente conectado à chave / coluna de PFRelation de outro usuário.
O código que eu usaria para fazer isso no objetivo-c seria:
[friendsRelation addObject:user];
Portanto, tenho certeza de que é o mesmo que adicionar um objeto a uma matriz, mas, como eu disse, não sei como modificar o código da nuvem de análise porque está em javascript.
Aqui está o código da nuvem Parse:
Parse.Cloud.define('editUser', function(request, response) {
var userId = request.params.userId,
newColText = request.params.newColText;
var User = Parse.Object.extend('_User'),
user = new User({ objectId: userId });
user.set('new_col', newColText);
Parse.Cloud.useMasterKey();
user.save().then(function(user) {
response.success(user);
}, function(error) {
response.error(error)
});
});
E aqui está como eu o usaria no xcode usando o objetivo-c:
[PFCloud callFunction:@"editUser" withParameters:@{
@"userId": @"someuseridhere",
@"newColText": @"new text!"
}];
Agora, ele só precisa ser modificado para adicionar o PFUser atual à coluna / chave PFRelation de outro usuário, o que tenho certeza de que é tecnicamente apenas adicionar um objeto a uma matriz.
Isso deve ser bastante simples para alguém familiarizado com javascript, então eu realmente aprecio a ajuda.
Obrigado.