You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by GitBox <gi...@apache.org> on 2020/12/14 08:21:35 UTC

[GitHub] [apisix-dashboard] juzhiyuan opened a new pull request #1047: feat: use ajv to validate data

juzhiyuan opened a new pull request #1047:
URL: https://github.com/apache/apisix-dashboard/pull/1047


   Please answer these questions before submitting a pull request
   
   - Why submit this pull request?
   - [x] Bugfix
   - [ ] New feature provided
   - [ ] Improve performance
   
   - Related issues
   https://github.com/apache/apisix-dashboard/issues/1035
   
   We use [ajv](https://github.com/ajv-validator/ajv) to validate plugin data before sending to API.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [apisix-dashboard] liuxiran commented on a change in pull request #1047: feat(plugin): use ajv to validate data

Posted by GitBox <gi...@apache.org>.
liuxiran commented on a change in pull request #1047:
URL: https://github.com/apache/apisix-dashboard/pull/1047#discussion_r542216117



##########
File path: web/src/components/Plugin/PluginPage.tsx
##########
@@ -56,31 +58,63 @@ const PluginPage: React.FC<Props> = ({
     getList().then(setPlugin);
   }, []);
 
+  // NOTE: This function has side effect because it mutates the original schema data
+  const injectDisableProperty = (schema: Record<string, any>) => {
+    // NOTE: The frontend will inject the disable property into schema just like the manager-api does
+    if (!schema.properties) {
+      // eslint-disable-next-line
+      schema.properties = {};
+    }
+    // eslint-disable-next-line
+    (schema.properties as any).disable = {
+      type: 'boolean',
+    };
+    return schema;
+  };
+
   const validateData = (pluginName: string, value: PluginComponent.Data) => {
     fetchSchema(pluginName, schemaType).then((schema) => {
-      // NOTE: The frontend will inject the disable property into schema just like the manager-api does
-      if (!schema.properties) {
-        // eslint-disable-next-line
-        schema.properties = {}
-      }
-      // eslint-disable-next-line
-      ;(schema.properties as any).disable = {
-        type: "boolean"
+      if (schema.oneOf) {
+        ;(schema.oneOf || []).forEach((item: any) => {

Review comment:
       Extra `;`




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [apisix-dashboard] juzhiyuan commented on pull request #1047: feat(plugin): use ajv to validate data

Posted by GitBox <gi...@apache.org>.
juzhiyuan commented on pull request #1047:
URL: https://github.com/apache/apisix-dashboard/pull/1047#issuecomment-744518098


   > “jest” is good for me, and we just need function level unit test, not UI
   
   Got it, we need the Functionality Level Unit test, as for UI, we could use E2E to cover it.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [apisix-dashboard] codecov-io edited a comment on pull request #1047: feat(plugin): use ajv to validate data

Posted by GitBox <gi...@apache.org>.
codecov-io edited a comment on pull request #1047:
URL: https://github.com/apache/apisix-dashboard/pull/1047#issuecomment-744292346


   # [Codecov](https://codecov.io/gh/apache/apisix-dashboard/pull/1047?src=pr&el=h1) Report
   > Merging [#1047](https://codecov.io/gh/apache/apisix-dashboard/pull/1047?src=pr&el=desc) (74445ed) into [master](https://codecov.io/gh/apache/apisix-dashboard/commit/93b9c6820d361380b0c370a3946a350dbac10f2f?el=desc) (93b9c68) will **decrease** coverage by `0.06%`.
   > The diff coverage is `n/a`.
   
   [![Impacted file tree graph](https://codecov.io/gh/apache/apisix-dashboard/pull/1047/graphs/tree.svg?width=650&height=150&src=pr&token=Q1HERXN96P)](https://codecov.io/gh/apache/apisix-dashboard/pull/1047?src=pr&el=tree)
   
   ```diff
   @@            Coverage Diff             @@
   ##           master    #1047      +/-   ##
   ==========================================
   - Coverage   40.13%   40.07%   -0.07%     
   ==========================================
     Files          26       26              
     Lines        1572     1572              
   ==========================================
   - Hits          631      630       -1     
   - Misses        850      851       +1     
     Partials       91       91              
   ```
   
   
   | [Impacted Files](https://codecov.io/gh/apache/apisix-dashboard/pull/1047?src=pr&el=tree) | Coverage Δ | |
   |---|---|---|
   | [api/internal/core/store/store.go](https://codecov.io/gh/apache/apisix-dashboard/pull/1047/diff?src=pr&el=tree#diff-YXBpL2ludGVybmFsL2NvcmUvc3RvcmUvc3RvcmUuZ28=) | `78.57% <0.00%> (-0.65%)` | :arrow_down: |
   
   ------
   
   [Continue to review full report at Codecov](https://codecov.io/gh/apache/apisix-dashboard/pull/1047?src=pr&el=continue).
   > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
   > `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
   > Powered by [Codecov](https://codecov.io/gh/apache/apisix-dashboard/pull/1047?src=pr&el=footer). Last update [93b9c68...569dc12](https://codecov.io/gh/apache/apisix-dashboard/pull/1047?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [apisix-dashboard] juzhiyuan commented on pull request #1047: feat(plugin): use ajv to validate data

Posted by GitBox <gi...@apache.org>.
juzhiyuan commented on pull request #1047:
URL: https://github.com/apache/apisix-dashboard/pull/1047#issuecomment-744429642


   "unit test" is ok, and unit test for FE will refer to https://pro.ant.design/docs/ui-test-cn#%E5%8D%95%E5%85%83%E6%B5%8B%E8%AF%95
   
   cc @membphis @moonming 


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [apisix-dashboard] liuxiran commented on a change in pull request #1047: feat(plugin): use ajv to validate data

Posted by GitBox <gi...@apache.org>.
liuxiran commented on a change in pull request #1047:
URL: https://github.com/apache/apisix-dashboard/pull/1047#discussion_r542203405



##########
File path: web/src/components/Plugin/PluginPage.tsx
##########
@@ -56,31 +58,63 @@ const PluginPage: React.FC<Props> = ({
     getList().then(setPlugin);
   }, []);
 
+  // NOTE: This function has side effect because it mutates the original schema data
+  const injectDisableProperty = (schema: Record<string, any>) => {

Review comment:
       only a little confused about  this func.
   since manager-api already inject `disable` property, why we need do again in fe?




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [apisix-dashboard] membphis commented on pull request #1047: feat(plugin): use ajv to validate data

Posted by GitBox <gi...@apache.org>.
membphis commented on pull request #1047:
URL: https://github.com/apache/apisix-dashboard/pull/1047#issuecomment-747886101


   > Got it, we need the Functionality Level Unit test, as for UI, we could use E2E to cover it.
   
   I think we can merge it first. E2E can check this commit later @juzhiyuan 


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [apisix-dashboard] juzhiyuan commented on pull request #1047: feat(plugin): use ajv to validate data

Posted by GitBox <gi...@apache.org>.
juzhiyuan commented on pull request #1047:
URL: https://github.com/apache/apisix-dashboard/pull/1047#issuecomment-744386536


   > need test cases
   
   Testcase for FE depends on #1036. 


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [apisix-dashboard] liuxiran commented on a change in pull request #1047: feat(plugin): use ajv to validate data

Posted by GitBox <gi...@apache.org>.
liuxiran commented on a change in pull request #1047:
URL: https://github.com/apache/apisix-dashboard/pull/1047#discussion_r542212388



##########
File path: web/src/components/Plugin/PluginPage.tsx
##########
@@ -56,31 +58,63 @@ const PluginPage: React.FC<Props> = ({
     getList().then(setPlugin);
   }, []);
 
+  // NOTE: This function has side effect because it mutates the original schema data
+  const injectDisableProperty = (schema: Record<string, any>) => {

Review comment:
       got it




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [apisix-dashboard] juzhiyuan commented on a change in pull request #1047: feat(plugin): use ajv to validate data

Posted by GitBox <gi...@apache.org>.
juzhiyuan commented on a change in pull request #1047:
URL: https://github.com/apache/apisix-dashboard/pull/1047#discussion_r542206085



##########
File path: web/src/components/Plugin/PluginPage.tsx
##########
@@ -56,31 +58,63 @@ const PluginPage: React.FC<Props> = ({
     getList().then(setPlugin);
   }, []);
 
+  // NOTE: This function has side effect because it mutates the original schema data
+  const injectDisableProperty = (schema: Record<string, any>) => {

Review comment:
       We just did what manager-api does 😂 
   
   The manager-api doesn't respond that property with the schema, so we have to trick that property in FE.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [apisix-dashboard] juzhiyuan commented on a change in pull request #1047: feat(plugin): use ajv to validate data

Posted by GitBox <gi...@apache.org>.
juzhiyuan commented on a change in pull request #1047:
URL: https://github.com/apache/apisix-dashboard/pull/1047#discussion_r542191992



##########
File path: web/package.json
##########
@@ -54,11 +54,11 @@
     "@rjsf/antd": "2.2.0",
     "@rjsf/core": "2.2.0",
     "@uiw/react-codemirror": "^3.0.1",
+    "ajv": "^7.0.0-rc.2",
     "antd": "^4.4.0",
     "classnames": "^2.2.6",
     "dayjs": "1.8.28",
     "js-beautify": "^1.13.0",
-    "json-schema": "0.2.5",

Review comment:
       We used an incorrect JSON schema validator 🤔




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [apisix-dashboard] moonming commented on pull request #1047: feat(plugin): use ajv to validate data

Posted by GitBox <gi...@apache.org>.
moonming commented on pull request #1047:
URL: https://github.com/apache/apisix-dashboard/pull/1047#issuecomment-744423203


   you can add unit test
   
   琚致远 <no...@github.com>于2020年12月14日 周一下午7:46写道:
   
   > need test cases
   >
   > Testcase for FE depends on #1036
   > <https://github.com/apache/apisix-dashboard/issues/1036>.
   >
   > —
   > You are receiving this because you commented.
   > Reply to this email directly, view it on GitHub
   > <https://github.com/apache/apisix-dashboard/pull/1047#issuecomment-744386536>,
   > or unsubscribe
   > <https://github.com/notifications/unsubscribe-auth/AGJZBKYR6QEHKFNPQG7MJ23SUX3I5ANCNFSM4U2LMAOQ>
   > .
   >
   -- 
   Thanks,
   Ming Wen
   Twitter: _WenMing
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [apisix-dashboard] codecov-io edited a comment on pull request #1047: feat(plugin): use ajv to validate data

Posted by GitBox <gi...@apache.org>.
codecov-io edited a comment on pull request #1047:
URL: https://github.com/apache/apisix-dashboard/pull/1047#issuecomment-744292346


   # [Codecov](https://codecov.io/gh/apache/apisix-dashboard/pull/1047?src=pr&el=h1) Report
   > Merging [#1047](https://codecov.io/gh/apache/apisix-dashboard/pull/1047?src=pr&el=desc) (569dc12) into [master](https://codecov.io/gh/apache/apisix-dashboard/commit/93b9c6820d361380b0c370a3946a350dbac10f2f?el=desc) (93b9c68) will **not change** coverage.
   > The diff coverage is `n/a`.
   
   [![Impacted file tree graph](https://codecov.io/gh/apache/apisix-dashboard/pull/1047/graphs/tree.svg?width=650&height=150&src=pr&token=Q1HERXN96P)](https://codecov.io/gh/apache/apisix-dashboard/pull/1047?src=pr&el=tree)
   
   ```diff
   @@           Coverage Diff           @@
   ##           master    #1047   +/-   ##
   =======================================
     Coverage   40.13%   40.13%           
   =======================================
     Files          26       26           
     Lines        1572     1572           
   =======================================
     Hits          631      631           
     Misses        850      850           
     Partials       91       91           
   ```
   
   
   
   ------
   
   [Continue to review full report at Codecov](https://codecov.io/gh/apache/apisix-dashboard/pull/1047?src=pr&el=continue).
   > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
   > `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
   > Powered by [Codecov](https://codecov.io/gh/apache/apisix-dashboard/pull/1047?src=pr&el=footer). Last update [93b9c68...569dc12](https://codecov.io/gh/apache/apisix-dashboard/pull/1047?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [apisix-dashboard] moonming commented on pull request #1047: feat(plugin): use ajv to validate data

Posted by GitBox <gi...@apache.org>.
moonming commented on pull request #1047:
URL: https://github.com/apache/apisix-dashboard/pull/1047#issuecomment-747791357


   ping


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [apisix-dashboard] LiteSun commented on a change in pull request #1047: feat(plugin): use ajv to validate data

Posted by GitBox <gi...@apache.org>.
LiteSun commented on a change in pull request #1047:
URL: https://github.com/apache/apisix-dashboard/pull/1047#discussion_r542193928



##########
File path: web/src/components/Plugin/PluginPage.tsx
##########
@@ -56,31 +58,63 @@ const PluginPage: React.FC<Props> = ({
     getList().then(setPlugin);
   }, []);
 
+  // NOTE: This function has side effect because it mutates the original schema data
+  const injectDisableProperty = (schema: Record<string, any>) => {
+    // NOTE: The frontend will inject the disable property into schema just like the manager-api does
+    if (!schema.properties) {
+      // eslint-disable-next-line
+      schema.properties = {};
+    }
+    // eslint-disable-next-line
+    (schema.properties as any).disable = {
+      type: 'boolean',
+    };
+    return schema;
+  };
+
   const validateData = (pluginName: string, value: PluginComponent.Data) => {
     fetchSchema(pluginName, schemaType).then((schema) => {
-      // NOTE: The frontend will inject the disable property into schema just like the manager-api does
-      if (!schema.properties) {
-        // eslint-disable-next-line
-        schema.properties = {}
-      }
-      // eslint-disable-next-line
-      ;(schema.properties as any).disable = {
-        type: "boolean"
+      if (schema.oneOf) {
+        ;(schema.oneOf || []).forEach((item: any) => {

Review comment:
       ```suggestion
           (schema.oneOf || []).forEach((item: any) => {
   ```




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [apisix-dashboard] moonming commented on pull request #1047: feat(plugin): use ajv to validate data

Posted by GitBox <gi...@apache.org>.
moonming commented on pull request #1047:
URL: https://github.com/apache/apisix-dashboard/pull/1047#issuecomment-744502477


   “jest” is good for me, and we just need function level unit test, not UI 


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [apisix-dashboard] juzhiyuan edited a comment on pull request #1047: feat(plugin): use ajv to validate data

Posted by GitBox <gi...@apache.org>.
juzhiyuan edited a comment on pull request #1047:
URL: https://github.com/apache/apisix-dashboard/pull/1047#issuecomment-744386536


   > need test cases
   
   Testcase for FE depends on #1036, which will introduce a more effective test framework, so for now, I have tested manually. 


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [apisix-dashboard] juzhiyuan edited a comment on pull request #1047: feat(plugin): use ajv to validate data

Posted by GitBox <gi...@apache.org>.
juzhiyuan edited a comment on pull request #1047:
URL: https://github.com/apache/apisix-dashboard/pull/1047#issuecomment-748005510


   Unit Test will be addressed in https://github.com/apache/apisix-dashboard/issues/1070
   
   cc @moonming 


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [apisix-dashboard] juzhiyuan commented on a change in pull request #1047: feat(plugin): use ajv to validate data

Posted by GitBox <gi...@apache.org>.
juzhiyuan commented on a change in pull request #1047:
URL: https://github.com/apache/apisix-dashboard/pull/1047#discussion_r542367273



##########
File path: web/package.json
##########
@@ -54,11 +54,11 @@
     "@rjsf/antd": "2.2.0",
     "@rjsf/core": "2.2.0",
     "@uiw/react-codemirror": "^3.0.1",
+    "ajv": "^7.0.0-rc.2",
     "antd": "^4.4.0",
     "classnames": "^2.2.6",
     "dayjs": "1.8.28",
     "js-beautify": "^1.13.0",
-    "json-schema": "0.2.5",

Review comment:
       YES




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [apisix-dashboard] juzhiyuan commented on pull request #1047: feat(plugin): use ajv to validate data

Posted by GitBox <gi...@apache.org>.
juzhiyuan commented on pull request #1047:
URL: https://github.com/apache/apisix-dashboard/pull/1047#issuecomment-748005510


   Unit Test will be addressed in https://github.com/apache/apisix-dashboard/issues/1070


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [apisix-dashboard] LiteSun commented on a change in pull request #1047: feat(plugin): use ajv to validate data

Posted by GitBox <gi...@apache.org>.
LiteSun commented on a change in pull request #1047:
URL: https://github.com/apache/apisix-dashboard/pull/1047#discussion_r542191543



##########
File path: web/src/components/Plugin/PluginPage.tsx
##########
@@ -18,7 +18,7 @@ import React, { useEffect, useState } from 'react';
 import { Anchor, Layout, Switch, Card, Tooltip, Button, notification, Avatar } from 'antd';
 import { SettingFilled } from '@ant-design/icons';
 import { PanelSection } from '@api7-dashboard/ui';
-import { validate } from 'json-schema';
+import Ajv, { JSONSchemaType, DefinedError } from "ajv"

Review comment:
       ```suggestion
   import Ajv, { JSONSchemaType, DefinedError } from "ajv";
   ```




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [apisix-dashboard] membphis commented on a change in pull request #1047: feat(plugin): use ajv to validate data

Posted by GitBox <gi...@apache.org>.
membphis commented on a change in pull request #1047:
URL: https://github.com/apache/apisix-dashboard/pull/1047#discussion_r542263917



##########
File path: web/package.json
##########
@@ -54,11 +54,11 @@
     "@rjsf/antd": "2.2.0",
     "@rjsf/core": "2.2.0",
     "@uiw/react-codemirror": "^3.0.1",
+    "ajv": "^7.0.0-rc.2",
     "antd": "^4.4.0",
     "classnames": "^2.2.6",
     "dayjs": "1.8.28",
     "js-beautify": "^1.13.0",
-    "json-schema": "0.2.5",

Review comment:
       It looks like we used the wrong JSON Schema library.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [apisix-dashboard] moonming merged pull request #1047: feat(plugin): use ajv to validate data

Posted by GitBox <gi...@apache.org>.
moonming merged pull request #1047:
URL: https://github.com/apache/apisix-dashboard/pull/1047


   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [apisix-dashboard] codecov-io commented on pull request #1047: feat(plugin): use ajv to validate data

Posted by GitBox <gi...@apache.org>.
codecov-io commented on pull request #1047:
URL: https://github.com/apache/apisix-dashboard/pull/1047#issuecomment-744292346


   # [Codecov](https://codecov.io/gh/apache/apisix-dashboard/pull/1047?src=pr&el=h1) Report
   > Merging [#1047](https://codecov.io/gh/apache/apisix-dashboard/pull/1047?src=pr&el=desc) (47a8ba7) into [master](https://codecov.io/gh/apache/apisix-dashboard/commit/93b9c6820d361380b0c370a3946a350dbac10f2f?el=desc) (93b9c68) will **not change** coverage.
   > The diff coverage is `n/a`.
   
   [![Impacted file tree graph](https://codecov.io/gh/apache/apisix-dashboard/pull/1047/graphs/tree.svg?width=650&height=150&src=pr&token=Q1HERXN96P)](https://codecov.io/gh/apache/apisix-dashboard/pull/1047?src=pr&el=tree)
   
   ```diff
   @@           Coverage Diff           @@
   ##           master    #1047   +/-   ##
   =======================================
     Coverage   40.13%   40.13%           
   =======================================
     Files          26       26           
     Lines        1572     1572           
   =======================================
     Hits          631      631           
     Misses        850      850           
     Partials       91       91           
   ```
   
   
   
   ------
   
   [Continue to review full report at Codecov](https://codecov.io/gh/apache/apisix-dashboard/pull/1047?src=pr&el=continue).
   > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
   > `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
   > Powered by [Codecov](https://codecov.io/gh/apache/apisix-dashboard/pull/1047?src=pr&el=footer). Last update [93b9c68...74445ed](https://codecov.io/gh/apache/apisix-dashboard/pull/1047?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org