| @ -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) | |||
| ); | |||