diff --git a/components/etrusted/actions/create-veto-for-review/create-veto-for-review.mjs b/components/etrusted/actions/create-veto-for-review/create-veto-for-review.mjs new file mode 100644 index 0000000000000..8be6ff231ff78 --- /dev/null +++ b/components/etrusted/actions/create-veto-for-review/create-veto-for-review.mjs @@ -0,0 +1,53 @@ +import etrusted from "../../etrusted.app.mjs"; + +export default { + key: "etrusted-create-veto-for-review", + name: "Create A Veto For A Review", + description: "Creates a veto for a specific review. [See the documentation](https://developers.etrusted.com/reference/createveto)", + version: "0.0.1", + type: "action", + props: { + etrusted, + reviewId: { + propDefinition: [ + etrusted, + "reviewId", + ], + }, + comment: { + type: "string", + label: "Comment", + description: "The veto comment. Provide additional information on the review or your veto here.", + }, + reason: { + type: "string", + label: "Reason", + description: "The reason for the veto.", + options: [ + "UNTRUTHFUL", + "ABUSIVE", + "VIOLATES_THE_TERMS_OF_USE", + "INAPPROPRIATE_IMAGE", + ], + }, + vetoReporterEmail: { + type: "string", + label: "Veto Reporter Email", + description: "The E-Mail address of the veto reporter.", + }, + }, + async run({ $ }) { + const response = await this.etrusted.createVetoForReview({ + $, + reviewId: this.reviewId, + data: { + comment: this.comment, + reason: this.reason, + vetoReporterEmail: this.vetoReporterEmail, + }, + }); + + $.export("$summary", `Successfully created veto with ID ${response.id} for review ${this.reviewId}`); + return response; + }, +}; diff --git a/components/etrusted/actions/delete-review-reply/delete-review-reply.mjs b/components/etrusted/actions/delete-review-reply/delete-review-reply.mjs new file mode 100644 index 0000000000000..6c374ce5e6958 --- /dev/null +++ b/components/etrusted/actions/delete-review-reply/delete-review-reply.mjs @@ -0,0 +1,27 @@ +import etrusted from "../../etrusted.app.mjs"; + +export default { + key: "etrusted-delete-review-reply", + name: "Delete Review Reply", + description: "Reply to a review. [See the documentation](https://developers.etrusted.com/reference/deletereviewreply)", + version: "0.0.1", + type: "action", + props: { + etrusted, + reviewId: { + propDefinition: [ + etrusted, + "reviewId", + ], + }, + }, + async run({ $ }) { + const response = await this.etrusted.deleteReviewReply({ + $, + reviewId: this.reviewId, + }); + + $.export("$summary", `Successfully deleted review reply for review ${this.reviewId}`); + return response; + }, +}; diff --git a/components/etrusted/actions/get-list-of-reviews-with-fewer-properties/get-list-of-reviews-with-fewer-properties.mjs b/components/etrusted/actions/get-list-of-reviews-with-fewer-properties/get-list-of-reviews-with-fewer-properties.mjs new file mode 100644 index 0000000000000..d355132ca7d9b --- /dev/null +++ b/components/etrusted/actions/get-list-of-reviews-with-fewer-properties/get-list-of-reviews-with-fewer-properties.mjs @@ -0,0 +1,149 @@ +import { parseObject } from "../../common/utils.mjs"; +import etrusted from "../../etrusted.app.mjs"; + +export default { + key: "etrusted-get-list-of-reviews-with-fewer-properties", + name: "Get List of Reviews with Fewer Properties", + description: "Retrieves a list of reviews with fewer properties. [See the documentation](https://developers.etrusted.com/reference/getminimalreviews)", + version: "0.0.1", + type: "action", + props: { + etrusted, + channelId: { + propDefinition: [ + etrusted, + "channelId", + ], + type: "string[]", + optional: true, + }, + after: { + propDefinition: [ + etrusted, + "reviewId", + ], + label: "After", + description: "`After` is a review ID. The list of reviews in the response will only contain reviews submitted earlier than the review with this ID.", + optional: true, + }, + before: { + propDefinition: [ + etrusted, + "reviewId", + ], + label: "Before", + description: "`Before` is a review ID. The list of reviews in the response will only contain reviews submitted later than the review with this ID.", + optional: true, + }, + submittedAfter: { + propDefinition: [ + etrusted, + "submittedAfter", + ], + optional: true, + }, + submittedBefore: { + propDefinition: [ + etrusted, + "submittedBefore", + ], + optional: true, + }, + rating: { + propDefinition: [ + etrusted, + "rating", + ], + optional: true, + }, + status: { + propDefinition: [ + etrusted, + "status", + ], + optional: true, + }, + type: { + propDefinition: [ + etrusted, + "type", + ], + optional: true, + }, + hasReply: { + propDefinition: [ + etrusted, + "hasReply", + ], + optional: true, + }, + ignoreStatements: { + propDefinition: [ + etrusted, + "ignoreStatements", + ], + optional: true, + }, + query: { + propDefinition: [ + etrusted, + "query", + ], + optional: true, + }, + sku: { + propDefinition: [ + etrusted, + "sku", + ], + optional: true, + }, + orderBy: { + propDefinition: [ + etrusted, + "orderBy", + ], + optional: true, + }, + maxResults: { + propDefinition: [ + etrusted, + "maxResults", + ], + optional: true, + }, + }, + async run({ $ }) { + const response = await this.etrusted.paginate({ + $, + fn: this.etrusted.getListOfReviewsWithFewerProperties, + params: { + channels: this.channelId && parseObject(this.channelId).join(","), + after: this.after, + before: this.before, + submittedAfter: this.submittedAfter, + submittedBefore: this.submittedBefore, + rating: this.rating && parseObject(this.rating).join(","), + status: this.status && parseObject(this.status).join(","), + type: this.type && parseObject(this.type).join(","), + hasReply: this.hasReply, + ignoreStatements: this.ignoreStatements, + query: this.query, + sku: this.sku, + orderBy: this.orderBy, + maxResults: this.maxResults, + }, + maxResults: this.maxResults, + }); + + const reviews = []; + for await (const review of response) { + reviews.push(review); + } + + $.export("$summary", `Successfully retrieved ${reviews.length} review${reviews.length === 1 + ? "" + : "s"} with fewer properties`); + return reviews; + }, +}; diff --git a/components/etrusted/actions/get-list-of-reviews/get-list-of-reviews.mjs b/components/etrusted/actions/get-list-of-reviews/get-list-of-reviews.mjs new file mode 100644 index 0000000000000..5820ec37c802f --- /dev/null +++ b/components/etrusted/actions/get-list-of-reviews/get-list-of-reviews.mjs @@ -0,0 +1,159 @@ +import { parseObject } from "../../common/utils.mjs"; +import etrusted from "../../etrusted.app.mjs"; + +export default { + key: "etrusted-get-list-of-reviews", + name: "Get List of Reviews", + description: "Get a list of reviews for a specific channel, a set of channels or for your entire account. [See the documentation](https://developers.etrusted.com/reference/getreviews)", + version: "0.0.1", + type: "action", + props: { + etrusted, + channelId: { + propDefinition: [ + etrusted, + "channelId", + ], + type: "string[]", + optional: true, + }, + after: { + propDefinition: [ + etrusted, + "reviewId", + ], + label: "After", + description: "`After` is a review ID. The list of reviews in the response will only contain reviews submitted earlier than the review with this ID.", + optional: true, + }, + before: { + propDefinition: [ + etrusted, + "reviewId", + ], + label: "Before", + description: "`Before` is a review ID. The list of reviews in the response will only contain reviews submitted later than the review with this ID.", + optional: true, + }, + submittedAfter: { + propDefinition: [ + etrusted, + "submittedAfter", + ], + optional: true, + }, + submittedBefore: { + propDefinition: [ + etrusted, + "submittedBefore", + ], + optional: true, + }, + rating: { + propDefinition: [ + etrusted, + "rating", + ], + optional: true, + }, + status: { + propDefinition: [ + etrusted, + "status", + ], + optional: true, + }, + type: { + propDefinition: [ + etrusted, + "type", + ], + optional: true, + }, + hasReply: { + propDefinition: [ + etrusted, + "hasReply", + ], + optional: true, + }, + additionalInformation: { + type: "string[]", + label: "Additional Information", + description: "A list of additional pieces of information to be retrieved with the review. If this property is not set, none of the of additional information are included in the review.", + options: [ + "VETO", + "ATTACHMENTS", + ], + optional: true, + }, + ignoreStatements: { + propDefinition: [ + etrusted, + "ignoreStatements", + ], + optional: true, + }, + query: { + propDefinition: [ + etrusted, + "query", + ], + optional: true, + }, + sku: { + propDefinition: [ + etrusted, + "sku", + ], + optional: true, + }, + orderBy: { + propDefinition: [ + etrusted, + "orderBy", + ], + optional: true, + }, + maxResults: { + propDefinition: [ + etrusted, + "maxResults", + ], + optional: true, + }, + }, + async run({ $ }) { + const response = this.etrusted.paginate({ + $, + fn: this.etrusted.getListOfReviews, + params: { + channels: parseObject(this.channelId)?.join(","), + after: this.after, + before: this.before, + submittedAfter: this.submittedAfter, + submittedBefore: this.submittedBefore, + rating: parseObject(this.rating)?.join(","), + status: parseObject(this.status)?.join(","), + type: parseObject(this.type)?.join(","), + hasReply: this.hasReply, + additionalInformation: parseObject(this.additionalInformation)?.join(","), + ignoreStatements: this.ignoreStatements, + query: this.query, + sku: parseObject(this.sku)?.join(","), + orderBy: this.orderBy, + }, + maxResults: this.maxResults, + }); + + const reviews = []; + for await (const review of response) { + reviews.push(review); + } + + $.export("$summary", `Successfully retrieved ${reviews.length} review${reviews.length === 1 + ? "" + : "s"}`); + return reviews; + }, +}; diff --git a/components/etrusted/actions/get-review-by-id/get-review-by-id.mjs b/components/etrusted/actions/get-review-by-id/get-review-by-id.mjs new file mode 100644 index 0000000000000..27f5a11d8ee16 --- /dev/null +++ b/components/etrusted/actions/get-review-by-id/get-review-by-id.mjs @@ -0,0 +1,27 @@ +import etrusted from "../../etrusted.app.mjs"; + +export default { + key: "etrusted-get-review-by-id", + name: "Get Review by ID", + description: "Retrieves detailed information about a specific review by its ID. [See the documentation](https://developers.etrusted.com/reference/getreview)", + version: "0.0.1", + type: "action", + props: { + etrusted, + reviewId: { + propDefinition: [ + etrusted, + "reviewId", + ], + }, + }, + async run({ $ }) { + const response = await this.etrusted.getReviewById({ + $, + reviewId: this.reviewId, + }); + + $.export("$summary", `Successfully retrieved review ${this.reviewId}`); + return response; + }, +}; diff --git a/components/etrusted/actions/get-review-veto-by-review-id/get-review-veto-by-review-id.mjs b/components/etrusted/actions/get-review-veto-by-review-id/get-review-veto-by-review-id.mjs new file mode 100644 index 0000000000000..3bd0218d8a9ff --- /dev/null +++ b/components/etrusted/actions/get-review-veto-by-review-id/get-review-veto-by-review-id.mjs @@ -0,0 +1,32 @@ +import etrusted from "../../etrusted.app.mjs"; + +export default { + key: "etrusted-get-review-veto-by-review-id", + name: "Get A Review Veto By Review ID", + description: "Retrieves a veto for a specific review. [See the documentation](https://developers.etrusted.com/reference/getreviewveto)", + version: "0.0.1", + type: "action", + props: { + etrusted, + reviewId: { + propDefinition: [ + etrusted, + "reviewId", + ], + }, + }, + async run({ $ }) { + try { + const response = await this.etrusted.getReviewVetoByReviewId({ + $, + reviewId: this.reviewId, + }); + + $.export("$summary", `Successfully retrieved veto with ID ${response.id}`); + return response; + } catch (error) { + $.export("$summary", `Review with ID ${this.reviewId} has no veto`); + return {}; + } + }, +}; diff --git a/components/etrusted/actions/get-service-review-rating/get-service-review-rating.mjs b/components/etrusted/actions/get-service-review-rating/get-service-review-rating.mjs new file mode 100644 index 0000000000000..b6522a182fca0 --- /dev/null +++ b/components/etrusted/actions/get-service-review-rating/get-service-review-rating.mjs @@ -0,0 +1,26 @@ +import etrusted from "../../etrusted.app.mjs"; + +export default { + key: "etrusted-get-service-review-rating", + name: "Get Service Review Rating", + description: "Retrieves aggregate ratings for service reviews by channel ID. [See the documentation](https://developers.etrusted.com/reference/get-channel-service-reviews-aggregate-rating)", + version: "0.0.1", + type: "action", + props: { + etrusted, + channelId: { + propDefinition: [ + etrusted, + "channelId", + ], + }, + }, + async run({ $ }) { + const response = await this.etrusted.getServiceReviewRating({ + $, + channelId: this.channelId, + }); + $.export("$summary", `Successfully retrieved service review rating for ${this.channelId}`); + return response; + }, +}; diff --git a/components/etrusted/actions/get-total-reviews/get-total-reviews.mjs b/components/etrusted/actions/get-total-reviews/get-total-reviews.mjs new file mode 100644 index 0000000000000..8b2d6bf6ec9b3 --- /dev/null +++ b/components/etrusted/actions/get-total-reviews/get-total-reviews.mjs @@ -0,0 +1,104 @@ +import { parseObject } from "../../common/utils.mjs"; +import etrusted from "../../etrusted.app.mjs"; + +export default { + key: "etrusted-get-total-reviews", + name: "Get The Total Number Of Reviews Based On A Filter", + description: "Retrieves count of reviews for a specific channel. [See the documentation](https://developers.etrusted.com/reference/getreviewscount)", + version: "0.0.1", + type: "action", + props: { + etrusted, + channelId: { + propDefinition: [ + etrusted, + "channelId", + ], + type: "string[]", + optional: true, + }, + submittedAfter: { + propDefinition: [ + etrusted, + "submittedAfter", + ], + optional: true, + }, + submittedBefore: { + propDefinition: [ + etrusted, + "submittedBefore", + ], + optional: true, + }, + rating: { + propDefinition: [ + etrusted, + "rating", + ], + optional: true, + }, + status: { + propDefinition: [ + etrusted, + "status", + ], + optional: true, + }, + type: { + propDefinition: [ + etrusted, + "type", + ], + optional: true, + }, + hasReply: { + propDefinition: [ + etrusted, + "hasReply", + ], + optional: true, + }, + ignoreStatements: { + propDefinition: [ + etrusted, + "ignoreStatements", + ], + optional: true, + }, + query: { + propDefinition: [ + etrusted, + "query", + ], + optional: true, + }, + sku: { + propDefinition: [ + etrusted, + "sku", + ], + optional: true, + }, + }, + async run({ $ }) { + const response = await this.etrusted.getTotalReviews({ + $, + params: { + channels: parseObject(this.channelId)?.join(","), + submittedAfter: this.submittedAfter, + submittedBefore: this.submittedBefore, + rating: parseObject(this.rating)?.join(","), + status: parseObject(this.status)?.join(","), + type: parseObject(this.type)?.join(","), + hasReply: this.hasReply, + ignoreStatements: this.ignoreStatements, + query: this.query, + sku: parseObject(this.sku)?.join(","), + }, + }); + + $.export("$summary", `Successfully retrieved total number of reviews: ${response.totalElements}`); + return response; + }, +}; diff --git a/components/etrusted/actions/save-review-reply/save-review-reply.mjs b/components/etrusted/actions/save-review-reply/save-review-reply.mjs new file mode 100644 index 0000000000000..f6e68a0ee9d54 --- /dev/null +++ b/components/etrusted/actions/save-review-reply/save-review-reply.mjs @@ -0,0 +1,48 @@ +import etrusted from "../../etrusted.app.mjs"; + +export default { + key: "etrusted-save-review-reply", + name: "Save A Review Reply", + description: "Reply to a review. [See the documentation](https://developers.etrusted.com/reference/savereviewreply)", + version: "0.0.1", + type: "action", + props: { + etrusted, + reviewId: { + propDefinition: [ + etrusted, + "reviewId", + () => ({ + params: { + status: "APPROVED,MODERATION", + }, + }), + ], + description: "The ID of the review to reply to.", + }, + comment: { + type: "string", + label: "Comment", + description: "The value to be used as review reply comment.", + }, + sendNotification: { + type: "boolean", + label: "Send Notification", + description: "Whether to send a notification to the reviewer.", + optional: true, + }, + }, + async run({ $ }) { + const response = await this.etrusted.saveReviewReply({ + $, + reviewId: this.reviewId, + data: { + comment: this.comment, + sendNotification: this.sendNotification, + }, + }); + + $.export("$summary", `Successfully saved review reply for review ${this.reviewId}`); + return response; + }, +}; diff --git a/components/etrusted/common/constants.mjs b/components/etrusted/common/constants.mjs new file mode 100644 index 0000000000000..200a749d18e01 --- /dev/null +++ b/components/etrusted/common/constants.mjs @@ -0,0 +1 @@ +export const LIMIT = 500; diff --git a/components/etrusted/common/utils.mjs b/components/etrusted/common/utils.mjs new file mode 100644 index 0000000000000..889b5b5a3a625 --- /dev/null +++ b/components/etrusted/common/utils.mjs @@ -0,0 +1,24 @@ +export const parseObject = (obj) => { + if (!obj) return []; + + if (Array.isArray(obj)) { + return obj.map((item) => { + if (typeof item === "string") { + try { + return JSON.parse(item); + } catch (e) { + return item; + } + } + return item; + }); + } + if (typeof obj === "string") { + try { + return JSON.parse(obj); + } catch (e) { + return obj; + } + } + return obj; +}; diff --git a/components/etrusted/etrusted.app.mjs b/components/etrusted/etrusted.app.mjs index 5e41c9504b032..16787ee86877d 100644 --- a/components/etrusted/etrusted.app.mjs +++ b/components/etrusted/etrusted.app.mjs @@ -1,11 +1,243 @@ +import { axios } from "@pipedream/platform"; +import { LIMIT } from "./common/constants.mjs"; + export default { type: "app", app: "etrusted", - propDefinitions: {}, + propDefinitions: { + channelId: { + type: "string", + label: "Channel ID", + description: "The ID of the channel to get reviews for", + async options() { + const data = await this.getChannels(); + + return data.map(({ + id, name, + }) => ({ + label: name, + value: id, + })); + }, + }, + reviewId: { + type: "string", + label: "Review ID", + description: "The ID of the review to get", + async options({ + prevContext, params, + }) { + const { + paging, items, + } = await this.getListOfReviews({ + params: { + after: prevContext.next, + ...params, + }, + }); + return { + options: items.map(({ + id: value, title: label, + }) => ({ + label, + value, + })), + context: { + next: paging.cursor.after, + }, + }; + }, + }, + submittedAfter: { + type: "string", + label: "Submitted After", + description: "`Submitted After` is a timestamp in the ISO 8601 and RFC3339 compliant format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`. Check the [glossary](https://developers.etrusted.com/docs/glossory#iso-8601) for examples of valid datetime formats. The list of reviews will only contain reviews submitted with a later timestamp.", + }, + submittedBefore: { + type: "string", + label: "Submitted Before", + description: "`Submitted Before` is a timestamp in the ISO 8601 and RFC3339 compliant format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`. Check the [glossary](https://developers.etrusted.com/docs/glossory#iso-8601) for examples of valid datetime formats. The list of reviews will only contain reviews submitted with an earlier timestamp.", + }, + rating: { + type: "integer[]", + label: "Rating", + description: "A list of star ratings to be retrieved. If not set, all reviews are listed. `Example: [1, 2, 5]`", + }, + status: { + type: "string[]", + label: "Status", + description: "A list of statuses to be retrieved. If not set, all reviews are listed.", + options: [ + "APPROVED", + "MODERATION", + "REJECTED", + ], + }, + type: { + type: "string[]", + label: "Type", + description: "A list of review types to be retrieved. If not set, all reviews are listed.", + options: [ + "SERVICE_REVIEW", + "PRODUCT_REVIEW", + ], + }, + hasReply: { + type: "boolean", + label: "Has Reply", + description: "Reduces the list of reviews to only match reviews that either have been replied to or not. If not set, all reviews are listed.", + }, + ignoreStatements: { + type: "boolean", + label: "Ignore Statements", + description: "Filters the list to ignore [statements](https://developers.etrusted.com/docs/glossory#statement).", + }, + query: { + type: "string", + label: "Query", + description: "A full-text search query that is matched against the order reference and email properties.", + }, + sku: { + type: "string", + label: "SKU", + description: "list of product's SKUs. Be aware, that this parameter does only make sense for product reviews.", + }, + orderBy: { + type: "string", + label: "Order By", + description: "Specify the date to sort the returned list of reviews by.", + options: [ + "editedAt", + "lastEditedAt", + "updatedAt", + "submittedAt", + ], + }, + maxResults: { + type: "integer", + label: "Max Results", + description: "The maximum number of reviews to return. If not set, all reviews are returned.", + }, + }, methods: { - // this.$auth contains connected account data - authKeys() { - console.log(Object.keys(this.$auth)); + _baseUrl() { + return "https://api.etrusted.com"; + }, + _headers() { + return { + Authorization: `Bearer ${this.$auth.oauth_access_token}`, + }; + }, + _makeRequest({ + $ = this, path, ...opts + }) { + return axios($, { + url: this._baseUrl() + path, + headers: this._headers(), + ...opts, + }); + }, + getChannels() { + return this._makeRequest({ + path: "/channels", + }); + }, + getListOfReviews(opts = {}) { + return this._makeRequest({ + path: "/reviews", + ...opts, + }); + }, + getListOfReviewsWithFewerProperties(opts = {}) { + return this._makeRequest({ + path: "/reviews-minimal", + ...opts, + }); + }, + getReviewById({ + reviewId, ...opts + }) { + return this._makeRequest({ + path: `/reviews/${reviewId}`, + ...opts, + }); + }, + getServiceReviewRating({ + channelId, ...opts + }) { + return this._makeRequest({ + path: `/channels/${channelId}/service-reviews/aggregate-rating`, + ...opts, + }); + }, + createVetoForReview({ + reviewId, ...opts + }) { + return this._makeRequest({ + method: "POST", + path: `/reviews/${reviewId}/vetos`, + ...opts, + }); + }, + getReviewVetoByReviewId({ + reviewId, ...opts + }) { + return this._makeRequest({ + path: `/reviews/${reviewId}/vetos`, + ...opts, + }); + }, + getTotalReviews(opts = {}) { + return this._makeRequest({ + path: "/reviews/count", + ...opts, + }); + }, + deleteReviewReply({ + reviewId, ...opts + }) { + return this._makeRequest({ + method: "DELETE", + path: `/reviews/${reviewId}/reply`, + ...opts, + }); + }, + saveReviewReply({ + reviewId, ...opts + }) { + return this._makeRequest({ + method: "POST", + path: `/reviews/${reviewId}/reply`, + ...opts, + }); + }, + async *paginate({ + fn, params = {}, maxResults = null, ...opts + }) { + let after; + let count = 0; + + do { + params.count = LIMIT; + params.after = after; + const { + paging, + items, + } = await fn({ + params, + ...opts, + }); + for (const d of items) { + yield d; + + if (maxResults && ++count === maxResults) { + return count; + } + } + + after = paging.cursor.after; + + } while (after); }, }, }; diff --git a/components/etrusted/package.json b/components/etrusted/package.json index 78c501c3ffc32..a0b473ca60642 100644 --- a/components/etrusted/package.json +++ b/components/etrusted/package.json @@ -1,6 +1,6 @@ { "name": "@pipedream/etrusted", - "version": "0.0.1", + "version": "0.1.0", "description": "Pipedream eTrusted Components", "main": "etrusted.app.mjs", "keywords": [ @@ -11,5 +11,8 @@ "author": "Pipedream (https://pipedream.com/)", "publishConfig": { "access": "public" + }, + "dependencies": { + "@pipedream/platform": "^3.1.0" } -} \ No newline at end of file +} diff --git a/components/instamojo/instamojo.app.mjs b/components/instamojo/instamojo.app.mjs index 84211cac23b06..da7d3763e2f62 100644 --- a/components/instamojo/instamojo.app.mjs +++ b/components/instamojo/instamojo.app.mjs @@ -8,4 +8,4 @@ export default { console.log(Object.keys(this.$auth)); }, }, -}; \ No newline at end of file +}; diff --git a/components/reduct_video/reduct_video.app.mjs b/components/reduct_video/reduct_video.app.mjs index 9a2367bb8911c..5ee17f7e2d320 100644 --- a/components/reduct_video/reduct_video.app.mjs +++ b/components/reduct_video/reduct_video.app.mjs @@ -8,4 +8,4 @@ export default { console.log(Object.keys(this.$auth)); }, }, -}; \ No newline at end of file +}; diff --git a/components/shopware/shopware.app.mjs b/components/shopware/shopware.app.mjs index 7110a7ea838de..6642bccf02b7f 100644 --- a/components/shopware/shopware.app.mjs +++ b/components/shopware/shopware.app.mjs @@ -8,4 +8,4 @@ export default { console.log(Object.keys(this.$auth)); }, }, -}; \ No newline at end of file +}; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 939d6c9a66e09..cdc1786b35fc9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4634,7 +4634,11 @@ importers: components/ethereum: {} - components/etrusted: {} + components/etrusted: + dependencies: + '@pipedream/platform': + specifier: ^3.1.0 + version: 3.1.0 components/etsy: dependencies: @@ -12247,7 +12251,11 @@ importers: specifier: ^3.0.0 version: 3.0.3 - components/rosette_text_analytics: {} + components/rosette_text_analytics: + dependencies: + '@pipedream/platform': + specifier: ^3.1.0 + version: 3.1.0 components/route4me: {} @@ -30984,22 +30992,22 @@ packages: superagent@3.8.1: resolution: {integrity: sha512-VMBFLYgFuRdfeNQSMLbxGSLfmXL/xc+OO+BZp41Za/NRDBet/BNbkRJrYzCUu0u4GU0i/ml2dtT8b9qgkw9z6Q==} engines: {node: '>= 4.0'} - deprecated: Please upgrade to superagent v10.2.2+, see release notes at https://github.com/forwardemail/superagent/releases/tag/v10.2.2 - maintenance is supported by Forward Email @ https://forwardemail.net + deprecated: Please upgrade to v9.0.0+ as we have fixed a public vulnerability with formidable dependency. Note that v9.0.0+ requires Node.js v14.18.0+. See https://github.com/ladjs/superagent/pull/1800 for insight. This project is supported and maintained by the team at Forward Email @ https://forwardemail.net superagent@4.1.0: resolution: {integrity: sha512-FT3QLMasz0YyCd4uIi5HNe+3t/onxMyEho7C3PSqmti3Twgy2rXT4fmkTz6wRL6bTF4uzPcfkUCa8u4JWHw8Ag==} engines: {node: '>= 6.0'} - deprecated: Please upgrade to superagent v10.2.2+, see release notes at https://github.com/forwardemail/superagent/releases/tag/v10.2.2 - maintenance is supported by Forward Email @ https://forwardemail.net + deprecated: Please upgrade to v9.0.0+ as we have fixed a public vulnerability with formidable dependency. Note that v9.0.0+ requires Node.js v14.18.0+. See https://github.com/ladjs/superagent/pull/1800 for insight. This project is supported and maintained by the team at Forward Email @ https://forwardemail.net superagent@5.3.1: resolution: {integrity: sha512-wjJ/MoTid2/RuGCOFtlacyGNxN9QLMgcpYLDQlWFIhhdJ93kNscFonGvrpAHSCVjRVj++DGCglocF7Aej1KHvQ==} engines: {node: '>= 7.0.0'} - deprecated: Please upgrade to superagent v10.2.2+, see release notes at https://github.com/forwardemail/superagent/releases/tag/v10.2.2 - maintenance is supported by Forward Email @ https://forwardemail.net + deprecated: Please upgrade to v9.0.0+ as we have fixed a public vulnerability with formidable dependency. Note that v9.0.0+ requires Node.js v14.18.0+. See https://github.com/ladjs/superagent/pull/1800 for insight. This project is supported and maintained by the team at Forward Email @ https://forwardemail.net superagent@7.1.6: resolution: {integrity: sha512-gZkVCQR1gy/oUXr+kxJMLDjla434KmSOKbx5iGD30Ql+AkJQ/YlPKECJy2nhqOsHLjGHzoDTXNSjhnvWhzKk7g==} engines: {node: '>=6.4.0 <13 || >=14'} - deprecated: Please upgrade to superagent v10.2.2+, see release notes at https://github.com/forwardemail/superagent/releases/tag/v10.2.2 - maintenance is supported by Forward Email @ https://forwardemail.net + deprecated: Please upgrade to v9.0.0+ as we have fixed a public vulnerability with formidable dependency. Note that v9.0.0+ requires Node.js v14.18.0+. See https://github.com/ladjs/superagent/pull/1800 for insight. This project is supported and maintained by the team at Forward Email @ https://forwardemail.net supports-color@10.0.0: resolution: {integrity: sha512-HRVVSbCCMbj7/kdWF9Q+bbckjBHLtHMEoJWlkmYzzdwhYMkjkOwubLM6t7NbWKjgKamGDrWL1++KrjUO1t9oAQ==}