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
package/bin/dsl.js CHANGED
@@ -1,224 +1,224 @@
1
- function parseFieldType(fieldType) {
2
- if (fieldType.indexOf('string') >= 0 || fieldType.indexOf('number') >= 0) {
3
- var idx = fieldType.indexOf('(')
4
- var idx1 = fieldType.indexOf(')')
5
- var sNum = fieldType.substring(idx + 1, idx1)
6
- var fieldSize = parseInt(sNum)
7
- if (fieldType.indexOf('string') >= 0) {
8
- var t = 'string'
9
- }
10
- else {
11
- var t = 'number'
12
- }
13
- return {
14
- fieldType: t,
15
- fieldSize: fieldSize,
16
- }
17
- }
18
- else {
19
- return {
20
- fieldType: fieldType,
21
- }
22
- }
23
- }
24
-
25
-
26
- function parseFieldAttrs(fieldAttrs) {
27
- var attrs = fieldAttrs.split(',')
28
- var fieldType = attrs[0]
29
- var attrObj = parseFieldType(fieldType)
30
- for (var i = 1; i < attrs.length; i++) {
31
- var attr = attrs[i]
32
- var pair = attr.split(':')
33
- if (pair.length == 2) {
34
- attrObj[pair[0].trim()] = pair[1].trim()
35
- } else {
36
- attrObj[pair[0].trim()] = 'false'
37
- }
38
- }
39
-
40
- if (attrObj.fieldType == 'choice') {
41
- var values = attrObj.values
42
- var va = values.split('/')
43
- var options = va.map((v) => v.split('_'))
44
- attrObj.options = options
45
- }
46
- return attrObj
47
- }
48
-
49
- function parseSpec(specString) {
50
- var parts = specString.split(';')
51
- var fieldLabel = ''
52
- if (parts.length >= 2) {
53
- fieldLabel = parts[1]
54
- var specObj = parseFieldAttrs(parts[0])
55
- specObj['fieldLabel'] = fieldLabel
56
-
57
- /*if(specObj["defaultValue"]){
58
- let v = specObj["defaultValue"];
59
- v = getEnvValue(v);
60
- specObj.defaultValue = v;
61
- }*/
62
- return specObj
63
- }
64
- return null
65
- }
66
-
67
- function getFormSpecs(spec, parentKey) {
68
- var formSpec = {
69
- meta: {},
70
- _ft: 'subForm',
71
- fields: [],
72
- }
73
-
74
- for (var k in spec) {
75
- var v = spec[k]
76
- if (typeof(k) == 'number' || k == 0) {
77
- continue
78
- }
79
- var fullKey = k
80
- if (k == '#meta') {
81
- formSpec.meta = v
82
- formSpec.tab = v.tab || '99'
83
- formSpec.fieldLabel = v.fieldLabel || '请完善资料'
84
- }
85
- else {
86
- if (parentKey) {
87
- fullKey = parentKey + '.' + k
88
- }
89
- // console.log("fullKey=" + fullKey);
90
- if (typeof v == 'object' && Array.isArray(v) == false) {
91
- var fieldSpec = null;
92
- if(v["#meta"]){
93
- var subMeta = v["#meta"];
94
- if(subMeta.includeKey === 'no' || subMeta.includeKey === 'false'){
95
- fieldSpec = getFormSpecs(v, parentKey)
96
- }
97
- else{
98
- fieldSpec = getFormSpecs(v, fullKey)
99
- }
100
- }
101
- else{
102
- fieldSpec = getFormSpecs(v, fullKey)
103
- }
104
- if (!fieldSpec) {
105
- continue
106
- }
107
- fieldSpec['_ft'] = 'subform'
108
- fieldSpec.key = fullKey
109
- fieldSpec.origKey = k
110
- formSpec.fields.push(fieldSpec)
111
- }
112
- else if (typeof v == 'string') {
113
-
114
- var fieldSpec = parseSpec(v)
115
- if (!fieldSpec) {
116
- continue
117
- }
118
- fieldSpec['_ft'] = 'field'
119
- fieldSpec.key = fullKey
120
- fieldSpec.origKey = k
121
- formSpec.fields.push(fieldSpec)
122
- }
123
- else if (typeof v == 'object' && Array.isArray(v)) {
124
- var subSpec = v[0]
125
- var fieldSpec = getFormSpecs(subSpec, fullKey)
126
- fieldSpec['_ft'] = 'array'
127
- fieldSpec.key = fullKey
128
- fieldSpec.origKey = k
129
- formSpec.fields.push(fieldSpec)
130
- }
131
- }
132
- }
133
- return formSpec
134
- }
135
-
136
- function tranverseFields(formSpec, callback, ctx) {
137
- formSpec.fields.forEach((field) => {
138
- if (field['_ft'] == 'field') {
139
- callback(field, ctx)
140
- }
141
- else if (field['_ft'] == 'subform') {
142
- let context = {parentField: field}
143
- tranverseFields(field, callback, context)
144
- }
145
- else if (field['_ft'] == 'array') {
146
- let context = {parentField: field}
147
- tranverseFields(field, callback, context)
148
- }
149
- })
150
- }
151
-
152
- function flattenFormSpecs(formSpec) {
153
- var flattened = {
154
- mainFields: [],
155
- details: [],
156
- allFields:[]
157
- }
158
- tranverseFields(formSpec, (field, ctx) => {
159
- if (ctx.parentField && ctx.parentField._ft == 'array') {
160
- //nothing
161
- var detailName = ctx.parentField.key
162
- //从details里面获取detail
163
- var curDetail = null
164
- for (var i = 0; i < flattened.details.length; i++) {
165
- var detail = flattened.details[i]
166
- if (detail.name == detailName) {
167
- curDetail = detail;
168
- }
169
- }
170
- if(curDetail == null){
171
- curDetail = {name:detailName, fields:[field], field:ctx.parentField, ctx:ctx};
172
- flattened.details.push(curDetail);
173
- }
174
- else{
175
- curDetail.fields.push(field);
176
- }
177
-
178
- }
179
- else {
180
- flattened.mainFields.push(field)
181
- }
182
- flattened.allFields.push(field);
183
- }, {})
184
-
185
- flattened.mainFields.sort((f1, f2) => {
186
- var tab1 = (f1.listTab || '') + (f1.tab || '')
187
- var tab2 = (f2.listTab || '') + (f2.tab || '')
188
-
189
- if (tab1 > tab2) {
190
- return 1
191
- }
192
- if (tab1 == tab2) {
193
- return 0
194
- }
195
- if (tab1 < tab2) {
196
- return -1
197
- }
198
- })
199
-
200
- for(var i=0; i<flattened.details.length; i++){
201
- var detail = flattened.details[i];
202
- detail.fields.sort((f1, f2) => {
203
- var tab1 = (f1.listTab || '') + (f1.tab || '')
204
- var tab2 = (f2.listTab || '') + (f2.tab || '')
205
-
206
- if (tab1 > tab2) {
207
- return 1
208
- }
209
- if (tab1 == tab2) {
210
- return 0
211
- }
212
- if (tab1 < tab2) {
213
- return -1
214
- }
215
- })
216
- }
217
- return flattened;
218
- }
219
-
220
-
221
- module.exports = {
222
- getFormSpecs: getFormSpecs,
223
- flattenFormSpecs: flattenFormSpecs,
1
+ function parseFieldType(fieldType) {
2
+ if (fieldType.indexOf('string') >= 0 || fieldType.indexOf('number') >= 0) {
3
+ var idx = fieldType.indexOf('(')
4
+ var idx1 = fieldType.indexOf(')')
5
+ var sNum = fieldType.substring(idx + 1, idx1)
6
+ var fieldSize = parseInt(sNum)
7
+ if (fieldType.indexOf('string') >= 0) {
8
+ var t = 'string'
9
+ }
10
+ else {
11
+ var t = 'number'
12
+ }
13
+ return {
14
+ fieldType: t,
15
+ fieldSize: fieldSize,
16
+ }
17
+ }
18
+ else {
19
+ return {
20
+ fieldType: fieldType,
21
+ }
22
+ }
23
+ }
24
+
25
+
26
+ function parseFieldAttrs(fieldAttrs) {
27
+ var attrs = fieldAttrs.split(',')
28
+ var fieldType = attrs[0]
29
+ var attrObj = parseFieldType(fieldType)
30
+ for (var i = 1; i < attrs.length; i++) {
31
+ var attr = attrs[i]
32
+ var pair = attr.split(':')
33
+ if (pair.length == 2) {
34
+ attrObj[pair[0].trim()] = pair[1].trim()
35
+ } else {
36
+ attrObj[pair[0].trim()] = 'false'
37
+ }
38
+ }
39
+
40
+ if (attrObj.fieldType == 'choice') {
41
+ var values = attrObj.values
42
+ var va = values.split('/')
43
+ var options = va.map((v) => v.split('_'))
44
+ attrObj.options = options
45
+ }
46
+ return attrObj
47
+ }
48
+
49
+ function parseSpec(specString) {
50
+ var parts = specString.split(';')
51
+ var fieldLabel = ''
52
+ if (parts.length >= 2) {
53
+ fieldLabel = parts[1]
54
+ var specObj = parseFieldAttrs(parts[0])
55
+ specObj['fieldLabel'] = fieldLabel
56
+
57
+ /*if(specObj["defaultValue"]){
58
+ let v = specObj["defaultValue"];
59
+ v = getEnvValue(v);
60
+ specObj.defaultValue = v;
61
+ }*/
62
+ return specObj
63
+ }
64
+ return null
65
+ }
66
+
67
+ function getFormSpecs(spec, parentKey) {
68
+ var formSpec = {
69
+ meta: {},
70
+ _ft: 'subForm',
71
+ fields: [],
72
+ }
73
+
74
+ for (var k in spec) {
75
+ var v = spec[k]
76
+ if (typeof(k) == 'number' || k == 0) {
77
+ continue
78
+ }
79
+ var fullKey = k
80
+ if (k == '#meta') {
81
+ formSpec.meta = v
82
+ formSpec.tab = v.tab || '99'
83
+ formSpec.fieldLabel = v.fieldLabel || '请完善资料'
84
+ }
85
+ else {
86
+ if (parentKey) {
87
+ fullKey = parentKey + '.' + k
88
+ }
89
+ // console.log("fullKey=" + fullKey);
90
+ if (typeof v == 'object' && Array.isArray(v) == false) {
91
+ var fieldSpec = null;
92
+ if(v["#meta"]){
93
+ var subMeta = v["#meta"];
94
+ if(subMeta.includeKey === 'no' || subMeta.includeKey === 'false'){
95
+ fieldSpec = getFormSpecs(v, parentKey)
96
+ }
97
+ else{
98
+ fieldSpec = getFormSpecs(v, fullKey)
99
+ }
100
+ }
101
+ else{
102
+ fieldSpec = getFormSpecs(v, fullKey)
103
+ }
104
+ if (!fieldSpec) {
105
+ continue
106
+ }
107
+ fieldSpec['_ft'] = 'subform'
108
+ fieldSpec.key = fullKey
109
+ fieldSpec.origKey = k
110
+ formSpec.fields.push(fieldSpec)
111
+ }
112
+ else if (typeof v == 'string') {
113
+
114
+ var fieldSpec = parseSpec(v)
115
+ if (!fieldSpec) {
116
+ continue
117
+ }
118
+ fieldSpec['_ft'] = 'field'
119
+ fieldSpec.key = fullKey
120
+ fieldSpec.origKey = k
121
+ formSpec.fields.push(fieldSpec)
122
+ }
123
+ else if (typeof v == 'object' && Array.isArray(v)) {
124
+ var subSpec = v[0]
125
+ var fieldSpec = getFormSpecs(subSpec, fullKey)
126
+ fieldSpec['_ft'] = 'array'
127
+ fieldSpec.key = fullKey
128
+ fieldSpec.origKey = k
129
+ formSpec.fields.push(fieldSpec)
130
+ }
131
+ }
132
+ }
133
+ return formSpec
134
+ }
135
+
136
+ function tranverseFields(formSpec, callback, ctx) {
137
+ formSpec.fields.forEach((field) => {
138
+ if (field['_ft'] == 'field') {
139
+ callback(field, ctx)
140
+ }
141
+ else if (field['_ft'] == 'subform') {
142
+ let context = {parentField: field}
143
+ tranverseFields(field, callback, context)
144
+ }
145
+ else if (field['_ft'] == 'array') {
146
+ let context = {parentField: field}
147
+ tranverseFields(field, callback, context)
148
+ }
149
+ })
150
+ }
151
+
152
+ function flattenFormSpecs(formSpec) {
153
+ var flattened = {
154
+ mainFields: [],
155
+ details: [],
156
+ allFields:[]
157
+ }
158
+ tranverseFields(formSpec, (field, ctx) => {
159
+ if (ctx.parentField && ctx.parentField._ft == 'array') {
160
+ //nothing
161
+ var detailName = ctx.parentField.key
162
+ //从details里面获取detail
163
+ var curDetail = null
164
+ for (var i = 0; i < flattened.details.length; i++) {
165
+ var detail = flattened.details[i]
166
+ if (detail.name == detailName) {
167
+ curDetail = detail;
168
+ }
169
+ }
170
+ if(curDetail == null){
171
+ curDetail = {name:detailName, fields:[field], field:ctx.parentField, ctx:ctx};
172
+ flattened.details.push(curDetail);
173
+ }
174
+ else{
175
+ curDetail.fields.push(field);
176
+ }
177
+
178
+ }
179
+ else {
180
+ flattened.mainFields.push(field)
181
+ }
182
+ flattened.allFields.push(field);
183
+ }, {})
184
+
185
+ flattened.mainFields.sort((f1, f2) => {
186
+ var tab1 = (f1.listTab || '') + (f1.tab || '')
187
+ var tab2 = (f2.listTab || '') + (f2.tab || '')
188
+
189
+ if (tab1 > tab2) {
190
+ return 1
191
+ }
192
+ if (tab1 == tab2) {
193
+ return 0
194
+ }
195
+ if (tab1 < tab2) {
196
+ return -1
197
+ }
198
+ })
199
+
200
+ for(var i=0; i<flattened.details.length; i++){
201
+ var detail = flattened.details[i];
202
+ detail.fields.sort((f1, f2) => {
203
+ var tab1 = (f1.listTab || '') + (f1.tab || '')
204
+ var tab2 = (f2.listTab || '') + (f2.tab || '')
205
+
206
+ if (tab1 > tab2) {
207
+ return 1
208
+ }
209
+ if (tab1 == tab2) {
210
+ return 0
211
+ }
212
+ if (tab1 < tab2) {
213
+ return -1
214
+ }
215
+ })
216
+ }
217
+ return flattened;
218
+ }
219
+
220
+
221
+ module.exports = {
222
+ getFormSpecs: getFormSpecs,
223
+ flattenFormSpecs: flattenFormSpecs,
224
224
  }