| @ -0,0 +1,21 @@ | |||||
| const uid = _req.getString('uid',''); | |||||
| if (uid == '') { | |||||
| _out.json( | |||||
| _val.map() | |||||
| .set("error",true) | |||||
| .set("message", "UID is invalid!") | |||||
| ) | |||||
| _exec.stop(); | |||||
| } | |||||
| _db.execute("DELETE FROM cliente WHERE uid = ?::UUID", | |||||
| _val.init() | |||||
| .add(_req.getUUID('uid')) | |||||
| ) | |||||
| _out.json( | |||||
| _val.map() | |||||
| .set("result", true) | |||||
| .set("uid", uid) | |||||
| ) | |||||
| @ -1,23 +0,0 @@ | |||||
| const dbClientes = _db.query(` | |||||
| SELECT | |||||
| cliente.nome AS cliente_nome, cliente.email, cliente.uid, pais.nome AS pais_nome | |||||
| FROM cliente | |||||
| INNER JOIN pais ON pais.id = cliente.pais_id | |||||
| `); | |||||
| const clientes = _val.list(); | |||||
| for (dbCliente of dbClientes) { | |||||
| clientes.add( | |||||
| _val.map() | |||||
| .set("nome", dbCliente.getString("cliente_nome")) | |||||
| .set("email", dbCliente.getString("email")) | |||||
| .set("uid", dbCliente.getString("uid")) | |||||
| .set("pais", dbCliente.getString("pais_nome")) | |||||
| ) | |||||
| }; | |||||
| _out.json( | |||||
| _val.map() | |||||
| .set("results",clientes) | |||||
| ) | |||||
| @ -0,0 +1,61 @@ | |||||
| const pagination = _req.getValues('pagination'); | |||||
| const filter = _req.getValues('filter'); | |||||
| const pageSize = 5; | |||||
| const page = {start:0,size:pageSize}; | |||||
| if (pagination != null) { | |||||
| page.size = pagination.getInt('pageSize', pageSize); | |||||
| page.start = (pagination.getInt('current', 1) - 1 ) * page.size; | |||||
| } | |||||
| if (page.size > 100) { | |||||
| page.size = 100; | |||||
| } | |||||
| let queryWhere = ''; | |||||
| const queryFilter = _val.list(); | |||||
| if (filter != null) { | |||||
| if (filter.getString('nome') != null) { | |||||
| queryWhere += ` AND cliente.nome LIKE ?`; | |||||
| queryFilter.add(`%${ filter.getString('nome') }%`); | |||||
| } | |||||
| } | |||||
| const dbClientes = _db.query(` | |||||
| SELECT | |||||
| cliente.nome AS cliente_nome, cliente.email, cliente.uid, pais.nome AS pais_nome | |||||
| FROM cliente | |||||
| INNER JOIN pais ON pais.uid = cliente.pais_uid | |||||
| WHERE 1 = 1 | |||||
| ${queryWhere} | |||||
| ORDER BY cliente.id | |||||
| LIMIT ${page.size} OFFSET ${page.start} | |||||
| `,queryFilter); | |||||
| const clientes = _val.list(); | |||||
| for (const dbCliente of dbClientes) { | |||||
| clientes.add( | |||||
| _val.map() | |||||
| .set("nome", dbCliente.getString("cliente_nome")) | |||||
| .set("email", dbCliente.getString("email")) | |||||
| .set("uid", dbCliente.getString("uid")) | |||||
| .set("pais", | |||||
| _val.map() | |||||
| .set("nome",dbCliente.getString('pais_nome')) | |||||
| ) | |||||
| ) | |||||
| }; | |||||
| _out.json( | |||||
| _val.map() | |||||
| .set("result", clientes) | |||||
| .set("total", | |||||
| _db.queryFirst(` | |||||
| SELECT COUNT(1) AS total | |||||
| FROM cliente | |||||
| WHERE 1 = 1 | |||||
| ${queryWhere}`,queryFilter).getInt('total') | |||||
| ) | |||||
| ) | |||||
| @ -0,0 +1,79 @@ | |||||
| const pagination = _req.getValues('pagination',_val.map()); | |||||
| const filter = _req.getValues('filter',_val.map()); | |||||
| const pageSize = 10; | |||||
| let page = { start: 0, size: pageSize } | |||||
| if (pagination != null) { | |||||
| page.size = pagination.getInt('pageSize', pageSize); | |||||
| page.start = (pagination.getInt('current', 1) - 1) * page.size; | |||||
| } | |||||
| if (page.size > 100){ | |||||
| page.page = 100; | |||||
| } | |||||
| const queryFilter = _val.list(); | |||||
| let queryWhere = ''; | |||||
| if (filter != null) { | |||||
| if (filter.getString('data_criacao') != '') { | |||||
| queryWhere += ' AND encomenda.data_criacao = ?::date'; | |||||
| queryFilter.add(`${ filter.getString('data_criacao') }`); | |||||
| } | |||||
| if (filter.getString('data_envio') != '') { | |||||
| queryWhere += ' AND encomenda.data_envio = ?::date'; | |||||
| queryFilter.add(`${ filter.getString('data_envio') }`); | |||||
| } | |||||
| if (filter.getInt('status') > 0) { | |||||
| queryWhere += ' AND encomenda.status = ?::int'; | |||||
| queryFilter.add(`${ filter.getInt('status') }`); | |||||
| } | |||||
| } | |||||
| const dbEncomendas = _db.query(` | |||||
| SELECT | |||||
| encomenda.uid, | |||||
| encomenda.valor, | |||||
| encomenda.data_criacao, | |||||
| encomenda.data_envio, | |||||
| status_encomenda.status as status_nome, | |||||
| status_encomenda.id as status_id | |||||
| FROM encomenda | |||||
| INNER JOIN status_encomenda ON status_encomenda.id = encomenda.status | |||||
| WHERE 1 = 1 | |||||
| ${queryWhere} | |||||
| LIMIT ${page.size} OFFSET ${page.start} | |||||
| `, queryFilter); | |||||
| const encomendas = _val.list(); | |||||
| for (const encomenda of dbEncomendas) { | |||||
| encomendas.add( | |||||
| _val.map() | |||||
| .set("uid", encomenda.getString('uid')) | |||||
| .set("data_criacao", encomenda.getString('data_criacao')) | |||||
| .set("data_envio", encomenda.getString('data_envio')) | |||||
| .set("valor", encomenda.getFloat('valor').toFixed(2)) | |||||
| .set("status", | |||||
| _val.map() | |||||
| .set('nome', encomenda.getString('status_nome')) | |||||
| .set('id', encomenda.getInt('status_id')) | |||||
| ) | |||||
| ) | |||||
| } | |||||
| _out.json( | |||||
| _val.map() | |||||
| .set("results", encomendas) | |||||
| .set("total", | |||||
| _db.queryFirst(` | |||||
| SELECT COUNT(1) AS total | |||||
| FROM encomenda | |||||
| WHERE 1 = 1 | |||||
| ${queryWhere} | |||||
| `, queryFilter).getInt('total') | |||||
| ) | |||||
| ); | |||||
| @ -0,0 +1,16 @@ | |||||
| const dbPaises = _db.query("SELECT pais.uid, pais.nome FROM pais"); | |||||
| const paises = _val.list(); | |||||
| for (const dbPais of dbPaises) { | |||||
| paises.add( | |||||
| _val.map() | |||||
| .set("uid", dbPais.getString('uid')) | |||||
| .set("nome", dbPais.getString('nome')) | |||||
| ) | |||||
| } | |||||
| _out.json( | |||||
| _val.map() | |||||
| .set("result", paises) | |||||
| ); | |||||