-
Notifications
You must be signed in to change notification settings - Fork 0
/
webservice_endpoint.js
53 lines (45 loc) · 1.75 KB
/
webservice_endpoint.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/*
* Template Endpoint WebService via Script
* */
function WebService() {
var db = libService.loadScript('db');
var superus = new db('superus_producao');
this.onGet = function(params, request, response) {
var nome = params.query.nome;
var limit = (params.query.limit) ? params.query.limit : 10;
var sql = 'select CODIGO, NOME, CPF, CNPJ from pessoas where LOWER(nome) like LOWER(:nome) AND ROWNUM <= :limit';
var paramSQL = {
nome: "%"+nome+"%",
limit: limit
};
var retorno = [];
superus.query(sql, paramSQL).each(function(row, index) {
var linha = {
codigo: row.codigo,
nome: row.nome,
documento: (row.cpf) ? row.cpf : row.cnpj
};
retorno.push(linha);
});
return JSON.stringify(retorno);
}
this.onPost = function(params, request, response) {
var dados = JSON.parse(params.requestBody);
//CREATE SEQUENCE TREINAMENTO_WEBSERVICE_1_SEQ;
//SELECT * FROM TREINAMENTO_WEBSERVICE_1;
if(dados.codigo) {
var update = "UPDATE TREINAMENTO_WEBSERVICE_1 SET NOME = :nome, TELEFONE = :telefone " +
" WHERE CODIGO = :codigo";
superus.update(update, dados);
return null;
} else {
var id = superus.getSequenceNextVal('TREINAMENTO_WEBSERVICE_1_SEQ');
dados.codigo = id;
var insert = "INSERT INTO TREINAMENTO_WEBSERVICE_1 (codigo, nome, telefone) " +
" VALUES (:codigo, :nome, :telefone)"
superus.update(insert, dados);
return JSON.stringify({entityId: id});
}
}
}
module.exports = new WebService();