diff --git a/components/returnless/actions/list-sales-order-items/list-sales-order-items.mjs b/components/returnless/actions/list-sales-order-items/list-sales-order-items.mjs new file mode 100644 index 0000000000000..6b83967084a1b --- /dev/null +++ b/components/returnless/actions/list-sales-order-items/list-sales-order-items.mjs @@ -0,0 +1,39 @@ +import returnless from "../../returnless.app.mjs"; + +export default { + key: "returnless-list-sales-order-items", + name: "List Sales Order Items", + description: "Retrieve all items from a specific sales order with cursor-based pagination support. [See the documentation](https://docs.returnless.com/docs/api-rest-reference/6b3c26dad0434-list-all-items-of-a-sales-order)", + version: "0.0.1", + type: "action", + props: { + returnless, + orderId: { + propDefinition: [ + returnless, + "orderId", + ], + }, + maxResults: { + propDefinition: [ + returnless, + "maxResults", + ], + }, + }, + async run({ $ }) { + const salesOrderItems = await this.returnless.getPaginatedResources({ + fn: this.returnless.listSalesOrderItems, + args: { + $, + orderId: this.orderId, + }, + max: this.maxResults, + }); + + $.export("$summary", `Retrieved ${salesOrderItems.length} sales order item${salesOrderItems.length === 1 + ? "" + : "s"} from order ${this.orderId}`); + return salesOrderItems; + }, +}; diff --git a/components/returnless/package.json b/components/returnless/package.json index 1a004790bb789..e9f30702e8a3f 100644 --- a/components/returnless/package.json +++ b/components/returnless/package.json @@ -1,6 +1,6 @@ { "name": "@pipedream/returnless", - "version": "0.1.0", + "version": "0.1.1", "description": "Pipedream Returnless Components", "main": "returnless.app.mjs", "keywords": [