Browse Source

add schema swagger

Signed-off-by: Gitea <zizhao.chen@zilliz.com>
Gitea 3 years ago
parent
commit
b14aa46926
2 changed files with 82 additions and 21 deletions
  1. 4 21
      express/src/schema/schema.controller.ts
  2. 78 0
      express/src/schema/swagger.yml

+ 4 - 21
express/src/schema/schema.controller.ts

@@ -3,12 +3,7 @@ import { dtoValidationMiddleware } from "../middlewares/validation";
 import { SchemaService } from "./schema.service";
 import { milvusService } from "../milvus";
 
-import {
-  ManageIndexDto,
-  DescribeIndexDto,
-  GetIndexProgressDto,
-  GetIndexStateDto,
-} from "./dto";
+import { ManageIndexDto } from "./dto";
 
 export class SchemaController {
   private router: Router;
@@ -26,23 +21,11 @@ export class SchemaController {
       this.manageIndex.bind(this)
     );
 
-    this.router.get(
-      "/index",
-      dtoValidationMiddleware(DescribeIndexDto),
-      this.describeIndex.bind(this)
-    );
+    this.router.get("/index", this.describeIndex.bind(this));
 
-    this.router.post(
-      "/index/progress",
-      dtoValidationMiddleware(GetIndexProgressDto),
-      this.getIndexBuildProgress.bind(this)
-    );
+    this.router.get("/index/progress", this.getIndexBuildProgress.bind(this));
 
-    this.router.post(
-      "/index/state",
-      dtoValidationMiddleware(GetIndexStateDto),
-      this.getIndexState.bind(this)
-    );
+    this.router.get("/index/state", this.getIndexState.bind(this));
 
     return this.router;
   }

+ 78 - 0
express/src/schema/swagger.yml

@@ -0,0 +1,78 @@
+paths:
+  /schema/index:
+    get:
+      tags: 
+        - Schema
+      description: Get index information
+      parameters:
+        - $ref: '#/definitions/CollectionName'
+      responses:
+        200:
+          schema:
+            type: object
+  
+    post:
+      tags: 
+        - Schema
+      description: Create or delete index in collection
+      requestBody:
+        description: Only type is create need extra_params
+        required: true
+        content:
+          application/json:
+            schema:
+              type: object
+              required:
+                - type
+                - collection_name
+                - field_name
+              properties:
+                type:
+                  type: string
+                  example: create
+                collection_name:
+                  type: string
+                  example: ''
+                field_name:
+                  type: string
+                  example: 'vector field'
+                extra_params:
+                  type: object
+                  example: {"index_type":"","metric_type":"","params":""}
+      responses:
+        200:
+          schema:
+            type: object
+
+  /schema/index/progress:
+    get:
+      tags: 
+        - Schema
+      description: Get index building progress percentage
+      parameters:
+        - $ref: '#/definitions/CollectionName'
+      responses:
+        200:
+          schema:
+            type: object
+
+  /schema/index/state:
+    get:
+      tags: 
+        - Schema
+      description: Get index state 
+      parameters:
+        - $ref: '#/definitions/CollectionName'
+      responses:
+        200:
+          schema:
+            type: object
+ 
+
+
+definitions:
+  CollectionName:
+    in: query
+    name: collection_name
+    type: string
+    description: Collection name