Dados de leitura e gravação

 

Em um serviço móvel de back-end JavaScript, use o objeto tables para trabalhar com dados armazenados em um Banco de dados SQL a partir de scripts de servidor. Em uma operação de tabela, o objeto tables é um objeto global.

No exemplo a seguir, o objeto tables global é usado para acessar a tabela permissions, que é consultada para determinar se o usuário tem autorização para criar um pedido.

function insert(item, user, request) {
    var permissionsTable = tables.getTable('permissions');

    permissionsTable.where({
        userId: user.userId,
        permission: 'submit order'
    }).read({
        success: checkPermissions
    });

    function checkPermissions(results) {
        if (results.length > 0) {
            // Permission record was found. Continue normal execution.
            request.execute();
        } else {
            console.log('User %s attempted to submit an order without permissions.', user.userId);
            request.respond(statusCodes.FORBIDDEN, 'You do not have permission to submit orders.');
        }
    }
}
System_CAPS_noteObservação

Observação: recomendamos permissões de configuração para Only Authenticated User quando usar a propriedade userId. Caso contrário, seu código deve manipular valores undefined que são retornados para usuários não autenticados. Para obter mais informações, consulte Introdução a usuários nos Serviços Móveis.

Em uma API personalizada, o objeto tables é obtido do objeto request.service fornecido, conforme exibido no método GET a seguir.

exports.get = function(request, response) {    
    var myTable = request.service.tables.getTable('permissions');
    // Do something with the table here…
};

No exemplo a seguir, um novo registro é inserido na tabela audit toda vez que um item é atualizado.

function update(item, user, request) {
    request.execute({
        success: insertAuditEntry
    });

    function insertAuditEntry() {
        var auditTable = tables.getTable('audit');
        var audit = {
            record: 'checkins',
            recordId: item.id,
            timestamp: new Date(),
            values: JSON.stringify(item)
        };
        auditTable.insert(audit, {
            success: function() {
                // Write to the response now that all data operations are complete
                request.respond();
            }
        });
    }
}

Para obter mais informações, consulte a Referência de script dos Serviços Móveis.

Mostrar: