w-web-api 1.0.11 → 1.0.14

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/docs/WWebApi.html CHANGED
@@ -71,7 +71,7 @@
71
71
 
72
72
  <dt class="tag-source">Source:</dt>
73
73
  <dd class="tag-source"><ul class="dummy"><li>
74
- <a href="WWebApi.mjs.html">WWebApi.mjs</a>, <a href="WWebApi.mjs.html#line64">line 64</a>
74
+ <a href="WWebApi.mjs.html">WWebApi.mjs</a>, <a href="WWebApi.mjs.html#line68">line 68</a>
75
75
  </li></ul></dd>
76
76
 
77
77
 
@@ -604,7 +604,7 @@
604
604
  <br class="clear">
605
605
 
606
606
  <footer>
607
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.10</a> on Fri Apr 15 2022 15:15:12 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
607
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.10</a> on Sun Apr 17 2022 14:48:31 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
608
608
  </footer>
609
609
 
610
610
  <script>prettyPrint();</script>
@@ -43,16 +43,20 @@
43
43
  <section>
44
44
  <article>
45
45
  <pre class="prettyprint source linenums"><code>import get from 'lodash/get'
46
- import map from 'lodash/map'
46
+ // import map from 'lodash/map'
47
+ import each from 'lodash/each'
47
48
  import keys from 'lodash/keys'
48
- import cloneDeep from 'lodash/cloneDeep'
49
+ // import cloneDeep from 'lodash/cloneDeep'
49
50
  import j2o from 'wsemi/src/j2o.mjs'
50
51
  import iseobj from 'wsemi/src/iseobj'
51
52
  import isestr from 'wsemi/src/isestr'
52
53
  import ispint from 'wsemi/src/ispint'
53
54
  import isfun from 'wsemi/src/isfun'
54
- import fsIsFolder from 'wsemi/src/fsIsFolder'
55
55
  import cint from 'wsemi/src/cint'
56
+ import strleft from 'wsemi/src/strleft'
57
+ import strdelleft from 'wsemi/src/strdelleft'
58
+ import b642str from 'wsemi/src/b642str'
59
+ import fsIsFolder from 'wsemi/src/fsIsFolder'
56
60
  import WServHapiServer from 'w-serv-hapi/src/WServHapiServer.mjs'
57
61
  import ds from '../src/schema/index.mjs'
58
62
  import WServOrm from 'w-serv-orm/src/WServOrm.mjs'
@@ -197,12 +201,43 @@ async function WWebApi(WOrm, url, db, opt = {}) {
197
201
  //parsePayload
198
202
  let parsePayload = (req) => {
199
203
  let inp = get(req, 'payload')
204
+
205
+ //to obj
200
206
  if (isestr(inp)) {
201
207
  inp = j2o(inp)
202
208
  }
203
- if (!iseobj(inp)) {
209
+
210
+ //cv apis for base64
211
+ if (iseobj(inp)) {
212
+
213
+ //spread
214
+ let { group, apis } = inp
215
+
216
+ //apis
217
+ each(apis, (api, kapi) => {
218
+ // console.log(kapi, api.name)
219
+ each(api, (v, k) => {
220
+ // console.log(k, v)
221
+ if (isestr(v)) {
222
+ if (strleft(v, 7) === 'base64:') {
223
+ // console.log(k, 'get base64')
224
+ v = strdelleft(v, 7)
225
+ v = b642str(v)
226
+ // console.log(v)
227
+ apis[kapi][k] = v
228
+ }
229
+ }
230
+ })
231
+ })
232
+
233
+ //resave
234
+ inp = { group, apis }
235
+
236
+ }
237
+ else {
204
238
  inp = null
205
239
  }
240
+
206
241
  return inp
207
242
  }
208
243
 
@@ -212,7 +247,7 @@ async function WWebApi(WOrm, url, db, opt = {}) {
212
247
 
213
248
  //spread params
214
249
  let { apis: rsApis } = params
215
- // console.log('levels', levels)
250
+ // console.log('group', group)
216
251
  // console.log('rsApis', rsApis)
217
252
 
218
253
  //save
@@ -226,22 +261,15 @@ async function WWebApi(WOrm, url, db, opt = {}) {
226
261
  let replaceAPIsByLevels = async (userId, params = {}) => {
227
262
 
228
263
  //spread params
229
- let { levels, apis: rsApis } = params
230
- // console.log('levels', levels)
264
+ let { group, apis: rsApis } = params
265
+ // console.log('group', group)
231
266
  // console.log('rsApis', rsApis)
232
267
 
233
- //delAll levels
234
- await woItems.apis.delAll({ levels })
235
-
236
- //rsApisTemp
237
- let rsApisTemp = cloneDeep(rsApis)
238
- rsApisTemp = map(rsApisTemp, (v) => {
239
- v.levels = levels
240
- return v
241
- })
268
+ //delAll group
269
+ await woItems.apis.delAll({ group })
242
270
 
243
271
  //insert
244
- let r = await woItems.apis.insert(rsApisTemp)
272
+ let r = await woItems.apis.insert(rsApis)
245
273
 
246
274
  return r
247
275
  }
@@ -377,7 +405,7 @@ export default WWebApi
377
405
  <br class="clear">
378
406
 
379
407
  <footer>
380
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.10</a> on Fri Apr 15 2022 15:15:12 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
408
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.10</a> on Sun Apr 17 2022 14:48:31 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
381
409
  </footer>
382
410
 
383
411
  <script>prettyPrint();</script>
package/docs/index.html CHANGED
@@ -68,7 +68,7 @@
68
68
  <br class="clear">
69
69
 
70
70
  <footer>
71
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.10</a> on Fri Apr 15 2022 15:15:12 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
71
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.10</a> on Sun Apr 17 2022 14:48:31 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
72
72
  </footer>
73
73
 
74
74
  <script>prettyPrint();</script>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "w-web-api",
3
- "version": "1.0.11",
3
+ "version": "1.0.14",
4
4
  "main": "dist/w-web-api.umd.js",
5
5
  "dependencies": {
6
6
  "@mdi/js": "^6.6.96",
@@ -1,14 +1,18 @@
1
1
  import get from 'lodash/get'
2
- import map from 'lodash/map'
2
+ // import map from 'lodash/map'
3
+ import each from 'lodash/each'
3
4
  import keys from 'lodash/keys'
4
- import cloneDeep from 'lodash/cloneDeep'
5
+ // import cloneDeep from 'lodash/cloneDeep'
5
6
  import j2o from 'wsemi/src/j2o.mjs'
6
7
  import iseobj from 'wsemi/src/iseobj'
7
8
  import isestr from 'wsemi/src/isestr'
8
9
  import ispint from 'wsemi/src/ispint'
9
10
  import isfun from 'wsemi/src/isfun'
10
- import fsIsFolder from 'wsemi/src/fsIsFolder'
11
11
  import cint from 'wsemi/src/cint'
12
+ import strleft from 'wsemi/src/strleft'
13
+ import strdelleft from 'wsemi/src/strdelleft'
14
+ import b642str from 'wsemi/src/b642str'
15
+ import fsIsFolder from 'wsemi/src/fsIsFolder'
12
16
  import WServHapiServer from 'w-serv-hapi/src/WServHapiServer.mjs'
13
17
  import ds from '../src/schema/index.mjs'
14
18
  import WServOrm from 'w-serv-orm/src/WServOrm.mjs'
@@ -153,12 +157,43 @@ async function WWebApi(WOrm, url, db, opt = {}) {
153
157
  //parsePayload
154
158
  let parsePayload = (req) => {
155
159
  let inp = get(req, 'payload')
160
+
161
+ //to obj
156
162
  if (isestr(inp)) {
157
163
  inp = j2o(inp)
158
164
  }
159
- if (!iseobj(inp)) {
165
+
166
+ //cv apis for base64
167
+ if (iseobj(inp)) {
168
+
169
+ //spread
170
+ let { group, apis } = inp
171
+
172
+ //apis
173
+ each(apis, (api, kapi) => {
174
+ // console.log(kapi, api.name)
175
+ each(api, (v, k) => {
176
+ // console.log(k, v)
177
+ if (isestr(v)) {
178
+ if (strleft(v, 7) === 'base64:') {
179
+ // console.log(k, 'get base64')
180
+ v = strdelleft(v, 7)
181
+ v = b642str(v)
182
+ // console.log(v)
183
+ apis[kapi][k] = v
184
+ }
185
+ }
186
+ })
187
+ })
188
+
189
+ //resave
190
+ inp = { group, apis }
191
+
192
+ }
193
+ else {
160
194
  inp = null
161
195
  }
196
+
162
197
  return inp
163
198
  }
164
199
 
@@ -168,7 +203,7 @@ async function WWebApi(WOrm, url, db, opt = {}) {
168
203
 
169
204
  //spread params
170
205
  let { apis: rsApis } = params
171
- // console.log('levels', levels)
206
+ // console.log('group', group)
172
207
  // console.log('rsApis', rsApis)
173
208
 
174
209
  //save
@@ -182,22 +217,15 @@ async function WWebApi(WOrm, url, db, opt = {}) {
182
217
  let replaceAPIsByLevels = async (userId, params = {}) => {
183
218
 
184
219
  //spread params
185
- let { levels, apis: rsApis } = params
186
- // console.log('levels', levels)
220
+ let { group, apis: rsApis } = params
221
+ // console.log('group', group)
187
222
  // console.log('rsApis', rsApis)
188
223
 
189
- //delAll levels
190
- await woItems.apis.delAll({ levels })
191
-
192
- //rsApisTemp
193
- let rsApisTemp = cloneDeep(rsApis)
194
- rsApisTemp = map(rsApisTemp, (v) => {
195
- v.levels = levels
196
- return v
197
- })
224
+ //delAll group
225
+ await woItems.apis.delAll({ group })
198
226
 
199
227
  //insert
200
- let r = await woItems.apis.insert(rsApisTemp)
228
+ let r = await woItems.apis.insert(rsApis)
201
229
 
202
230
  return r
203
231
  }
@@ -0,0 +1,9 @@
1
+ function filePathToCode(c) {
2
+ if (c.indexOf('\\\\') >= 0) {
3
+ return '```' + c + '```'
4
+ }
5
+ return c
6
+ }
7
+
8
+
9
+ export default filePathToCode
@@ -1,9 +1,8 @@
1
1
  import axios from 'axios'
2
- import map from 'lodash/map'
3
2
  import ltdtpick from 'wsemi/src/ltdtpick.mjs'
4
3
 
5
4
 
6
- async function provideApis(url, levels, apis) {
5
+ async function provideApis(url, group, apis) {
7
6
  //url: 指API伺服器提供的接入網址, 例如 http://localhost:11005/replaceAPIsByLevels
8
7
 
9
8
  //ks
@@ -14,29 +13,27 @@ async function provideApis(url, levels, apis) {
14
13
  'url', //指api網址, 例如 http://localhost:11005/getDogsList
15
14
  'method', //'get'
16
15
  'version', //'v1'
16
+ 'group', //'寵物'
17
17
  'levels', //'寵物.天竺鼠'
18
18
  'keywords', //'pets;guineapigs'
19
19
  'state', //'ok'
20
20
  'creator', //'pets-system'
21
21
  'dataSource', //'pets-data'
22
22
  'mdInputParams', //輸入方式說明, markdown格式
23
+ 'inputExample', //輸入範例數據
24
+ 'mdOutputParams', //輸出方式說明, markdown格式
23
25
  'outputExample', //輸出範例數據, json格式
24
26
  ]
25
27
 
26
28
  //ltdtpick
27
29
  apis = ltdtpick(apis, ks)
28
30
 
29
- //update levels
30
- apis = map(apis, (v) => {
31
- v.levels = levels
32
- return v
33
- })
34
-
35
31
  //rin
36
32
  let rin = {
37
- levels,
33
+ group,
38
34
  apis,
39
35
  }
36
+ // rin = JSON.stringify(rin)
40
37
 
41
38
  //axios
42
39
  let rout
@@ -6,10 +6,14 @@
6
6
 
7
7
  <div style="display:flex; height:100%;" v-if="hasApis">
8
8
 
9
- <div style="min-width:400px; height:100%; _font-size:10pt; color:#444; background:#fff; overflow-y:auto;">
9
+ <div
10
+ style="min-width:400px; height:100%; color:#444; background:#fff;"
11
+ v-domresize
12
+ @domresize="resizeTree"
13
+ >
10
14
 
11
15
  <WTree
12
- :viewHeightMax="null"
16
+ :viewHeightMax="heightTree"
13
17
  :data="apisTree"
14
18
  :iconHeight="lineHeightTree"
15
19
  :defItemHeight="lineHeightTree"
@@ -356,6 +360,7 @@ export default {
356
360
  data: function() {
357
361
  return {
358
362
 
363
+ heightTree: 2,
359
364
  lineHeightTree: 38,
360
365
 
361
366
  apisTree: [],
@@ -417,6 +422,20 @@ export default {
417
422
  },
418
423
  methods: {
419
424
 
425
+ resizeTree: function(msg) {
426
+ // console.log('methods resizeTree', msg)
427
+
428
+ let vo = this
429
+
430
+ //h
431
+ let h = get(msg, 'snew.clientHeight')
432
+ // console.log(h)
433
+
434
+ //update
435
+ vo.heightTree = h
436
+
437
+ },
438
+
420
439
  genTree: function () {
421
440
  let vo = this
422
441
 
@@ -514,6 +533,7 @@ export default {
514
533
  getOutputJsonObj: function(item) {
515
534
  // let vo = this
516
535
  let j = this.getOutputJson(item)
536
+ // console.log(j)
517
537
  let o = j2o(j)
518
538
  return o
519
539
  },