From af7970d432b84998c62fcbce3ebc4c94a8219566 Mon Sep 17 00:00:00 2001 From: Renzo Beux <renzobeux@gmail.com> Date: Wed, 8 Sep 2021 19:38:16 -0300 Subject: [PATCH] feat: Swagger implementation --- src/Controllers/SheetController.ts | 32 +----------------- src/Controllers/SwaggerEndpoints | 54 ++++++++++++++++++++++++++++++ src/Controllers/SwaggerSchemas | 41 +++++++++++++++++++++++ src/index.ts | 2 +- 4 files changed, 97 insertions(+), 32 deletions(-) create mode 100644 src/Controllers/SwaggerEndpoints create mode 100644 src/Controllers/SwaggerSchemas diff --git a/src/Controllers/SheetController.ts b/src/Controllers/SheetController.ts index 63b65e7..cc09403 100644 --- a/src/Controllers/SheetController.ts +++ b/src/Controllers/SheetController.ts @@ -3,7 +3,7 @@ import { } from 'express'; import { SheetParserResponse } from '../Models/SheetParserResponse'; import SheetService from '../Services/SheetService'; - +// import SwaggerSchemas from './Controllers/SwaggerSchemas'; const router = Router(); const parseSheet: Handler = async (req: Request, res: Response) => { @@ -17,36 +17,6 @@ const parseSheet: Handler = async (req: Request, res: Response) => { } }; -/** - * @swagger - * /excelParser: - * post: - * tags: - * - parser - * description: Sheet Parser - * requestBody: - * required: true - * content: - * application/json: - * schema: - * type: object - * required: - * - email - * - password - * properties: - * excel: - * type: string - * responses: - * '200': - * description: returns the parsed JSON of the excel file provided - * content: - * application/json: - * schema: - * type: object - * properties: - * excelParsed: - * type: string - */ router.post('/', parseSheet); export default router; diff --git a/src/Controllers/SwaggerEndpoints b/src/Controllers/SwaggerEndpoints new file mode 100644 index 0000000..2a98cbb --- /dev/null +++ b/src/Controllers/SwaggerEndpoints @@ -0,0 +1,54 @@ +# /** +# * @swagger +# * components: +# * schemas: +# * Menores: +# * type: object +# * properties: +# * edad: +# * type: integer +# * peso: +# * type: integer +# * Mayores: +# * type: object +# * properties: +# * edad: +# * type: integer +# * peso: +# * type: integer +# * talla: +# * type: integer +# * SheetParserResponse: +# * type: object +# * properties: +# * hombresMenores: +# * type: Menores [] +# * +# * +# * mujeresMenores: +# * type: Menores [] +# * hombres: +# * type: Mayores [] +# * mujeres: +# * type: Mayores [] +# */ +/** + * @swagger + * /excelParser: + * post: + * tags: + * - parser + * description: Sheet Parser + * requestBody: + * required: true + * content: + * application/octet-stream: + * type: binary + * responses: + * '200': + * description: returns the parsed JSON of the excel file provided + * content: + * application/json: + * schema: + * $ref: '#/components/schemas/SheetParserResponse' + */ \ No newline at end of file diff --git a/src/Controllers/SwaggerSchemas b/src/Controllers/SwaggerSchemas new file mode 100644 index 0000000..65d51f4 --- /dev/null +++ b/src/Controllers/SwaggerSchemas @@ -0,0 +1,41 @@ +/** + * @swagger + * components: + * schemas: + * Menores: + * type: object + * properties: + * edad: + * type: integer + * peso: + * type: integer + * Mayores: + * type: object + * required: ["edad"] + * properties: + * edad: + * type: integer + * peso: + * type: integer + * talla: + * type: integer + * SheetParserResponse: + * type: object + * properties: + * hombresMenores: + * type: array + * items: + * $ref: '#/components/schemas/Menores' + * mujeresMenores: + * type: array + * items: + * $ref: '#/components/schemas/Menores' + * hombres: + * type: array + * items: + * $ref: '#/components/schemas/Mayores' + * mujeres: + * type: array + * items: + * $ref: '#/components/schemas/Mayores' + */ \ No newline at end of file diff --git a/src/index.ts b/src/index.ts index 52cbdc3..fc61b0a 100644 --- a/src/index.ts +++ b/src/index.ts @@ -21,7 +21,7 @@ const swaggerOptions: Options = { servers: ['http://localhost:3000'], }, }, - apis: ['src/routes.ts'], + apis: ['src/Controllers/*'], }; const swaggerDocs = swaggerJsDoc(swaggerOptions); -- GitLab