applay-utils 1.6.1 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "applay-utils",
3
- "version": "1.6.1",
3
+ "version": "1.7.0",
4
4
  "description": "Utilitary tools for Applay applications",
5
5
  "scripts": {
6
6
  "build": "npm version patch",
package/utils/crypto.js CHANGED
@@ -3,6 +3,21 @@ var algorithm = 'aes-256-cbc';
3
3
  var key=process.env.key;
4
4
 
5
5
  var utils = {
6
+ 'genHash': (json) => {
7
+ if(!key) return null;
8
+ if (json.apyHash) { delete json.apyHash; }
9
+ var block = `KEY=>${key}|JSON=>${JSON.stringify(json)}`;
10
+ json.apyHash = sha1(block);
11
+ return json;
12
+ },
13
+ 'verifyHash': (orig) => {
14
+ if (!key) return null;
15
+ var json = Object({}, orig);
16
+ if (json.apyHash) { delete json.apyHash; }
17
+ var block = `KEY=>${key}|JSON=>${JSON.stringify(json)}`;
18
+ json.apyHash = sha1(block);
19
+ return json.apyHash == orig.apyHash
20
+ },
6
21
  'setKey': (newkey)=>{key=newkey},
7
22
  'genIV': () => {
8
23
  return Math.random().toString(36).substr(2, 30);
package/utils/mdb.js CHANGED
@@ -194,7 +194,8 @@ function build(data, model, user) {
194
194
  userId: user._id + '',
195
195
  username: user.username
196
196
  };
197
- var objId = data[x1]._reg && data[x1]._reg.objId ? data[x1]._reg.objId : '';
197
+ // var objId = data[x1]._reg && data[x1]._reg.objId ? data[x1]._reg.objId : '';
198
+ var objId = data[x1]._id ? data[x1]._id + '' : (data[x1]._reg && data[x1]._reg.objId ? data[x1]._reg.objId : '');
198
199
  data[x1]._reg = {
199
200
  regId: time.getTime() + user._id + '',
200
201
  collection: model,
package/utils/querys.js CHANGED
@@ -3,6 +3,39 @@ const mdb = require('./mdb');
3
3
  var querys = {
4
4
  'findAsync': (db, collection, filter, fields) => new Promise(resolve => db.collection(collection).find(filter, fields).toArray((err, result) => resolve(result))),
5
5
  'findOneAsync': (db, collection, filter, fields) => new Promise(resolve => db.collection(collection).findOne(filter, fields, (err, result) => resolve(result))),
6
+ 'findOneMapAsync': (db, collection, param) => new Promise(resolve => {
7
+ if (!param || typeof param.rule != 'string' || param.rule.split('.').length != 2 || !Array.isArray(param.list)) {
8
+ // return resolve({ status: false, err: 'param deve ser parecido {filter:{},rule:"lista.codigo",list:[],project:{}}' });
9
+ console.log(`Erro findOneMapAsync: param deve ser parecido { filter: {}, rule: "lista.codigo", list: [], project: {} }`);
10
+ return resolve(null);
11
+ }
12
+
13
+ var fieldLista = param.rule.split('.')[0];
14
+ var fieldItem = param.rule.split('.')[1];
15
+
16
+ var projectAuto = {}
17
+
18
+ projectAuto[fieldLista] = {
19
+ $filter: {
20
+ input: '$' + fieldLista,
21
+ as: 'item',
22
+ cond: {
23
+ $in: [
24
+ "$$item." + fieldItem,
25
+ param.list || []
26
+ ]
27
+ }
28
+ }
29
+ }
30
+
31
+ db.collection(collection).aggregate([
32
+ { $match: param.filter || {} },
33
+ { $project: Object.assign(projectAuto, param.project || {}) }
34
+ ]).toArray((err, result) => {
35
+ if (err) { console.log('Erro aggregate cad: ', err); }
36
+ resolve(result[0]);
37
+ });
38
+ }),
6
39
  'findLimitAsync': (db, collection, filter, limit) => new Promise(resolve => db.collection(collection).find(filter).limit(limit).toArray((err, result) => resolve(result))),
7
40
  'distinctAsync': (db, collection, filter, campo) => new Promise(resolve => db.collection(collection).distinct(campo, filter, (err, result) => resolve(result))),
8
41
  'findLimitSortAsync': (db, collection, filter, sort, limit) => new Promise(resolve => db.collection(collection).find(filter).sort(sort).limit(limit).toArray((err, result) => resolve(result))),
package/utils/tools.js CHANGED
@@ -5,8 +5,6 @@ var tools = {
5
5
  'csv2json':(csv)=>{
6
6
  var csvLinhas = csv.split('\n');
7
7
  var header = csvLinhas.shift().split(';');
8
- // console.log('csvLinhas',csvLinhas);
9
- // console.log('header',header);
10
8
  var dataCSv = csvLinhas.filter(e=>e!='').map(e=>e.split(';').reduce((n,p,i)=>{n[header[i]]=p;return n},{}))
11
9
  return dataCSv;
12
10
  },