actions/list-documents/list-documents.mjs
import app from "../../pandadoc.app.mjs"; import constants from "../common/constants.mjs"; export default { key: "pandadoc-list-documents", name: "List Documents", description: "List documents, optionally filtering by a search query or tags. [See the documentation here](https://developers.pandadoc.com/reference/list-documents)", type: "action", version: "0.0.8", annotations: { destructiveHint: false, openWorldHint: true, readOnlyHint: true, }, props: { app, query: { type: "string", label: "Query", description: "Search query. Filter by document reference number (this token is stored on template level) or name.", optional: true, }, tag: { type: "string", label: "Tag", description: "Search tag. Filter by document tag.", optional: true, }, status: { type: "string", label: "Status", description: "Specify the status of documents to return.", options: constants.DOCUMENTS_STATUS_OPTS, optional: true, }, id: { propDefinition: [ app, "documentId", ], optional: true, }, deleted: { type: "boolean", label: "Deleted", description: "Returns only deleted documents. Default is false.", optional: true, }, count: { type: "integer", label: "Count", description: "Specify how many document results to return. Default is 50 documents, maximum is 100 documents.", optional: true, min: 0, }, page: { type: "integer", label: "Page", description: "Specify which page of the dataset to return.", optional: true, min: 0, }, }, async run({ $ }) { const { query, tag, status, count, page, deleted, id, } = this; const response = await this.app.listDocuments({ $, params: { q: query, tag, status, count, page, deleted, id, }, }); $.export("$summary", `Successfully fetched ${response?.results?.length} documents`); return response; }, };