owl-cli 6.147.0 → 6.149.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.
Files changed (61) hide show
  1. package/.eslintrc.json +2 -2
  2. package/.vscode/launch.json +22 -22
  3. package/.vscode/settings.json +2 -2
  4. package/bin/createTables.js +94 -94
  5. package/bin/deploy.js +66 -66
  6. package/bin/dsl.js +223 -223
  7. package/bin/genEvents.js +188 -188
  8. package/bin/owl-init.js +50 -50
  9. package/bin/owl.js +305 -305
  10. package/bin/owlconfig.json +16 -16
  11. package/bin/table_mysql.js +189 -189
  12. package/bin/undeploy.js +56 -56
  13. package/defaultTemplate/api/build.xml +94 -94
  14. package/defaultTemplate/api/src/about.html +12 -12
  15. package/defaultTemplate/api/src/about.jsx +11 -11
  16. package/defaultTemplate/api/src/handlers/aggs.jsx +161 -161
  17. package/defaultTemplate/api/src/handlers/batchImport.jsx +78 -78
  18. package/defaultTemplate/api/src/handlers/delete.jsx +88 -88
  19. package/defaultTemplate/api/src/handlers/export.jsx +117 -117
  20. package/defaultTemplate/api/src/handlers/exportDoc.jsx +27 -27
  21. package/defaultTemplate/api/src/handlers/exportEx.jsx +77 -77
  22. package/defaultTemplate/api/src/handlers/exportWithTemplates.jsx +50 -50
  23. package/defaultTemplate/api/src/handlers/exportZip.jsx +26 -26
  24. package/defaultTemplate/api/src/handlers/get.jsx +50 -50
  25. package/defaultTemplate/api/src/handlers/getByIds.jsx +51 -51
  26. package/defaultTemplate/api/src/handlers/getChildren.jsx +96 -96
  27. package/defaultTemplate/api/src/handlers/getExportTaskInfo.jsx +34 -34
  28. package/defaultTemplate/api/src/handlers/getSpec.jsx +40 -40
  29. package/defaultTemplate/api/src/handlers/include/checklogin.jsx +786 -786
  30. package/defaultTemplate/api/src/handlers/include/diff.jsx +315 -315
  31. package/defaultTemplate/api/src/handlers/include/util.jsx +60 -60
  32. package/defaultTemplate/api/src/handlers/list.jsx +252 -252
  33. package/defaultTemplate/api/src/handlers/listEx.jsx +136 -114
  34. package/defaultTemplate/api/src/handlers/reIndex.jsx +63 -63
  35. package/defaultTemplate/api/src/handlers/recovery.jsx +53 -53
  36. package/defaultTemplate/api/src/handlers/save.jsx +125 -125
  37. package/defaultTemplate/api/src/handlers/upload.jsx +72 -72
  38. package/defaultTemplate/api/src/init/indexConfigs/changeMapping.json +14 -14
  39. package/defaultTemplate/api/src/init/indexConfigs/createAliase.json +10 -10
  40. package/defaultTemplate/api/src/init/indexConfigs/createIndex.json +55 -55
  41. package/defaultTemplate/api/src/init/indexConfigs/rebuildIndex.sh +27 -27
  42. package/defaultTemplate/api/src/init/indexConfigs/reindex.json +10 -10
  43. package/defaultTemplate/api/src/init/init.jsx +25 -25
  44. package/defaultTemplate/api/src/meta.json +10 -10
  45. package/defaultTemplate/api/src/services/dblayer.jsx +251 -251
  46. package/defaultTemplate/api/src/services/modelService.jsx +1239 -1241
  47. package/defaultTemplate/api/src/services/sqlstring.jsx +240 -240
  48. package/defaultTemplate/api/src/tasks/export.jsx +366 -366
  49. package/defaultTemplate/api/src/tasks/exportDoc.jsx +99 -99
  50. package/defaultTemplate/api/src/tasks/exportExTask.jsx +332 -332
  51. package/defaultTemplate/api/src/tasks/exportWithTemplateTask.jsx +128 -128
  52. package/defaultTemplate/api/src/tasks/exportZip.jsx +49 -49
  53. package/examples/buildProperties/build.properties +2 -2
  54. package/examples/gitignore/gitignore_example.txt +1 -1
  55. package/examples/models/product.json +52 -52
  56. package/examples/models/shop.json +71 -71
  57. package/examples/models/sku.json +254 -254
  58. package/examples/models/user.json +49 -49
  59. package/examples/owlconfig.json +13 -13
  60. package/package.json +33 -33
  61. package/todo.txt +4 -4
