applay-utils 1.2.9 → 1.2.11

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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/utils/mdb.js +107 -102
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "applay-utils",
3
- "version": "1.2.9",
3
+ "version": "1.2.11",
4
4
  "description": "Utilitary tools for Applay applications",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1"
package/utils/mdb.js CHANGED
@@ -2,166 +2,171 @@ var MongoBase = require('mongodb');
2
2
  var ObjectId = require('mongodb').ObjectId;
3
3
 
4
4
  var MDB = {
5
- status:{},
6
- clients:{}
5
+ status: {},
6
+ clients: {}
7
7
  }
8
8
 
9
- var connect= (alias,url,callback)=>{
10
- console.log('Conectando..',alias,' - url:',url);
11
- if(MDB.status[alias]){return callback(MDB.clients[alias]);}
12
- MongoBase.MongoClient.connect(url,{useUnifiedTopology: true}, (err, client)=>{
13
- if(err){return console.log('ERRO MDB -- TRACKING -- ',err);}
14
- MDB.status[alias]=true;
15
- MDB.clients[alias]=client;
16
- process.on('SIGTERM', internalStop(alias,true,'SIGTERM'));
17
- process.on('SIGINT' , internalStop(alias,true,'SIGINT'));
18
- process.on('uncaughtException', internalStop(alias,true,'uncaughtException'));
19
- console.log('Conectado com ',alias);
9
+ var connect = (alias, url, callback) => {
10
+ console.log('Conectando..', alias, ' - url:', url);
11
+ if (MDB.status[alias]) { return callback(MDB.clients[alias]); }
12
+ MongoBase.MongoClient.connect(url, { useUnifiedTopology: true }, (err, client) => {
13
+ if (err) { return console.log('ERRO MDB -- TRACKING -- ', err); }
14
+ MDB.status[alias] = true;
15
+ MDB.clients[alias] = client;
16
+ process.on('SIGTERM', internalStop(alias, true, 'SIGTERM'));
17
+ process.on('SIGINT', internalStop(alias, true, 'SIGINT'));
18
+ process.on('uncaughtException', internalStop(alias, true, 'uncaughtException'));
19
+ console.log('Conectado com ', alias);
20
20
  callback(client)
21
21
  });
22
22
  }
23
23
 
24
- var connectAsync = (alias, url) => new Promise(resolve => connect(alias,url,(client)=>resolve(client)));
24
+ var connectAsync = (alias, url) => new Promise(resolve => connect(alias, url, (client) => resolve(client)));
25
25
 
26
- var internalStop = (alias,finish)=>{
27
- return (code)=>{
26
+ var internalStop = (alias, finish) => {
27
+ return (code) => {
28
28
  console.log('Desconnecting...');
29
- if(!MDB.status[alias]){console.log('Mongodb OFF');return}
29
+ if (!MDB.status[alias]) { console.log('Mongodb OFF'); return }
30
30
  MDB.status[alias] = false;
31
31
  MDB.clients[alias].close();
32
- if(finish&&MDB.stopCustom){
33
- MDB.stop(alias,()=>{
34
- console.log('Mongodb',alias,'OFF');
32
+ if (finish && MDB.stopCustom) {
33
+ MDB.stop(alias, () => {
34
+ console.log('Mongodb', alias, 'OFF');
35
35
  process.exit();
36
36
  });
37
37
  }
38
- if(finish&&!MDB.stopCustom){
39
- console.log('Mongodb',alias,'OFF');
38
+ if (finish && !MDB.stopCustom) {
39
+ console.log('Mongodb', alias, 'OFF');
40
40
  process.exit();
41
41
  }
42
- if(!finish){
43
- console.log('Mongodb',alias,'OFF');
42
+ if (!finish) {
43
+ console.log('Mongodb', alias, 'OFF');
44
44
  }
45
45
  }
46
-
47
- }
48
-
49
46
 
50
- var stopCustom = (customCallback)=>{
51
- MDB.stopCustom=true;
52
- MDB.stop = customCallback;//(alias,callback)=>{}
53
47
  }
54
48
 
55
49
 
50
+ var stopCustom = (customCallback) => {
51
+ MDB.stopCustom = true;
52
+ MDB.stop = customCallback;//(alias,callback)=>{}
53
+ }
56
54
 
57
- var genOpsUpdate = (data,params) =>{
55
+ var genOpsUpdate = (data, params) => {
58
56
  var lista = [];
59
- for(var item of data){
60
- let filter = item.filter;
61
- let update = item.update;
62
- if(params && params.type=='array'){
63
- let objArray = {}
64
- let sub = params.rule.split('.');
65
- objArray[params.rule]=item[sub[1]];
66
- filter = Object.assign(objArray,params.filter)
67
- update={};
68
- update[sub[0]+'.$']=item;
69
- }
70
- let objLista = {}
71
- objLista[ 'updateOne']={
72
- filter:filter,
73
- update:{$set:update}
74
- }
75
- lista.push(objLista)
57
+ for (var item of data) {
58
+ let filter = item.filter;
59
+ let update = item.update;
60
+ if (params && params.type == 'array') {
61
+ let objArray = {}
62
+ let sub = params.rule.split('.');
63
+ objArray[params.rule] = item[sub[1]];
64
+ filter = Object.assign(objArray, params.filter)
65
+ update = {};
66
+ update[sub[0] + '.$'] = item;
67
+ }
68
+ let objLista = {}
69
+ objLista['updateOne'] = {
70
+ filter: filter,
71
+ update: { $set: update }
72
+ }
73
+ lista.push(objLista)
76
74
  }
77
75
  return lista
78
76
  }
79
77
 
80
-
81
- function genOpsFull(data,tipo) {
78
+ function genOpsFull(data, tipo) {
82
79
  var lista = [];
83
- for(var x1 in data){
80
+ for (var x1 in data) {
84
81
  var objLista = {};
85
- if(typeof data[x1] != 'object'){continue;}
86
- if(tipo=='save'&&!data[x1]._id){objLista['insertOne']={document:data[x1]};}
87
- if(tipo=='save'&&data[x1]._id&&data[x1]._id.length==24){
88
- data[x1]._id=new ObjectID(data[x1]._id+'');
89
- objLista['replaceOne']={
90
- filter:{"_id" :data[x1]._id},
91
- replacement:data[x1],
92
- upsert:true
82
+ if (typeof data[x1] != 'object') { continue; }
83
+ if (tipo == 'save' && !data[x1]._id) {
84
+ objLista['insertOne'] = { document: data[x1] };
85
+ }
86
+ if (tipo == 'save' && data[x1]._id && (data[x1]._id + '').length == 24) {
87
+ data[x1]._id = new ObjectID(data[x1]._id + '');
88
+
89
+ objLista['replaceOne'] = {
90
+ filter: { "_id": data[x1]._id },
91
+ replacement: data[x1],
92
+ upsert: true
93
93
  }
94
94
  }
95
- if(tipo=='reg'){
95
+ if (tipo == 'reg' || tipo == 'regs') {
96
96
  var copyObj = Object.assign({}, data[x1]);
97
- copyObj.regId=''
98
- if(data[x1]._id){copyObj._reg.objId = data[x1]._id+'';}
97
+ copyObj.regId = ''
98
+
99
+ if (data[x1]._id) { copyObj._reg.objId = data[x1]._id + ''; }
100
+
99
101
  delete copyObj._id;
100
- objLista['insertOne']={document:copyObj};
102
+
103
+ objLista['insertOne'] = { document: copyObj };
101
104
  }
105
+
102
106
  lista.push(objLista);
103
107
  }
104
108
  return lista;
105
109
  }
106
110
 
107
- function genOps(data,tipo){
111
+
112
+ function genOps(data, tipo) {
108
113
  var lista = [];
109
114
  var regs = [];
110
- for(var x1 in data){
115
+ for (var x1 in data) {
111
116
  var objLista = {};
112
- if(typeof data[x1] != 'object'){continue;}
113
- if(tipo=='insert'&&data[x1]._id){continue;}
114
- if(tipo=='replace'&&!data[x1]._id){continue;}
115
- if(tipo=='insert'){objLista['insertOne']={document:data[x1]};}
116
- if(tipo=='replace'){
117
- data[x1]._id=new ObjectID(data[x1]._id+'');
118
- objLista['replaceOne']={
119
- filter:{"_id" :data[x1]._id},
120
- replacement:data[x1],
121
- upsert:true
117
+ if (typeof data[x1] != 'object') { continue; }
118
+ if (tipo == 'insert' && data[x1]._id) { continue; }
119
+ if (tipo == 'replace' && !data[x1]._id) { continue; }
120
+ if (tipo == 'insert') { objLista['insertOne'] = { document: data[x1] }; }
121
+ if (tipo == 'replace') {
122
+ data[x1]._id = new ObjectID(data[x1]._id + '');
123
+ objLista['replaceOne'] = {
124
+ filter: { "_id": data[x1]._id },
125
+ replacement: data[x1],
126
+ upsert: true
122
127
  }
123
128
  }
124
- if(tipo=='regs'){
129
+ if (tipo == 'regs') {
125
130
  var copyObj = Object.assign({}, data[x1]);;
126
- copyObj.regId=''
127
- if(data[x1]._id){copyObj._reg.objId = data[x1]._id+'';}
131
+ copyObj.regId = ''
132
+ if (data[x1]._id) { copyObj._reg.objId = data[x1]._id + ''; }
128
133
  delete copyObj._id;
129
- objLista['insertOne']={document:copyObj};
134
+ objLista['insertOne'] = { document: copyObj };
130
135
  }
131
136
  lista.push(objLista);
132
137
  }
133
138
  return lista;
134
139
  }
135
140
 
136
- function build(data,model,user) {
137
- var tipo = model.slice(0,3);
141
+ function build(data, model, user) {
142
+ var tipo = model.slice(0, 3);
138
143
  var time = new Date();
139
- var letra = model.slice(3,4);
140
- if(cfg.db.types.indexOf(tipo)<0){return {status:false,msg:'Tipo de Collection não definida'};}
141
- if('ABCDEFGHIJKLMNOPQRSTUVWXYZ'.indexOf(letra)<0){return {status:false,msg:'Tipo de Collection não definida'};}
142
- for(var x1 in data){
144
+ var letra = model.slice(3, 4);
145
+ // if(cfg.db.types.indexOf(tipo)<0){return {status:false,msg:'Tipo de Collection não definida'};}
146
+ if ('ABCDEFGHIJKLMNOPQRSTUVWXYZ'.indexOf(letra) < 0) { return { status: false, msg: 'Tipo de Collection não definida' }; }
147
+ for (var x1 in data) {
143
148
  // console.log(x1,data[x1]);
144
149
  var create = time.getTime();
145
150
  var createtext = time.toLocaleString('pt-BR');
146
- if(data[x1]._db){
147
- create = data[x1]._db.create*1;
148
- createtext = data[x1]._db.createtext+'';
151
+ if (data[x1]._db) {
152
+ create = data[x1]._db.create * 1;
153
+ createtext = data[x1]._db.createtext + '';
149
154
  }
150
- data[x1]._db={
151
- tipo:tipo,
152
- time:time.getTime(),
153
- timetext:time.toLocaleString('pt-BR').split(' ')[0],
154
- create:create*1,
155
- createtext:createtext+'',
156
- userId:user._id+'',
157
- username:user.username
155
+ data[x1]._db = {
156
+ tipo: tipo,
157
+ time: time.getTime(),
158
+ timetext: time.toLocaleString('pt-BR').split(' ')[0],
159
+ create: create * 1,
160
+ createtext: createtext + '',
161
+ userId: user._id + '',
162
+ username: user.username
158
163
  };
159
- var objId = data[x1]._reg&&data[x1]._reg.objId?data[x1]._reg.objId:'';
160
- data[x1]._reg={
161
- regId:time.getTime()+user._id+'',
162
- collection:model,
163
- objId:objId,
164
- reg:'reg'+model.slice(0,1).toUpperCase()+model.slice(1)
164
+ var objId = data[x1]._reg && data[x1]._reg.objId ? data[x1]._reg.objId : '';
165
+ data[x1]._reg = {
166
+ regId: time.getTime() + user._id + '',
167
+ collection: model,
168
+ objId: objId,
169
+ reg: 'reg' + model.slice(0, 1).toUpperCase() + model.slice(1)
165
170
  };
166
171
  }
167
172
  return data;