owl-cli 6.159.0 → 6.161.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 (62) 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 +322 -322
  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/getHistory.jsx +50 -0
  29. package/defaultTemplate/api/src/handlers/getSpec.jsx +40 -40
  30. package/defaultTemplate/api/src/handlers/include/checklogin.jsx +787 -787
  31. package/defaultTemplate/api/src/handlers/include/diff.jsx +315 -315
  32. package/defaultTemplate/api/src/handlers/include/util.jsx +60 -60
  33. package/defaultTemplate/api/src/handlers/list.jsx +252 -252
  34. package/defaultTemplate/api/src/handlers/listEx.jsx +142 -142
  35. package/defaultTemplate/api/src/handlers/reIndex.jsx +63 -63
  36. package/defaultTemplate/api/src/handlers/recovery.jsx +53 -53
  37. package/defaultTemplate/api/src/handlers/save.jsx +125 -125
  38. package/defaultTemplate/api/src/handlers/upload.jsx +72 -72
  39. package/defaultTemplate/api/src/init/indexConfigs/changeMapping.json +14 -14
  40. package/defaultTemplate/api/src/init/indexConfigs/createAliase.json +10 -10
  41. package/defaultTemplate/api/src/init/indexConfigs/createIndex.json +104 -104
  42. package/defaultTemplate/api/src/init/indexConfigs/rebuildIndex.sh +27 -27
  43. package/defaultTemplate/api/src/init/indexConfigs/reindex.json +9 -9
  44. package/defaultTemplate/api/src/init/init.jsx +34 -34
  45. package/defaultTemplate/api/src/meta.json +10 -10
  46. package/defaultTemplate/api/src/services/dblayer.jsx +251 -251
  47. package/defaultTemplate/api/src/services/modelService.jsx +1247 -1226
  48. package/defaultTemplate/api/src/services/sqlstring.jsx +240 -240
  49. package/defaultTemplate/api/src/tasks/export.jsx +366 -366
  50. package/defaultTemplate/api/src/tasks/exportDoc.jsx +99 -99
  51. package/defaultTemplate/api/src/tasks/exportExTask.jsx +332 -332
  52. package/defaultTemplate/api/src/tasks/exportWithTemplateTask.jsx +128 -128
  53. package/defaultTemplate/api/src/tasks/exportZip.jsx +49 -49
  54. package/examples/buildProperties/build.properties +2 -2
  55. package/examples/gitignore/gitignore_example.txt +1 -1
  56. package/examples/models/product.json +52 -52
  57. package/examples/models/shop.json +71 -71
  58. package/examples/models/sku.json +254 -254
  59. package/examples/models/user.json +49 -49
  60. package/examples/owlconfig.json +13 -13
  61. package/package.json +33 -33
  62. 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
  })();