Azure移动服务 - 在插入脚本上更改用户模型

时间:2014-06-04 16:14:30

标签: javascript azure azure-mobile-services

我有reservation模型和user模型。在我的reservation模型的插入脚本中,我有以下内容:

function insert(item, user, request) {
    response.send(200, 'test');
    item.organizationid = user.organizationid;
    if (user.hourstoreserve <= (item.endtime - item.starttime)) {
        request.respond(400, 'You do not have the necessary hours available to make this reservation');
    } else if (user.complaints >= user.complaintsallowed) {
        request.respond(400, 'You are over your maximum number of allowed complaints this month.');        
    } else {
        user.hourstoreserve = (user.hourstoreserve - (item.endtime - item.starttime));
        request.execute();   
    };           
};

我需要确保item(我应该插入的新reservation}从organizationid获得user。我还想确保user已经验证了hourstoreserve,如果reservation成了user&#39; s {{1}应该降低。

似乎这个脚本根本没有被执行。第一个hourstoreserve不会发送回复。

我从我的自定义api调用此插入脚本,类似于以下内容:

response.send(200, 'test');

自定义API调用可以正常工作并插入预留,它似乎无法执行我的插入脚本。

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

当您从服务本身调用表的CRUD操作时(即,在自定义API,调度程序或其他表的代码中),不会执行表脚本。有一个open feature request可以将此功能添加到后端,如果您认为它会对您有所帮助,请进行投票。

我在代码中看到的另一个问题 - 传递给插入脚本的user对象不是用户模型中的项目;相反,它是关于登录用户到服务的信息(即,在客户端,在调用其中一个登录操作之后,将是它将具有的用户信息)。该对象没有关于组织ID,hourstoreserve等的任何属性。如果您需要获取该信息,则需要查询您的用户表并直接使用它。