Aplicativo
Essa classe permite que um script de servidor acesse dados e verifique as permissões, além de fornecer outras funcionalidades específicas para o App Maker.
var userRoles = app.getActiveUserRoles(); if (userRoles.indexOf(app.roles.Admins) >= 0) { // Create admin-only application settings record. var settings = app.models.Settings.newRecord(); app.saveRecords([settings]); }
Essa classe está disponível apenas nos aplicativos do App Maker. Veja a referência dos Apps Script para todas as outras classes gerais disponíveis nos aplicativos do App Maker.
Propriedades
Nome | Tipo | Descrição |
---|---|---|
roles |
string[string] |
Todas as funções de usuário definidas neste aplicativo.
if (userRoles.indexOf(app.roles.Admins) < 0) { throw 'Access denied'; } |
models |
Model[string] |
Todos os modelos de dados definidos no aplicativo.
var record = app.models.Person.newRecord(); app.saveRecords([record]); |
metadata |
Metadata |
Todos os metadados definidos no aplicativo.
var displayField = app.metadata.models.model1.displayField; |
ManagedError |
function(message: String) |
Exibe uma mensagem de erro personalizada.
throw new app.ManagedError("Custom message shown to app users"); |
transaction |
Transaction |
Controla transações em modelos do Cloud SQL.
app.transaction.cloudSql.start(app.transaction.cloudSql.isolation.REPEATABLE_READ); |
Métodos
Nome | Valor de retorno | Descrição |
---|---|---|
getActiveUserRoles() |
string[] |
Retorna os papéis do usuário atual. Veja também Session.getActiveUser().
var roles = app.getActiveUserRoles(); if (roles.indexOf(app.roles.Admins) < 0) { throw 'Access denied'; } |
saveRecords(
|
undefined |
Cria novos registros de rascunhos (se o campo _key do registro for null ) ou atualiza registros atuais (se _key não for null ). Define o campo _key para registros recém-criados.
var record = app.models.Person.newRecord(); app.saveRecords([record]); |
deleteRecords( |
undefined |
Exclui registros.
var record = app.models.Person.getRecord(key); app.deleteRecords([record]); |
getRoleMembers(role:string) |
string[] |
Retorna todos os membros que pertencem a um papel específico.
var role = app.roles.Admins; var members = app.getRoleMembers(role); Não retorna membros individuais de um grupo que você adicionou a um papel. |
Associação
Essa classe representa uma associação entre dois registros, um no modelo em uma extremidade de uma relação específica e o outro no modelo na outra extremidade. Isso pode ser o mesmo modelo.
Cada associação consiste em duas chaves, que identificam os registros associados.
Essa classe está disponível apenas nos aplicativos do App Maker. Veja a referência dos Apps Script para todas as outras classes gerais disponíveis nos aplicativos do App Maker.
Propriedades
Nome | Tipo | Descrição |
---|---|---|
sourceKey |
string |
A chave do registro no modelo na extremidade da origem da relação. Use Record._sourceKey para acessar o registro. |
targetKey |
string |
A chave do registro no modelo na extremidade do destino da relação. Use Record._targetKey para acessar o registro. |
Para identificar qual extremidade de uma relação é a origem e qual é o destino, consulte a guia Segurança para ver um modelo na relação. As permissões de relação têm títulos como Funcionário + Departamento. Funcionário e Departamento são nomes das extremidades da relação. O modelo correspondente à primeira extremidade da relação é o modelo de origem, e o modelo correspondente à segunda extremidade da relação é o modelo de destino.
Modelo
Essa classe representa um modelo de dados no App Maker. Ela permite que um script acesse registros de dados desse modelo.
Essa classe está disponível apenas nos aplicativos do App Maker. Veja a referência dos Apps Script para todas as outras classes gerais disponíveis nos aplicativos do App Maker.
Métodos
Nome | Valor de retorno | Descrição |
---|---|---|
deleteRecords(
|
undefined |
Exclui vários registros pelas chaves. |
getRecord(
|
Record |
Carrega um registro por chave. |
getRecords(
|
Record[] |
Carrega vários registros pelas chaves. Pode retornar menos registros se algumas chaves não puderem ser encontradas. Os registros retornados são ordenados na mesma ordem em que as chaves foram passadas. |
newQuery() |
Query |
Cria uma consulta para carregar registros do modelo atual que correspondem a determinados critérios.
var query = app.models.Person.newQuery(); query.filters.Name._startsWith = 'John'; query.filters.Age._greaterThan = 20; query.sorting.Name._ascending(); query.sorting.Age._descending(); var records = query.run(); |
newRecord() |
Record |
Cria um novo registro não salvo (registro de rascunho). O campo _key do novo registro será null até que ele seja salvo.
var record = app.models.Person.newRecord(); app.saveRecords([record]); |
Consulta
Essa classe representa uma consulta de dados no App Maker. Ela permite que um script controle a filtragem, a classificação e a paginação de registros de dados. Quando um usuário inicia uma consulta, o App Maker aplica os filtros de propriedade à consulta e verifica as permissões dos resultados antes de retorná-los ao usuário.
Essa classe está disponível apenas nos aplicativos do App Maker. Veja a referência dos Apps Script para todas as outras classes gerais disponíveis nos aplicativos do App Maker.
Propriedades
Nome | Tipo | Descrição |
---|---|---|
filters |
Dynamic |
Adiciona filtros à consulta. Filtros compatíveis: equals, notEquals, lessThan, greaterThan, lessThanOrEquals, greaterThanOrEquals, in, notIn, startsWith, notStartsWith, contains, notContains .
var query = app.models.Person.newQuery(); query.filters.Name._startsWith = 'John'; query.filters.Age._greaterThan = 20; var records = query.run(); Os filtros Filtros Os filtros Ao consultar modelos de diretório, é possível usar somente determinados filtros. Para ver uma lista completa, consulte Campos de usuário e operadores de consulta. |
limit |
number |
Define o número máximo de registros a serem retornados para a consulta. |
offset |
number |
Define o número de registros a serem ignorados e não incluídos no resultado da consulta. |
parameters |
Dynamic |
Fornece acesso a parâmetros personalizados no Script de Consulta. |
sorting |
Dynamic |
Adiciona a classificação à consulta.
var query = app.models.Person.newQuery(); query.sorting.Name._ascending(); query.sorting.Age._descending(); var records = query.run(); |
prefetch |
Dynamic |
Adiciona pré-busca à consulta. A pré-busca garantirá que os registros relacionados sejam carregados na mesma solicitação com a consulta, em vez de carregá-los sob demanda mais tarde, quando forem acessados. A pré-busca reduz o número total de solicitações, ao custo de uma consulta inicial mais cara, o que pode melhorar o desempenho.
var query = app.models.Employee.newQuery(); query.prefetch.Manager._add(); query.prefetch.Manager.Reports._add(); var records = query.run(); for (var i in records) { var manager = records[i].Manager; // No extra call to DB var reports = manager.Reports; // No extra call to DB ... } |
Métodos
Nome | Valor de retorno | Descrição |
---|---|---|
run() |
Record[] |
Executa a consulta, retorna os registros que correspondem aos critérios de consulta.
var query = app.models.Person.newQuery(); query.filters.Name._startsWith = 'John'; query.filters.Name._ascending(); var persons = query.run(); |
Registro
Essa classe representa um registro de dados no App Maker. Ela permite que um script acesse campos de registro e registros relacionados.
Essa classe está disponível apenas nos aplicativos do App Maker. Veja a referência dos Apps Script para todas as outras classes gerais disponíveis nos aplicativos do App Maker.
Propriedades
Nome | Tipo | Descrição |
---|---|---|
_key |
string |
A chave de registro é única no modelo fornecido. A chave é gerada quando o registro é salvo e é null para novos registros não salvos (registros de rascunho). |
<field> |
Dynamic |
Há um campo para cada campo de registro ou relação. As relações qualquer para 1 são representadas por campos simples, enquanto as relações qualquer para N são representadas por matrizes.
var person = app.models.Person.newRecord(); person.name = 'John Doe'; person.age = 35; app.saveRecords([person]); var manager = app.models.Person.newRecord(); manager.name = 'Jeff Williams'; manager.age = 45; app.saveRecords([manager]); // You must save new record before using it in relations. person.manager = manager; app.saveRecords([person]); |
Metadados
Essa classe representa todos os metadados no aplicativo. Ela permite que um script acesse os metadados desse aplicativo.
Essa classe está disponível apenas nos aplicativos App Maker. Veja a referência dos Apps Script para todas as outras classes gerais disponíveis nos aplicativos do App Maker.
Propriedades
Nome | Tipo | Descrição |
---|---|---|
models |
ModelMetadata[string] |
Todos os modelos definidos no aplicativo. |
ModelMetadata
Essa classe representa um modelo de metadados no App Maker. Ela permite que um script acesse os metadados desse modelo.
Essa classe está disponível apenas nos aplicativos App Maker. Veja a referência dos Apps Script para todas as outras classes gerais disponíveis nos aplicativos do App Maker.
Propriedades
Nome | Tipo | Descrição |
---|---|---|
description |
string |
A descrição do modelo, conforme especificado no Editor de Modelos. |
displayField |
Field[string] |
O campo de exibição de um modelo. Pode ser nulo. |
fields |
Field[string] |
Todos os campos definidos no modelo. |
name |
string |
O nome do modelo, conforme especificado no Editor de Modelos. |
readOnly |
bool |
Se um modelo é somente leitura. Se um modelo for somente leitura, os dados não poderão ser gravados nesse modelo. |
relations |
Relation[string] |
Todas as relações provenientes de um determinado modelo. |
type |
string |
O tipo de banco de dados de um modelo: Calculado, Cloud SQL ou Diretório. |
Campo
Essa classe representa um campo no App Maker. Ela permite que um script acesse um campo desse modelo.
Essa classe está disponível apenas nos aplicativos do App Maker. Veja a referência dos Apps Script para todas as outras classes gerais disponíveis nos aplicativos do App Maker.
Propriedades
Nome | Tipo | Descrição |
---|---|---|
autoIncrement |
bool |
Se o campo é incrementado automaticamente pelo banco de dados. |
defaultValue |
Dynamic |
O valor padrão do campo. Pode ser nulo. |
description |
string |
A descrição do campo. Pode ser nulo. |
displayName |
string |
O nome de exibição do campo. Pode ser nulo. |
key |
string |
A chave deste campo. |
maxLength |
number |
O comprimento máximo do valor em caracteres. Pode ser nulo. |
maxValue |
number|date |
O valor máximo do campo. Pode ser nulo. |
minLength |
number |
O comprimento mínimo do valor em caracteres. Pode ser nulo. |
minValue |
number|date |
O valor mínimo do campo. Pode ser nulo. |
name |
string |
O nome do campo. |
possibleValues |
Dynamic[] |
Exibe todos os valores possíveis do campo. Pode ser nulo. |
regexp |
string |
Uma expressão regular à qual todos os valores válidos precisam corresponder. Pode ser nulo. |
regexpError |
string |
A mensagem de erro para mostrar ao usuário se a expressão regular não corresponde à entrada do usuário. Uma ocorrência de '%s' na mensagem de erro será substituída pela entrada do usuário. Pode ser nulo. |
required |
bool |
Se o campo é obrigatório. |
type |
string |
O tipo do campo: String, Número, Data ou Booleano. |
wholeNumber |
bool |
Se o número no campo é inteiro. Um número é inteiro se não contiver casas decimais significativas. |
Relação
Essa classe representa um lado de uma relação do modelo especificado a outro no App Maker. Ela permite que um script acesse uma relação desse modelo.
Essa classe está disponível apenas nos aplicativos do App Maker. Veja a referência dos Apps Script para todas as outras classes gerais disponíveis nos aplicativos do App Maker.
Propriedades
Nome | Tipo | Descrição |
---|---|---|
ascending |
bool |
Se o campo "classificar por" do modelo final está classificado em ordem crescente. |
count |
string |
A contagem de um modelo ("Um", "Muitos"). |
model |
ModelMetadata |
O modelo final de uma relação. |
name |
string |
O nome final de uma relação. |
owner |
bool |
Se o modelo final tem a relação. Por exemplo, se uma "Fatura" tem os respectivos "Itens", então |
sortBy |
Field |
O campo pelo qual o modelo final é classificado. Pode ser nulo. |
Transação
Fornece acesso à API Transaction no App Maker. Disponível apenas em aplicativos que têm pelo menos um modelo do Cloud SQL.
Propriedades
Nome | Tipo | Descrição |
---|---|---|
cloudSql |
CloudSqlTransaction |
Controla transações em modelos do Cloud SQL. |
TransactionError |
function(message:String) |
Exceção que indica um erro de transação. |
CloudSqlTransaction
Esse tipo permite que um script inicie, confirme, retroceda e verifique o status das transações do banco de dados nos modelos do Cloud SQL.
Propriedades
Nome | Tipo | Descrição |
---|---|---|
isolation |
IsolationLevel |
Enumeração de possíveis níveis de isolamento. |
lockOnRead |
LockMode |
Enumeração de possíveis modos Lock On Read para definir via setLockOnRead(). |
Métodos
Nome | Valor de retorno | Descrição |
---|---|---|
isStarted() |
bool |
Se uma transação está atualmente em andamento.
app.transaction.cloudSql.isStarted(); |
start
|
undefined |
Inicia uma transação. Lança um erro se outra transação já estiver em andamento.
app.transaction.cloudSql.start( app.transaction.cloudSql.isolation.REPEATABLE_READ); O parâmetro é opcional. |
commit() |
undefined |
Confirma a transação atual. Lança um erro se o aplicativo tentar confirmar antes de uma transação ser iniciada. app.transaction.cloudSql.commit(); |
rollback() |
undefined |
Reverte todas as alterações na transação atual e libera todos os bloqueios do banco de dados. Lança um erro se o aplicativo tentar reverter antes que uma transação tenha sido iniciada.
app.transaction.cloudSql.rollback(); |
setLockOnRead(
|
undefined |
Aplica o modo de bloqueio especificado para todas as leituras do banco de dados até que a transação seja concluída ou o modo de bloqueio seja alterado com o método.
app.transaction.cloudSql.setLockOnRead( app.transaction.cloudSql.lockOnRead.UPDATE); |
IsolationLevel
Enumeração de possíveis níveis de isolamento.
Propriedades
Nome | Tipo | Descrição |
---|---|---|
READ_UNCOMMITTED |
IsolationLevel |
A transação atual pode ver alterações não enviadas de outras transações. Saiba mais. |
READ_COMMITTED |
IsolationLevel |
A transação atual pode ver alterações enviadas de outras transações. Saiba mais. |
REPEATABLE_READ |
IsolationLevel |
A transação atual pode ver alterações enviadas de outras transações. Garante que todas as leituras repetidas de um registro retornem registros no mesmo estado. Saiba mais. |
SERIALIZABLE |
IsolationLevel |
A transação atual é completamente isolada de outras transações. As transações são executadas sequencialmente. Saiba mais. |
LockMode
Enumeração de possíveis modos de leitura de bloqueio (em inglês) para definir com setLockOnRead()
.
Propriedades
Nome | Tipo | Descrição |
---|---|---|
NO_LOCK |
LockMode |
Nenhum bloqueio aplicado. Modo padrão. |
SHARE |
LockMode |
Outras transações podem ler dados bloqueados pela transação atual, mas não podem modificá-la. |
UPDATE |
LockMode |
Outras transações não podem ler ou modificar dados bloqueados pela transação atual. |