From 7cd180b4e955c67957d9c96b5749b3501ca1cd96 Mon Sep 17 00:00:00 2001 From: Gowtham M Date: Wed, 15 Jul 2026 16:47:45 +0530 Subject: [PATCH] GWM : excell export option added in swagger --- src/docs/assets-routes.yaml | 22 ++++++++++++++++++++++ src/docs/grn-routes.yaml | 21 +++++++++++++++++++++ src/docs/purchase-orders-routes.yaml | 21 +++++++++++++++++++++ src/docs/vendors-routes.yaml | 28 ++++++++++++++++++++++++++++ 4 files changed, 92 insertions(+) diff --git a/src/docs/assets-routes.yaml b/src/docs/assets-routes.yaml index 8a385be..463973e 100644 --- a/src/docs/assets-routes.yaml +++ b/src/docs/assets-routes.yaml @@ -423,6 +423,28 @@ paths: '200': description: Service alerts fetched content: { application/json: { schema: { $ref: '#/components/schemas/ApiResponse' } } } + /assets/export: + get: + tags: [Assets] + summary: Export assets CSV (same filters as list) + description: | + Requires `ASSET` → `export`. Returns CSV (opens in Excel). + No `id` column; date/datetime values formatted as `dd-mm-yyyy hh:mm`. + parameters: + - { name: search, in: query, schema: { type: string } } + - { name: status, in: query, schema: { type: string } } + - { name: condition, in: query, schema: { type: string } } + - { name: item_category_id, in: query, schema: { type: integer } } + - { name: item_subcategory_id, in: query, schema: { type: integer } } + - { name: plant_id, in: query, schema: { type: integer } } + - { name: department_id, in: query, schema: { type: integer } } + - { name: is_active, in: query, schema: { type: boolean } } + responses: + '200': + description: CSV export + content: + text/csv: + schema: { type: string } /assets: get: tags: [Assets] diff --git a/src/docs/grn-routes.yaml b/src/docs/grn-routes.yaml index e1a38db..ecd623c 100644 --- a/src/docs/grn-routes.yaml +++ b/src/docs/grn-routes.yaml @@ -78,6 +78,27 @@ components: created_at: { type: string, format: date-time } paths: + /grn/export: + get: + tags: [GRN] + summary: Export GRNs CSV (same filters as list) + description: | + Requires `GRN` → `export`. Returns CSV (opens in Excel). + No `id` column; date/datetime values formatted as `dd-mm-yyyy hh:mm`. + parameters: + - { name: search, in: query, schema: { type: string, example: 'GRN/2026' } } + - { name: status, in: query, schema: { type: string, enum: [POSTED, CANCELLED] } } + - { name: po_id, in: query, schema: { type: integer } } + - { name: vendor_id, in: query, schema: { type: integer } } + - { name: warehouse_id, in: query, schema: { type: integer } } + - { name: date_from, in: query, schema: { type: string, format: date } } + - { name: date_to, in: query, schema: { type: string, format: date } } + responses: + '200': + description: CSV export + content: + text/csv: + schema: { type: string } /grn: get: tags: [GRN] diff --git a/src/docs/purchase-orders-routes.yaml b/src/docs/purchase-orders-routes.yaml index 10753c9..18d3ffe 100644 --- a/src/docs/purchase-orders-routes.yaml +++ b/src/docs/purchase-orders-routes.yaml @@ -97,6 +97,27 @@ components: created_at: { type: string, format: date-time } paths: + /purchase-orders/export: + get: + tags: [Purchase Orders] + summary: Export purchase orders CSV (same filters as list) + description: | + Requires `PURCHASE_ORDER` → `export`. Returns CSV (opens in Excel). + No `id` column; date/datetime values formatted as `dd-mm-yyyy hh:mm`. + parameters: + - { name: search, in: query, schema: { type: string, example: 'PO/2026' } } + - { name: status, in: query, schema: { type: string, example: DRAFT } } + - { name: po_type, in: query, schema: { type: string, example: RAW_MATERIAL } } + - { name: vendor_id, in: query, schema: { type: integer, example: 1 } } + - { name: plant_id, in: query, schema: { type: integer, example: 1 } } + - { name: date_from, in: query, schema: { type: string, format: date } } + - { name: date_to, in: query, schema: { type: string, format: date } } + responses: + '200': + description: CSV export + content: + text/csv: + schema: { type: string } /purchase-orders: get: tags: [Purchase Orders] diff --git a/src/docs/vendors-routes.yaml b/src/docs/vendors-routes.yaml index 93e37d8..a9ff8a4 100644 --- a/src/docs/vendors-routes.yaml +++ b/src/docs/vendors-routes.yaml @@ -146,6 +146,34 @@ components: is_active: { type: boolean, example: true } paths: + /vendors/export: + get: + tags: [Vendors] + summary: Export vendors CSV (same filters as list) + description: | + Requires `VENDOR` → `export`. Returns CSV (opens in Excel). + No `id` column; date/datetime values formatted as `dd-mm-yyyy hh:mm`. + parameters: + - in: query + name: search + schema: { type: string } + - in: query + name: status + schema: { type: string, enum: [active, inactive, blacklisted] } + - in: query + name: vendor_type + schema: + type: string + enum: [RAW_MATERIAL, PACKING_MATERIAL, ASSET_CAPITAL, SERVICE, GENERAL] + - in: query + name: is_active + schema: { type: boolean } + responses: + "200": + description: CSV export + content: + text/csv: + schema: { type: string } /vendors: get: tags: [Vendors]