@@ -1,61 +1,61 @@
1
- function buildSort(sort){
2
- if(!sort){
3
- return {};
4
- }
5
- var result = [];
6
- for(var k in sort){
7
- var direction = sort[k];
8
- if(direction === 'ascend'){
9
- var sortItem = {};
10
- sortItem[k] = [{"order":"asc"}]
11
- result.push(sortItem);
12
- }
13
- else if(direction === 'descend'){
14
- var sortItem = {};
15
- sortItem[k] = [{"order":"desc"}]
16
- result.push(sortItem);
17
- }
18
- }
19
- return result;
20
- }
21
-
22
- function getKeywordQuery(keyword){
23
- if(keyword && trim(keyword).length>0){
24
- return "\"" + trim(keyword) + "\""
25
- }
26
- else{
27
- return "*"
28
- }
29
- }
30
-
31
- function getFilters(searchArgs){
32
- delete searchArgs.keyword;
33
- var filters = [];
34
- for(var k in searchArgs){
35
- var v = searchArgs[k];
36
- if(typeof(v)=='object' && Array.isArray(v)){
37
- var range={}
38
- range[k] = {
39
- 'gte':v[0],
40
- 'lte':v[1]
41
- }
42
- filters.push({range:range});
43
- }
44
- else if(typeof(v)=='object' && v.type==='terms'){
45
- var terms = {};
46
- if(v.values){
47
- terms[k + ".keyword"] = v.values;
48
- filters.push({terms:terms});
49
- }
50
- }
51
- else{
52
- var term = {};
53
- if(v){
54
- term[k+".keyword"] = trim('' + v)
55
- filters.push({term:term})
56
- }
57
- }
58
- }
59
-
60
- return filters;
1
+ function buildSort(sort){
2
+ if(!sort){
3
+ return {};
4
+ }
5
+ var result = [];
6
+ for(var k in sort){
7
+ var direction = sort[k];
8
+ if(direction === 'ascend'){
9
+ var sortItem = {};
10
+ sortItem[k] = [{"order":"asc"}]
11
+ result.push(sortItem);
12
+ }
13
+ else if(direction === 'descend'){
14
+ var sortItem = {};
15
+ sortItem[k] = [{"order":"desc"}]
16
+ result.push(sortItem);
17
+ }
18
+ }
19
+ return result;
20
+ }
21
+
22
+ function getKeywordQuery(keyword){
23
+ if(keyword && trim(keyword).length>0){
24
+ return "\"" + trim(keyword) + "\""
25
+ }
26
+ else{
27
+ return "*"
28
+ }
29
+ }
30
+
31
+ function getFilters(searchArgs){
32
+ delete searchArgs.keyword;
33
+ var filters = [];
34
+ for(var k in searchArgs){
35
+ var v = searchArgs[k];
36
+ if(typeof(v)=='object' && Array.isArray(v)){
37
+ var range={}
38
+ range[k] = {
39
+ 'gte':v[0],
40
+ 'lte':v[1]
41
+ }
42
+ filters.push({range:range});
43
+ }
44
+ else if(typeof(v)=='object' && v.type==='terms'){
45
+ var terms = {};
46
+ if(v.values){
47
+ terms[k + ".keyword"] = v.values;
48
+ filters.push({terms:terms});
49
+ }
50
+ }
51
+ else{
52
+ var term = {};
53
+ if(v){
54
+ term[k+".keyword"] = trim('' + v)
55
+ filters.push({term:term})
56
+ }
57
+ }
58
+ }
59
+
60
+ return filters;
61
61
  }
@@ -1,253 +1,253 @@
1
- //#import Util.js
2
- //#import base64.js
3
- //#import HttpUtil.js
4
- //#import session.js
5
- //#import $@projectCode:services/modelService.jsx
6
- //#import @handlers/include/checklogin.jsx
7
-
8
- function trim(s){
9
- if(s){
10
- return s.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
11
- }
12
- return ""
13
- }
14
- var spec = @spec;
15
-
16
- function buildSort(sort){
17
- if(!sort){
18
- return {};
19
- }
20
- var result = [];
21
- for(var k in sort){
22
- var direction = sort[k];
23
- if(direction === 'ascend'){
24
- var sortItem = {};
25
- sortItem[k] = [{"order":"asc"}]
26
- result.push(sortItem);
27
- }
28
- else if(direction === 'descend'){
29
- var sortItem = {};
30
- sortItem[k] = [{"order":"desc"}]
31
- result.push(sortItem);
32
- }
33
- }
34
- return result;
35
- }
36
- ;(function(){
37
-
38
- var env = checklogin();
39
- if(!env){
40
- return;
41
- }
42
- var shopId = env.shopId;
43
- var warehouseId = env.warehouseId;
44
- var loginId = env.loginId;
45
- var roleId = env.roleId;
46
- var orgId = env.orgId;
47
- var spec = @spec;
48
- var tableId = 'owl_' + spec._t;
49
- var permissions = getPermissions(roleId,tableId);
50
- var m = shopId;
51
- ///////////////////////////////
52
-
53
- //判断是subplatform,还是shop,还是platform
54
- var params = JSON.parse($body);
55
- var searchArgs = params.searchArgs;
56
- var keyword = searchArgs.keyword;
57
- var pageSize = params.pageSize;
58
- var page = params.page;
59
- var sort = params.sort;
60
- var recycleBin = searchArgs.recycleBin;
61
- // $.log("searchArgs=" + JSON.stringify(searchArgs));
62
- delete searchArgs.recycleBin;
63
- // $.log("recycleBin=" + recycleBin);
64
-
65
- var effectiveSort = buildSort(sort);
66
- if(!page){
67
- page = 1;
68
- }
69
- if(!pageSize){
70
- pageSize=15;
71
- }
72
- pageSize = Number(pageSize);
73
- var from = page * pageSize-pageSize;
74
-
75
- function getKeywordQuery(){
76
- if(keyword && trim(keyword).length>0){
77
- return "\"" + trim(keyword) + "\""
78
- }
79
- else{
80
- return "*"
81
- }
82
- }
83
-
84
- function getFilters(){
85
- delete searchArgs.keyword;
86
- var filters = [];
87
- for(var k in searchArgs){
88
- var v = searchArgs[k];
89
- if(typeof(v)=='object' && Array.isArray(v)){
90
- var range={}
91
- range[k] = {
92
- 'gte':v[0],
93
- 'lte':v[1]
94
- }
95
- filters.push({range:range});
96
- }
97
- else if(typeof(v)=='object' && v.type==='terms'){
98
- var terms = {};
99
- if(v.values){
100
- terms[k + ".keyword"] = v.values;
101
- filters.push({terms:terms});
102
- }
103
- }
104
- else{
105
- var term = {};
106
- if(v){
107
- term[k+".keyword"] = trim('' + v)
108
- filters.push({term:term})
109
- }
110
- }
111
- }
112
-
113
- var meta = spec['#meta'];
114
- var isPublic = meta && meta.isPublic;
115
-
116
- /*
117
- if(!isPublic && orgId && orgId!=='0'){
118
- filters.push({
119
- "term":{
120
- "_orgIds.keyword" : orgId
121
- }
122
- })
123
- }
124
- */
125
- if(meta && meta.isTree && env.orgId!=='0'){
126
- if(meta.root){
127
- if(meta.root.startsWith("$")){
128
- var rootId = eval(meta.root.substring(1));
129
- filters.push({
130
- "term":{
131
- "parentPathIds" : rootId
132
- }
133
- })
134
- }
135
- }
136
-
137
- }
138
- return filters;
139
- }
140
-
141
- var filters = getFilters();
142
- var meta = spec['#meta'];
143
- var isPublic = meta && meta.isPublic;
144
- if(!isPublic && orgId && orgId!=='0') {
145
- var permissionFilter = getListPermissionFilter(tableId, roleId, orgId, loginId, permissions);
146
-
147
- if (permissionFilter) {
148
- filters.push(permissionFilter);
149
- }
150
- }
151
-
152
- if(recycleBin){
153
- filters.push({"term":{"del.keyword":"T"}});
154
- var query = {
155
- "query": {
156
- "bool": {
157
- "must": {
158
- "query_string": {
159
- "query":getKeywordQuery()
160
- }
161
- },
162
- "filter": filters
163
- }
164
- },
165
- "from" : from, "size" : pageSize,
166
- sort:effectiveSort || [{owl_createTime:{order:"desc"}}]
167
- }
168
- }
169
- else{
170
- var query = {
171
- "query": {
172
- "bool": {
173
- "must": {
174
- "query_string": {
175
- "query":getKeywordQuery()
176
- }
177
- },
178
- "must_not": {
179
- "match": {
180
- "del": "T"
181
- }
182
- },
183
- "filter": filters
184
- }
185
- },
186
- "from" : from, "size" : pageSize,
187
- sort:effectiveSort || [{owl_createTime:{order:"desc"}}]
188
- }
189
- }
190
-
191
-
192
- var elasticSearchUrl = $.getEnv( "elasticSearchUrl" );
193
-
194
- var headers = { "Content-Type": "application/json;charset=utf-8" };
195
- var elasticSearchUser = $.getEnv("elasticSearchUser");
196
- var elasticSearchPass = $.getEnv("elasticSearchPass");
197
- if(elasticSearchUser && elasticSearchPass){
198
- var auth =Base64.encode(elasticSearchUser + ":" + elasticSearchPass);
199
- var basicAuth = "Basic " + auth;
200
- headers["Authorization"] = basicAuth;
201
- }
202
- var searchUrl = elasticSearchUrl+"/@projectCode/_search";
203
-
204
- var sndTxt = JSON.stringify(query);
205
- $.log(sndTxt);
206
-
207
-
208
- var s = HttpUtils.postRaw( searchUrl, sndTxt, headers);
209
- var result = JSON.parse(s);
210
-
211
- if(!result.hits || !result.hits.hits){
212
- // $.log("error search:sndQuery=" + sndTxt + "------\nresponse:\n" + s );
213
- var ret = {
214
- state:'ok',
215
- list:[],
216
- total:{value:0},
217
- count:0
218
- }
219
- out.print(JSON.stringify(ret));
220
- return;
221
- }
222
-
223
-
224
- var hits = result.hits.hits;
225
- var total = result.hits.total;
226
-
227
- var objs = hits.map(function(hit){return hit._source});
228
-
229
- delete query.from;
230
- delete query.size;
231
- delete query.sort;
232
- sndTxt = JSON.stringify(query);
233
- var countUrl = elasticSearchUrl+"/@projectCode/_count";
234
-
235
- var ss = HttpUtils.postRaw( countUrl, sndTxt, headers);
236
- var cr = JSON.parse(ss);
237
-
238
- var count = cr.count;
239
- //这里重新从pigeon取了一次数据,做了删除的判断
240
- // var ids = hits.map(function(hit){return hit._source.id});
241
- // var list = owl_wh_receiptService.getObjects(ids);
242
- // var objs = list.filter(function(value){
243
- // return value.del != "T";
244
- // });
245
- var ret = {
246
- state:'ok',
247
- list:objs,
248
- total:total,
249
- count : count
250
- }
251
- out.print(JSON.stringify(ret));
252
-
1
+ //#import Util.js
2
+ //#import base64.js
3
+ //#import HttpUtil.js
4
+ //#import session.js
5
+ //#import $@projectCode:services/modelService.jsx
6
+ //#import @handlers/include/checklogin.jsx
7
+
8
+ function trim(s){
9
+ if(s){
10
+ return s.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
11
+ }
12
+ return ""
13
+ }
14
+ var spec = @spec;
15
+
16
+ function buildSort(sort){
17
+ if(!sort){
18
+ return {};
19
+ }
20
+ var result = [];
21
+ for(var k in sort){
22
+ var direction = sort[k];
23
+ if(direction === 'ascend'){
24
+ var sortItem = {};
25
+ sortItem[k] = [{"order":"asc"}]
26
+ result.push(sortItem);
27
+ }
28
+ else if(direction === 'descend'){
29
+ var sortItem = {};
30
+ sortItem[k] = [{"order":"desc"}]
31
+ result.push(sortItem);
32
+ }
33
+ }
34
+ return result;
35
+ }
36
+ ;(function(){
37
+
38
+ var env = checklogin();
39
+ if(!env){
40
+ return;
41
+ }
42
+ var shopId = env.shopId;
43
+ var warehouseId = env.warehouseId;
44
+ var loginId = env.loginId;
45
+ var roleId = env.roleId;
46
+ var orgId = env.orgId;
47
+ var spec = @spec;
48
+ var tableId = 'owl_' + spec._t;
49
+ var permissions = getPermissions(roleId,tableId);
50
+ var m = shopId;
51
+ ///////////////////////////////
52
+
53
+ //判断是subplatform,还是shop,还是platform
54
+ var params = JSON.parse($body);
55
+ var searchArgs = params.searchArgs;
56
+ var keyword = searchArgs.keyword;
57
+ var pageSize = params.pageSize;
58
+ var page = params.page;
59
+ var sort = params.sort;
60
+ var recycleBin = searchArgs.recycleBin;
61
+ // $.log("searchArgs=" + JSON.stringify(searchArgs));
62
+ delete searchArgs.recycleBin;
63
+ // $.log("recycleBin=" + recycleBin);
64
+
65
+ var effectiveSort = buildSort(sort);
66
+ if(!page){
67
+ page = 1;
68
+ }
69
+ if(!pageSize){
70
+ pageSize=15;
71
+ }
72
+ pageSize = Number(pageSize);
73
+ var from = page * pageSize-pageSize;
74
+
75
+ function getKeywordQuery(){
76
+ if(keyword && trim(keyword).length>0){
77
+ return "\"" + trim(keyword) + "\""
78
+ }
79
+ else{
80
+ return "*"
81
+ }
82
+ }
83
+
84
+ function getFilters(){
85
+ delete searchArgs.keyword;
86
+ var filters = [];
87
+ for(var k in searchArgs){
88
+ var v = searchArgs[k];
89
+ if(typeof(v)=='object' && Array.isArray(v)){
90
+ var range={}
91
+ range[k] = {
92
+ 'gte':v[0],
93
+ 'lte':v[1]
94
+ }
95
+ filters.push({range:range});
96
+ }
97
+ else if(typeof(v)=='object' && v.type==='terms'){
98
+ var terms = {};
99
+ if(v.values){
100
+ terms[k + ".keyword"] = v.values;
101
+ filters.push({terms:terms});
102
+ }
103
+ }
104
+ else{
105
+ var term = {};
106
+ if(v){
107
+ term[k+".keyword"] = trim('' + v)
108
+ filters.push({term:term})
109
+ }
110
+ }
111
+ }
112
+
113
+ var meta = spec['#meta'];
114
+ var isPublic = meta && meta.isPublic;
115
+
116
+ /*
117
+ if(!isPublic && orgId && orgId!=='0'){
118
+ filters.push({
119
+ "term":{
120
+ "_orgIds.keyword" : orgId
121
+ }
122
+ })
123
+ }
124
+ */
125
+ if(meta && meta.isTree && env.orgId!=='0'){
126
+ if(meta.root){
127
+ if(meta.root.startsWith("$")){
128
+ var rootId = eval(meta.root.substring(1));
129
+ filters.push({
130
+ "term":{
131
+ "parentPathIds" : rootId
132
+ }
133
+ })
134
+ }
135
+ }
136
+
137
+ }
138
+ return filters;
139
+ }
140
+
141
+ var filters = getFilters();
142
+ var meta = spec['#meta'];
143
+ var isPublic = meta && meta.isPublic;
144
+ if(!isPublic && orgId && orgId!=='0') {
145
+ var permissionFilter = getListPermissionFilter(tableId, roleId, orgId, loginId, permissions);
146
+
147
+ if (permissionFilter) {
148
+ filters.push(permissionFilter);
149
+ }
150
+ }
151
+
152
+ if(recycleBin){
153
+ filters.push({"term":{"del.keyword":"T"}});
154
+ var query = {
155
+ "query": {
156
+ "bool": {
157
+ "must": {
158
+ "query_string": {
159
+ "query":getKeywordQuery()
160
+ }
161
+ },
162
+ "filter": filters
163
+ }
164
+ },
165
+ "from" : from, "size" : pageSize,
166
+ sort:effectiveSort || [{owl_createTime:{order:"desc"}}]
167
+ }
168
+ }
169
+ else{
170
+ var query = {
171
+ "query": {
172
+ "bool": {
173
+ "must": {
174
+ "query_string": {
175
+ "query":getKeywordQuery()
176
+ }
177
+ },
178
+ "must_not": {
179
+ "match": {
180
+ "del": "T"
181
+ }
182
+ },
183
+ "filter": filters
184
+ }
185
+ },
186
+ "from" : from, "size" : pageSize,
187
+ sort:effectiveSort || [{owl_createTime:{order:"desc"}}]
188
+ }
189
+ }
190
+
191
+
192
+ var elasticSearchUrl = $.getEnv( "elasticSearchUrl" );
193
+
194
+ var headers = { "Content-Type": "application/json;charset=utf-8" };
195
+ var elasticSearchUser = $.getEnv("elasticSearchUser");
196
+ var elasticSearchPass = $.getEnv("elasticSearchPass");
197
+ if(elasticSearchUser && elasticSearchPass){
198
+ var auth =Base64.encode(elasticSearchUser + ":" + elasticSearchPass);
199
+ var basicAuth = "Basic " + auth;
200
+ headers["Authorization"] = basicAuth;
201
+ }
202
+ var searchUrl = elasticSearchUrl+"/@projectCode/_search";
203
+
204
+ var sndTxt = JSON.stringify(query);
205
+ $.log(sndTxt);
206
+
207
+
208
+ var s = HttpUtils.postRaw( searchUrl, sndTxt, headers);
209
+ var result = JSON.parse(s);
210
+
211
+ if(!result.hits || !result.hits.hits){
212
+ // $.log("error search:sndQuery=" + sndTxt + "------\nresponse:\n" + s );
213
+ var ret = {
214
+ state:'ok',
215
+ list:[],
216
+ total:{value:0},
217
+ count:0
218
+ }
219
+ out.print(JSON.stringify(ret));
220
+ return;
221
+ }
222
+
223
+
224
+ var hits = result.hits.hits;
225
+ var total = result.hits.total;
226
+
227
+ var objs = hits.map(function(hit){return hit._source});
228
+
229
+ delete query.from;
230
+ delete query.size;
231
+ delete query.sort;
232
+ sndTxt = JSON.stringify(query);
233
+ var countUrl = elasticSearchUrl+"/@projectCode/_count";
234
+
235
+ var ss = HttpUtils.postRaw( countUrl, sndTxt, headers);
236
+ var cr = JSON.parse(ss);
237
+
238
+ var count = cr.count;
239
+ //这里重新从pigeon取了一次数据,做了删除的判断
240
+ // var ids = hits.map(function(hit){return hit._source.id});
241
+ // var list = owl_wh_receiptService.getObjects(ids);
242
+ // var objs = list.filter(function(value){
243
+ // return value.del != "T";
244
+ // });
245
+ var ret = {
246
+ state:'ok',
247
+ list:objs,
248
+ total:total,
249
+ count : count
250
+ }
251
+ out.print(JSON.stringify(ret));
252
+
253
253
  })();