@pipedream/pandadoc 0.2.3 → 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,11 +1,11 @@
1
1
  import app from "../../pandadoc.app.mjs";
2
2
 
3
- export default defineComponent({
3
+ export default {
4
4
  key: "pandadoc-send-document",
5
5
  name: "Send Document",
6
6
  description: "Move a document to sent status and send an optional email. [See the documentation](https://developers.pandadoc.com/reference/send-document)",
7
7
  type: "action",
8
- version: "0.0.3",
8
+ version: "0.0.5",
9
9
  props: {
10
10
  app,
11
11
  documentId: {
@@ -31,7 +31,7 @@ export default defineComponent({
31
31
  type: "boolean",
32
32
  label: "Silent",
33
33
  description:
34
- `Disables sent, viewed, comment and completed email notifications for document recipients and the document sender. By default, notifications emails are sent for specific actions. If set as true, it won't affect "Approve document" email notification sent to the Approver.`,
34
+ "Disables sent, viewed, comment and completed email notifications for document recipients and the document sender. By default, notifications emails are sent for specific actions. If set as true, it won't affect \"Approve document\" email notification sent to the Approver.",
35
35
  optional: true,
36
36
  default: false,
37
37
  },
@@ -60,25 +60,35 @@ export default defineComponent({
60
60
  },
61
61
  async run({ $ }) {
62
62
  const documentId = this.documentId;
63
-
64
63
  let documentStatus = "";
64
+ let retryCount = 0;
65
+ const maxRetries = 5; // Maximum number of retries
65
66
 
66
- while (documentStatus !== "document.draft") {
67
+ while (documentStatus !== "document.draft" && retryCount < maxRetries) {
67
68
  try {
68
69
  const response = await this.app.getDocument({
69
70
  id: documentId,
70
71
  });
71
- docStatus = response.status;
72
- if (docStatus == "document.draft") break;
72
+ console.log(response);
73
+ documentStatus = response.status;
74
+ if (documentStatus === "document.draft") {
75
+ break;
76
+ }
73
77
  console.log(
74
- `Document status is '${documentStatus}' and not 'document.draft'. Waiting 1s and trying again...`
78
+ `Document status is '${documentStatus}' and not 'document.draft'. Waiting 1s and trying again...`,
75
79
  );
76
80
  await new Promise((resolve) => setTimeout(resolve, 1000)); // Wait for 1 second
81
+ retryCount++;
77
82
  } catch (error) {
78
83
  console.error("Error fetching document details:", error);
84
+ retryCount++; // Increment the retry count on error
79
85
  }
80
86
  }
81
87
 
88
+ if (documentStatus !== "document.draft") {
89
+ console.error(`Maximum retry limit (${maxRetries}) reached. Exiting.`);
90
+ }
91
+
82
92
  const data = {
83
93
  subject: this.subject,
84
94
  message: this.message,
@@ -102,7 +112,10 @@ export default defineComponent({
102
112
  data,
103
113
  });
104
114
 
105
- $.export("$summary", `Successfully sent "${response.name}" document with ID: ${response.id} to ${response.recipients.length} recipient(s)`);
115
+ $.export(
116
+ "$summary",
117
+ `Successfully sent "${response.name}" document with ID: ${response.id} to ${response.recipients.length} recipient(s)`,
118
+ );
106
119
  return response;
107
120
  },
108
- });
121
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pipedream/pandadoc",
3
- "version": "0.2.3",
3
+ "version": "0.2.5",
4
4
  "description": "Pipedream PandaDoc Components",
5
5
  "main": "pandadoc.app.mjs",
6
6
  "keywords": [