@solteq-excom/medusa-plugin-requisition-list
v1.0.2
Published
Requisition list plugin for Medusa
Readme
Requisition List Plugin
This package adds customer requisition list functionality to a Medusa backend.
It provides:
- A custom Medusa module for requisition lists and list items
- Store API routes for creating and managing customer-owned requisition lists
- A workflow that converts a requisition list into a cart
Plugin Identity
- Package:
@solteq-excom/medusa-plugin-requisition-list - Plugin resolve:
@solteq-excom/medusa-plugin-requisition-list - Module key:
requisitionList
Location
- Plugin entry: src/index.ts
- Module definition: src/modules/requisitionList/index.ts
- Module service: src/modules/requisitionList/service.ts
- Data models: src/modules/requisitionList/models/requisition-list.ts
- API middleware registration: src/api/middlewares.ts
- Route middleware + validators: src/api/store/requisition-lists/middlewares.ts
Features Implemented
- Create and list requisition lists for authenticated customers
- Retrieve, update, and delete a single requisition list
- Add items to a requisition list
- Update quantity for a requisition list item
- Remove a requisition list item
- Convert requisition list items into a newly created cart
- Ownership validation in workflows before mutating customer data
Store API Routes
All routes are customer-authenticated via:
- Session auth
- Bearer token auth
Routes:
GET /store/requisition-listsPOST /store/requisition-listsGET /store/requisition-lists/:idPOST /store/requisition-lists/:idDELETE /store/requisition-lists/:idPOST /store/requisition-lists/:id/itemsPOST /store/requisition-lists/:id/items/:item_idDELETE /store/requisition-lists/:id/items/:item_idPOST /store/requisition-lists/:id/convert-to-cart
Workflows
- src/workflows/create-requisition-list.ts
- src/workflows/update-requisition-list.ts
- src/workflows/delete-requisition-list.ts
- src/workflows/add-requisition-list-items.ts
- src/workflows/update-requisition-list-item.ts
- src/workflows/remove-requisition-list-item.ts
- src/workflows/convert-requisition-list-to-cart.ts
Install Guide
Install the plugin from npm in your Medusa application:
yarn add @solteq-excom/medusa-plugin-requisition-listor
npm install @solteq-excom/medusa-plugin-requisition-listThen configure medusa-config.ts.
Configure medusa-config.ts
Add this plugin to your plugins array:
plugins: [
{
resolve: "@solteq-excom/medusa-plugin-requisition-list",
options: {},
},
]Usage Notes
- The plugin uses Medusa route conventions (
GET,POST,DELETE), so update operations are exposed asPOST. POST /store/requisition-lists/:id/convert-to-cartrequires aregion_idand optionally acceptssales_channel_id.- Request body validation is implemented with Zod in src/api/store/requisition-lists/middlewares.ts.
Data Model Summary
requisition_listidnamecustomer_idcompany_id(nullable)visibility(privateorcompany)items(has manyrequisition_list_item)
requisition_list_itemidvariant_idquantityrequisition_list(belongs torequisition_list)
Troubleshooting
Convert-to-cart fails
- Ensure
region_idis provided in the request body. - Ensure requisition list item
variant_idvalues reference existing purchasable variants. - Ensure authenticated customer owns the requisition list.
Disclaimer
This package is provided as-is, without warranty of any kind. You are responsible for validating the integration, security, and compliance requirements before using it in production.
