From fb6999dc38e11757ef5723d6f1f0a147ee2859b6 Mon Sep 17 00:00:00 2001 From: GTFalcao Date: Tue, 26 Nov 2024 02:12:05 -0300 Subject: [PATCH 01/24] Initial migration - 'list sites' action --- .../actions/list-sites/list-sites.mjs | 10 +- components/webflow_v2/common/constants.mjs | 4 + components/webflow_v2/package.json | 8 +- components/webflow_v2/webflow_v2.app.mjs | 245 +++++++++++++++++- 4 files changed, 255 insertions(+), 12 deletions(-) rename components/{webflow => webflow_v2}/actions/list-sites/list-sites.mjs (63%) create mode 100644 components/webflow_v2/common/constants.mjs diff --git a/components/webflow/actions/list-sites/list-sites.mjs b/components/webflow_v2/actions/list-sites/list-sites.mjs similarity index 63% rename from components/webflow/actions/list-sites/list-sites.mjs rename to components/webflow_v2/actions/list-sites/list-sites.mjs index 6ef0ec3ef218d..5d4c49ca39053 100644 --- a/components/webflow/actions/list-sites/list-sites.mjs +++ b/components/webflow_v2/actions/list-sites/list-sites.mjs @@ -1,16 +1,16 @@ -import webflow from "../../webflow.app.mjs"; +import app from "../../webflow_v2.app.mjs"; export default { - key: "webflow-list-sites", + key: "webflow_v2-list-sites", name: "List Sites", description: "List sites. [See the docs here](https://developers.webflow.com/#list-sites)", - version: "0.0.4", + version: "0.1.{{ts}}", type: "action", props: { - webflow, + app, }, async run({ $ }) { - const response = await this.webflow.getSites(); + const response = await this.app.getSites(); $.export("$summary", "Successfully retrieved sites"); diff --git a/components/webflow_v2/common/constants.mjs b/components/webflow_v2/common/constants.mjs new file mode 100644 index 0000000000000..d7f645c025aa5 --- /dev/null +++ b/components/webflow_v2/common/constants.mjs @@ -0,0 +1,4 @@ +export default { + LIMIT: 100, + DEPLOY_OFFSET: 25, +}; diff --git a/components/webflow_v2/package.json b/components/webflow_v2/package.json index 9ea5fe8b75feb..b2808e9dcb729 100644 --- a/components/webflow_v2/package.json +++ b/components/webflow_v2/package.json @@ -1,6 +1,6 @@ { "name": "@pipedream/webflow_v2", - "version": "0.0.1", + "version": "0.1.0", "description": "Pipedream Webflow (v2) Components", "main": "webflow_v2.app.mjs", "keywords": [ @@ -9,7 +9,11 @@ ], "homepage": "https://pipedream.com/apps/webflow_v2", "author": "Pipedream (https://pipedream.com/)", + "dependencies": { + "@pipedream/platform": "^3.0.3", + "webflow-api": "2.4.2" + }, "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/components/webflow_v2/webflow_v2.app.mjs b/components/webflow_v2/webflow_v2.app.mjs index 2773a1f8c4584..98b18f9064a49 100644 --- a/components/webflow_v2/webflow_v2.app.mjs +++ b/components/webflow_v2/webflow_v2.app.mjs @@ -1,11 +1,246 @@ +import { WebflowClient } from "webflow-api"; +import constants from "./common/constants.mjs"; + export default { type: "app", app: "webflow_v2", - propDefinitions: {}, + propDefinitions: { + domains: { + label: "Domain", + description: "The list of domains.", + type: "string[]", + async options({ siteId }) { + const domains = await this.getDomains(siteId); + + return domains.map((domain) => domain.name); + }, + }, + sites: { + label: "Site", + description: "The list of sites", + type: "string", + async options() { + const sites = await this.getSites(); + + return sites.map((site) => ({ + label: site.name, + value: site._id, + })); + }, + }, + collections: { + label: "Collection", + description: "The list of collection of a site", + type: "string", + async options({ siteId }) { + const collections = await this.getCollections(siteId); + + return collections.map((collection) => ({ + label: collection.name, + value: collection._id, + })); + }, + }, + items: { + label: "Item", + description: "The list of items of a collection", + type: "string", + async options({ + collectionId, page, + }) { + const items = await this.getItems(page, collectionId); + + return items.map((item) => ({ + label: item.name, + value: item._id, + })); + }, + }, + orders: { + label: "Order", + description: "The list of orders of a site", + type: "string", + async options({ + siteId, page, + }) { + const items = await this.getOrders({ + page, + siteId, + }); + + return items.map((item) => item.orderId); + }, + }, + }, methods: { - // this.$auth contains connected account data - authKeys() { - console.log(Object.keys(this.$auth)); + /** + * Get the auth access token; + * + * @returns {string} The base auth access token. + */ + _authToken() { + return this.$auth.oauth_access_token; + }, + _createApiClient() { + return new WebflowClient({ + accessToken: this._authToken(), + }); + }, + /** + * Create a Webflow webhook; + * + * @param {siteId} ID of the site to be monitored. + * @param {url} URL to webhook return. + * @param {triggerType} Type of event that will be triggered. + * @param {filter} Filters to be applied in webhook. + * + * @returns {params} The Webflow webhook. + */ + async createWebhook(siteId, url, triggerType, filter = {}) { + const apiClient = this._createApiClient(); + + return apiClient.createWebhook({ + siteId, + triggerType, + url, + filter, + }); + }, + /** + * Remove a Webflow webhook; + * + * @param {siteId} ID of the site. + * @param {webhookId} ID of the webhook. + */ + async removeWebhook(siteId, webhookId) { + const apiClient = this._createApiClient(); + return apiClient.removeWebhook({ + siteId, + webhookId, + }); + }, + /** + * Get an order; + * + * @param {options} Options to filter the order. + * + * @returns {params} An order. + */ + async getOrder({ + siteId, orderId, + }) { + const apiClient = this._createApiClient(); + + return apiClient.get(`/sites/${siteId}/order/${orderId}`); + }, + /** + * Get a list of orders; + * + * @param {options} Options to filter the orders. + * + * @returns {params} A list of orders. + */ + async getOrders({ + page, siteId, status, + }) { + const apiClient = this._createApiClient(); + + return apiClient.get(`/sites/${siteId}/orders`, { + status: status, + offset: page ?? 0, + limit: constants.LIMIT, + }); + }, + /** + * Get a list of domains; + * + * @param {options} Options to filter the domains. + * + * @returns {params} A list of domains. + */ + async getDomains(siteId) { + const webflow = this._createApiClient(); + + return await webflow.domains({ + siteId, + }); + }, + /** + * Get a site; + * + * @param {options} Options to filter the site. + * + * @returns {params} A site. + */ + async getSite(siteId) { + const webflow = this._createApiClient(); + + return await webflow.site({ + siteId, + }); + }, + /** + * Get a list of sites; + * + * @param {options} Options to filter the sites. + * + * @returns {params} A list of sites. + */ + async getSites() { + const webflow = this._createApiClient(); + + return await webflow.sites.list(); + }, + /** + * Get a collection; + * + * @param {options} Options to filter the collection. + * + * @returns {params} A collection. + */ + async getCollection(collectionId) { + const webflow = this._createApiClient(); + + return await webflow.collection({ + collectionId, + }); + }, + /** + * Get a list of collections; + * + * @param {options} Options to filter the collections. + * + * @returns {params} A list of collections. + */ + async getCollections(siteId) { + const webflow = this._createApiClient(); + + if (!siteId) return []; + + return await webflow.collections.list({ + siteId: siteId, + }); + }, + /** + * Get a list of items; + * + * @param {options} Options to filter the items. + * + * @returns {params} A list of items. + */ + async getItems(page = 0, collectionId) { + const webflow = this._createApiClient(); + + if (!collectionId) return []; + + const response = await webflow.items({ + collectionId, + }, { + limit: constants.LIMIT, + offset: page, + }); + + return response; }, }, -}; \ No newline at end of file +}; From 33073c47aaefcd4032e7e621eec9b320bf5e2dd4 Mon Sep 17 00:00:00 2001 From: GTFalcao Date: Tue, 26 Nov 2024 02:44:49 -0300 Subject: [PATCH 02/24] Migrating site, collection and item GETs --- .../webflow_v2/actions/list-sites/list-sites.mjs | 2 +- .../get-collection-item/get-collection-item.mjs | 16 ++++++++-------- .../get-collection/get-collection.mjs | 14 +++++++------- .../actions => webflow_v2}/get-site/get-site.mjs | 12 ++++++------ .../list-collection-items.mjs | 16 ++++++++-------- .../list-collections/list-collections.mjs | 12 ++++++------ components/webflow_v2/webflow_v2.app.mjs | 4 ++-- 7 files changed, 38 insertions(+), 38 deletions(-) rename components/{webflow/actions => webflow_v2}/get-collection-item/get-collection-item.mjs (78%) rename components/{webflow/actions => webflow_v2}/get-collection/get-collection.mjs (70%) rename components/{webflow/actions => webflow_v2}/get-site/get-site.mjs (65%) rename components/{webflow/actions => webflow_v2}/list-collection-items/list-collection-items.mjs (61%) rename components/{webflow/actions => webflow_v2}/list-collections/list-collections.mjs (65%) diff --git a/components/webflow_v2/actions/list-sites/list-sites.mjs b/components/webflow_v2/actions/list-sites/list-sites.mjs index 5d4c49ca39053..80f516459cecf 100644 --- a/components/webflow_v2/actions/list-sites/list-sites.mjs +++ b/components/webflow_v2/actions/list-sites/list-sites.mjs @@ -4,7 +4,7 @@ export default { key: "webflow_v2-list-sites", name: "List Sites", description: "List sites. [See the docs here](https://developers.webflow.com/#list-sites)", - version: "0.1.{{ts}}", + version: "0.0.{{ts}}", type: "action", props: { app, diff --git a/components/webflow/actions/get-collection-item/get-collection-item.mjs b/components/webflow_v2/get-collection-item/get-collection-item.mjs similarity index 78% rename from components/webflow/actions/get-collection-item/get-collection-item.mjs rename to components/webflow_v2/get-collection-item/get-collection-item.mjs index 55875f7e15b38..05ca57b50b875 100644 --- a/components/webflow/actions/get-collection-item/get-collection-item.mjs +++ b/components/webflow_v2/get-collection-item/get-collection-item.mjs @@ -1,22 +1,22 @@ -import webflow from "../../webflow.app.mjs"; +import app from "../../webflow_v2.app.mjs"; export default { - key: "webflow-get-collection-item", + key: "webflow_v2-get-collection-item", name: "Get Collection Item", description: "Get a Collection Item. [See the docs here](https://developers.webflow.com/#get-single-item)", - version: "0.1.7", + version: "0.0.{{ts}}", type: "action", props: { - webflow, + app, siteId: { propDefinition: [ - webflow, + app, "sites", ], }, collectionId: { propDefinition: [ - webflow, + app, "collections", (c) => ({ siteId: c.siteId, @@ -25,7 +25,7 @@ export default { }, itemId: { propDefinition: [ - webflow, + app, "items", (c) => ({ collectionId: c.collectionId, @@ -34,7 +34,7 @@ export default { }, }, async run({ $ }) { - const webflow = this.webflow._createApiClient(); + const webflow = this.app._createApiClient(); const response = await webflow.item({ collectionId: this.collectionId, diff --git a/components/webflow/actions/get-collection/get-collection.mjs b/components/webflow_v2/get-collection/get-collection.mjs similarity index 70% rename from components/webflow/actions/get-collection/get-collection.mjs rename to components/webflow_v2/get-collection/get-collection.mjs index 6464bb1601ee8..01060747e5236 100644 --- a/components/webflow/actions/get-collection/get-collection.mjs +++ b/components/webflow_v2/get-collection/get-collection.mjs @@ -1,22 +1,22 @@ -import webflow from "../../webflow.app.mjs"; +import app from "../../webflow_v2.app.mjs"; export default { - key: "webflow-get-collection", + key: "webflow_v2-get-collection", name: "Get Collection", description: "Get a collection. [See the docs here](https://developers.webflow.com/#get-collection-with-full-schema)", - version: "0.0.5", + version: "0.0.{{ts}}", type: "action", props: { - webflow, + app, siteId: { propDefinition: [ - webflow, + app, "sites", ], }, collectionId: { propDefinition: [ - webflow, + app, "collections", (c) => ({ siteId: c.siteId, @@ -25,7 +25,7 @@ export default { }, }, async run({ $ }) { - const response = await this.webflow.getCollection(this.collectionId); + const response = await this.app.getCollection(this.collectionId); $.export("$summary", "Successfully retrieved collection"); diff --git a/components/webflow/actions/get-site/get-site.mjs b/components/webflow_v2/get-site/get-site.mjs similarity index 65% rename from components/webflow/actions/get-site/get-site.mjs rename to components/webflow_v2/get-site/get-site.mjs index 2af7c05bdbad0..b7a742f03851e 100644 --- a/components/webflow/actions/get-site/get-site.mjs +++ b/components/webflow_v2/get-site/get-site.mjs @@ -1,22 +1,22 @@ -import webflow from "../../webflow.app.mjs"; +import app from "../../webflow_v2.app.mjs"; export default { - key: "webflow-get-site", + key: "webflow_v2-get-site", name: "Get Site", description: "Get a site. [See the docs here](https://developers.webflow.com/#get-specific-site)", - version: "0.0.4", + version: "0.0.{{ts}}", type: "action", props: { - webflow, + app, siteId: { propDefinition: [ - webflow, + app, "sites", ], }, }, async run({ $ }) { - const response = await this.webflow.getSite(this.siteId); + const response = await this.app.getSite(this.siteId); $.export("$summary", "Successfully retrieved site"); diff --git a/components/webflow/actions/list-collection-items/list-collection-items.mjs b/components/webflow_v2/list-collection-items/list-collection-items.mjs similarity index 61% rename from components/webflow/actions/list-collection-items/list-collection-items.mjs rename to components/webflow_v2/list-collection-items/list-collection-items.mjs index 12bcf43885ce3..635bab543cbb4 100644 --- a/components/webflow/actions/list-collection-items/list-collection-items.mjs +++ b/components/webflow_v2/list-collection-items/list-collection-items.mjs @@ -1,22 +1,22 @@ -import webflow from "../../webflow.app.mjs"; +import app from "../../webflow_v2.app.mjs"; export default { - key: "webflow-list-collection-items", + key: "webflow_v2-list-collection-items", name: "List Collection Items", description: "List Items of a collection. [See the docs here](https://developers.webflow.com/#get-all-items-for-a-collection)", - version: "0.0.5", + version: "0.0.{{ts}}", type: "action", props: { - webflow, + app, siteId: { propDefinition: [ - webflow, + app, "sites", ], }, collectionId: { propDefinition: [ - webflow, + app, "collections", (c) => ({ siteId: c.siteId, @@ -25,9 +25,9 @@ export default { }, }, async run({ $ }) { - const response = await this.webflow.getItems(0, this.collectionId); + const response = await this.app.getItems(0, this.collectionId); - $.export("$summary", "Successfully retrieved collections items"); + $.export("$summary", "Successfully retrieved collection's items"); return response; }, diff --git a/components/webflow/actions/list-collections/list-collections.mjs b/components/webflow_v2/list-collections/list-collections.mjs similarity index 65% rename from components/webflow/actions/list-collections/list-collections.mjs rename to components/webflow_v2/list-collections/list-collections.mjs index 84077c56f1f6d..e56acc0524f39 100644 --- a/components/webflow/actions/list-collections/list-collections.mjs +++ b/components/webflow_v2/list-collections/list-collections.mjs @@ -1,22 +1,22 @@ -import webflow from "../../webflow.app.mjs"; +import app from "../../webflow_v2.app.mjs"; export default { - key: "webflow-list-collections", + key: "webflow_v2-list-collections", name: "List Collections", description: "List collections. [See the docs here](https://developers.webflow.com/#list-collections)", - version: "0.0.4", + version: "0.0.{{ts}}", type: "action", props: { - webflow, + app, siteId: { propDefinition: [ - webflow, + app, "sites", ], }, }, async run({ $ }) { - const response = await this.webflow.getCollections(this.siteId); + const response = await this.app.getCollections(this.siteId); $.export("$summary", "Successfully retrieved collections"); diff --git a/components/webflow_v2/webflow_v2.app.mjs b/components/webflow_v2/webflow_v2.app.mjs index 98b18f9064a49..7c935e01f60fa 100644 --- a/components/webflow_v2/webflow_v2.app.mjs +++ b/components/webflow_v2/webflow_v2.app.mjs @@ -201,7 +201,7 @@ export default { async getCollection(collectionId) { const webflow = this._createApiClient(); - return await webflow.collection({ + return await webflow.collections.get({ collectionId, }); }, @@ -233,7 +233,7 @@ export default { if (!collectionId) return []; - const response = await webflow.items({ + const response = await webflow.collections.items.listItems({ collectionId, }, { limit: constants.LIMIT, From 0e2bf0c7ba8a14ab4e40d2df4934e80a7e9e4aff Mon Sep 17 00:00:00 2001 From: GTFalcao Date: Tue, 26 Nov 2024 02:52:41 -0300 Subject: [PATCH 03/24] Adjustments --- .../get-collection-item/get-collection-item.mjs | 0 .../{ => actions}/get-collection/get-collection.mjs | 0 .../webflow_v2/{ => actions}/get-site/get-site.mjs | 0 .../list-collection-items/list-collection-items.mjs | 0 .../list-collections/list-collections.mjs | 0 components/webflow_v2/webflow_v2.app.mjs | 10 ++++++---- 6 files changed, 6 insertions(+), 4 deletions(-) rename components/webflow_v2/{ => actions}/get-collection-item/get-collection-item.mjs (100%) rename components/webflow_v2/{ => actions}/get-collection/get-collection.mjs (100%) rename components/webflow_v2/{ => actions}/get-site/get-site.mjs (100%) rename components/webflow_v2/{ => actions}/list-collection-items/list-collection-items.mjs (100%) rename components/webflow_v2/{ => actions}/list-collections/list-collections.mjs (100%) diff --git a/components/webflow_v2/get-collection-item/get-collection-item.mjs b/components/webflow_v2/actions/get-collection-item/get-collection-item.mjs similarity index 100% rename from components/webflow_v2/get-collection-item/get-collection-item.mjs rename to components/webflow_v2/actions/get-collection-item/get-collection-item.mjs diff --git a/components/webflow_v2/get-collection/get-collection.mjs b/components/webflow_v2/actions/get-collection/get-collection.mjs similarity index 100% rename from components/webflow_v2/get-collection/get-collection.mjs rename to components/webflow_v2/actions/get-collection/get-collection.mjs diff --git a/components/webflow_v2/get-site/get-site.mjs b/components/webflow_v2/actions/get-site/get-site.mjs similarity index 100% rename from components/webflow_v2/get-site/get-site.mjs rename to components/webflow_v2/actions/get-site/get-site.mjs diff --git a/components/webflow_v2/list-collection-items/list-collection-items.mjs b/components/webflow_v2/actions/list-collection-items/list-collection-items.mjs similarity index 100% rename from components/webflow_v2/list-collection-items/list-collection-items.mjs rename to components/webflow_v2/actions/list-collection-items/list-collection-items.mjs diff --git a/components/webflow_v2/list-collections/list-collections.mjs b/components/webflow_v2/actions/list-collections/list-collections.mjs similarity index 100% rename from components/webflow_v2/list-collections/list-collections.mjs rename to components/webflow_v2/actions/list-collections/list-collections.mjs diff --git a/components/webflow_v2/webflow_v2.app.mjs b/components/webflow_v2/webflow_v2.app.mjs index 7c935e01f60fa..ead7f0e5021cc 100644 --- a/components/webflow_v2/webflow_v2.app.mjs +++ b/components/webflow_v2/webflow_v2.app.mjs @@ -23,7 +23,7 @@ export default { const sites = await this.getSites(); return sites.map((site) => ({ - label: site.name, + label: site.displayName || site.shortName, value: site._id, })); }, @@ -189,7 +189,8 @@ export default { async getSites() { const webflow = this._createApiClient(); - return await webflow.sites.list(); + const response = await webflow.sites.list(); + return response?.sites; }, /** * Get a collection; @@ -217,9 +218,10 @@ export default { if (!siteId) return []; - return await webflow.collections.list({ + const response = await webflow.collections.list({ siteId: siteId, }); + return response?.collections; }, /** * Get a list of items; @@ -240,7 +242,7 @@ export default { offset: page, }); - return response; + return response?.items; }, }, }; From 3e4105bc7399a50dbfa641370485c20417f1a33d Mon Sep 17 00:00:00 2001 From: GTFalcao Date: Tue, 26 Nov 2024 03:06:05 -0300 Subject: [PATCH 04/24] Async options prop adjustments --- components/webflow_v2/webflow_v2.app.mjs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/components/webflow_v2/webflow_v2.app.mjs b/components/webflow_v2/webflow_v2.app.mjs index ead7f0e5021cc..ab6111cdfc9c7 100644 --- a/components/webflow_v2/webflow_v2.app.mjs +++ b/components/webflow_v2/webflow_v2.app.mjs @@ -24,7 +24,7 @@ export default { return sites.map((site) => ({ label: site.displayName || site.shortName, - value: site._id, + value: site.id, })); }, }, @@ -37,7 +37,7 @@ export default { return collections.map((collection) => ({ label: collection.name, - value: collection._id, + value: collection.id, })); }, }, @@ -52,7 +52,7 @@ export default { return items.map((item) => ({ label: item.name, - value: item._id, + value: item.id, })); }, }, From 0dbdb332323964c02e592b58f674e22721918ede Mon Sep 17 00:00:00 2001 From: GTFalcao Date: Tue, 26 Nov 2024 03:10:49 -0300 Subject: [PATCH 05/24] Object property name adjustments --- components/webflow_v2/webflow_v2.app.mjs | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/components/webflow_v2/webflow_v2.app.mjs b/components/webflow_v2/webflow_v2.app.mjs index ab6111cdfc9c7..e0922fc9a0433 100644 --- a/components/webflow_v2/webflow_v2.app.mjs +++ b/components/webflow_v2/webflow_v2.app.mjs @@ -36,7 +36,7 @@ export default { const collections = await this.getCollections(siteId); return collections.map((collection) => ({ - label: collection.name, + label: collection.displayName || collection.slug, value: collection.id, })); }, @@ -51,7 +51,7 @@ export default { const items = await this.getItems(page, collectionId); return items.map((item) => ({ - label: item.name, + label: item.fieldData?.name || item.fieldData?.slug, value: item.id, })); }, @@ -202,9 +202,7 @@ export default { async getCollection(collectionId) { const webflow = this._createApiClient(); - return await webflow.collections.get({ - collectionId, - }); + return await webflow.collections.get(collectionId); }, /** * Get a list of collections; @@ -218,9 +216,7 @@ export default { if (!siteId) return []; - const response = await webflow.collections.list({ - siteId: siteId, - }); + const response = await webflow.collections.list(siteId); return response?.collections; }, /** @@ -235,9 +231,7 @@ export default { if (!collectionId) return []; - const response = await webflow.collections.items.listItems({ - collectionId, - }, { + const response = await webflow.collections.items.listItems(collectionId, { limit: constants.LIMIT, offset: page, }); From 917d3b0160be1fab633817f8b94a5162fe69e41f Mon Sep 17 00:00:00 2001 From: GTFalcao Date: Wed, 27 Nov 2024 20:38:28 -0300 Subject: [PATCH 06/24] Method updates --- .../get-collection-item.mjs | 7 +- .../list-collection-items.mjs | 2 +- .../list-collections/list-collections.mjs | 2 +- .../actions/list-sites/list-sites.mjs | 2 +- components/webflow_v2/webflow_v2.app.mjs | 123 +++--------------- 5 files changed, 21 insertions(+), 115 deletions(-) diff --git a/components/webflow_v2/actions/get-collection-item/get-collection-item.mjs b/components/webflow_v2/actions/get-collection-item/get-collection-item.mjs index 05ca57b50b875..785a507fbd98a 100644 --- a/components/webflow_v2/actions/get-collection-item/get-collection-item.mjs +++ b/components/webflow_v2/actions/get-collection-item/get-collection-item.mjs @@ -34,12 +34,7 @@ export default { }, }, async run({ $ }) { - const webflow = this.app._createApiClient(); - - const response = await webflow.item({ - collectionId: this.collectionId, - itemId: this.itemId, - }); + const response = await this.app.getCollectionItem(this.collectionId, this.itemId); $.export("$summary", "Successfully retrieved collection item"); diff --git a/components/webflow_v2/actions/list-collection-items/list-collection-items.mjs b/components/webflow_v2/actions/list-collection-items/list-collection-items.mjs index 635bab543cbb4..b85b4d45af2f7 100644 --- a/components/webflow_v2/actions/list-collection-items/list-collection-items.mjs +++ b/components/webflow_v2/actions/list-collection-items/list-collection-items.mjs @@ -25,7 +25,7 @@ export default { }, }, async run({ $ }) { - const response = await this.app.getItems(0, this.collectionId); + const response = await this.app.listCollectionItems(0, this.collectionId); $.export("$summary", "Successfully retrieved collection's items"); diff --git a/components/webflow_v2/actions/list-collections/list-collections.mjs b/components/webflow_v2/actions/list-collections/list-collections.mjs index e56acc0524f39..5c00da766f844 100644 --- a/components/webflow_v2/actions/list-collections/list-collections.mjs +++ b/components/webflow_v2/actions/list-collections/list-collections.mjs @@ -16,7 +16,7 @@ export default { }, }, async run({ $ }) { - const response = await this.app.getCollections(this.siteId); + const response = await this.app.listCollections(this.siteId); $.export("$summary", "Successfully retrieved collections"); diff --git a/components/webflow_v2/actions/list-sites/list-sites.mjs b/components/webflow_v2/actions/list-sites/list-sites.mjs index 80f516459cecf..5a63e1ec53144 100644 --- a/components/webflow_v2/actions/list-sites/list-sites.mjs +++ b/components/webflow_v2/actions/list-sites/list-sites.mjs @@ -10,7 +10,7 @@ export default { app, }, async run({ $ }) { - const response = await this.app.getSites(); + const response = await this.app.listSites(); $.export("$summary", "Successfully retrieved sites"); diff --git a/components/webflow_v2/webflow_v2.app.mjs b/components/webflow_v2/webflow_v2.app.mjs index e0922fc9a0433..fd69dcdc389c5 100644 --- a/components/webflow_v2/webflow_v2.app.mjs +++ b/components/webflow_v2/webflow_v2.app.mjs @@ -73,29 +73,14 @@ export default { }, }, methods: { - /** - * Get the auth access token; - * - * @returns {string} The base auth access token. - */ _authToken() { return this.$auth.oauth_access_token; }, - _createApiClient() { + webflowClient() { return new WebflowClient({ accessToken: this._authToken(), }); }, - /** - * Create a Webflow webhook; - * - * @param {siteId} ID of the site to be monitored. - * @param {url} URL to webhook return. - * @param {triggerType} Type of event that will be triggered. - * @param {filter} Filters to be applied in webhook. - * - * @returns {params} The Webflow webhook. - */ async createWebhook(siteId, url, triggerType, filter = {}) { const apiClient = this._createApiClient(); @@ -106,12 +91,6 @@ export default { filter, }); }, - /** - * Remove a Webflow webhook; - * - * @param {siteId} ID of the site. - * @param {webhookId} ID of the webhook. - */ async removeWebhook(siteId, webhookId) { const apiClient = this._createApiClient(); return apiClient.removeWebhook({ @@ -119,13 +98,6 @@ export default { webhookId, }); }, - /** - * Get an order; - * - * @param {options} Options to filter the order. - * - * @returns {params} An order. - */ async getOrder({ siteId, orderId, }) { @@ -133,14 +105,7 @@ export default { return apiClient.get(`/sites/${siteId}/order/${orderId}`); }, - /** - * Get a list of orders; - * - * @param {options} Options to filter the orders. - * - * @returns {params} A list of orders. - */ - async getOrders({ + async listOrders({ page, siteId, status, }) { const apiClient = this._createApiClient(); @@ -151,92 +116,38 @@ export default { limit: constants.LIMIT, }); }, - /** - * Get a list of domains; - * - * @param {options} Options to filter the domains. - * - * @returns {params} A list of domains. - */ - async getDomains(siteId) { - const webflow = this._createApiClient(); - - return await webflow.domains({ - siteId, - }); + async listDomains(siteId) { + const response = await this.webflowClient().sites.getCustomDomain(siteId); + return response?.customDomains; }, - /** - * Get a site; - * - * @param {options} Options to filter the site. - * - * @returns {params} A site. - */ async getSite(siteId) { - const webflow = this._createApiClient(); - - return await webflow.site({ - siteId, - }); + return this.webflowClient().sites.get(siteId); }, - /** - * Get a list of sites; - * - * @param {options} Options to filter the sites. - * - * @returns {params} A list of sites. - */ - async getSites() { - const webflow = this._createApiClient(); - - const response = await webflow.sites.list(); + async listSites() { + const response = await this.webflowClient().sites.list(); return response?.sites; }, - /** - * Get a collection; - * - * @param {options} Options to filter the collection. - * - * @returns {params} A collection. - */ async getCollection(collectionId) { - const webflow = this._createApiClient(); - - return await webflow.collections.get(collectionId); - }, - /** - * Get a list of collections; - * - * @param {options} Options to filter the collections. - * - * @returns {params} A list of collections. - */ - async getCollections(siteId) { - const webflow = this._createApiClient(); - + return this.webflowClient().collections.get(collectionId); + }, + async listCollections(siteId) { if (!siteId) return []; - const response = await webflow.collections.list(siteId); + const response = await this.webflowClient().collections.list(siteId); return response?.collections; }, - /** - * Get a list of items; - * - * @param {options} Options to filter the items. - * - * @returns {params} A list of items. - */ - async getItems(page = 0, collectionId) { - const webflow = this._createApiClient(); - + async listCollectionItems(page = 0, collectionId) { if (!collectionId) return []; - const response = await webflow.collections.items.listItems(collectionId, { + const response = await this.webflowClient().collections.items.listItems(collectionId, { limit: constants.LIMIT, offset: page, }); return response?.items; }, + async getCollectionItem(collectionId, itemId) { + return this.webflowClient().collections.items.getItem(collectionId, itemId); + } }, }; From 277244633fdce6fa7a640fb0b2044a10bcd3d81d Mon Sep 17 00:00:00 2001 From: GTFalcao Date: Wed, 27 Nov 2024 20:59:17 -0300 Subject: [PATCH 07/24] Create+Delete item --- .../create-collection-item.mjs | 42 +++++++------------ .../delete-collection-item.mjs | 22 ++++------ 2 files changed, 24 insertions(+), 40 deletions(-) rename components/{webflow => webflow_v2}/actions/create-collection-item/create-collection-item.mjs (63%) rename components/{webflow => webflow_v2}/actions/delete-collection-item/delete-collection-item.mjs (65%) diff --git a/components/webflow/actions/create-collection-item/create-collection-item.mjs b/components/webflow_v2/actions/create-collection-item/create-collection-item.mjs similarity index 63% rename from components/webflow/actions/create-collection-item/create-collection-item.mjs rename to components/webflow_v2/actions/create-collection-item/create-collection-item.mjs index 40ee7857d9fb8..1859037ff7286 100644 --- a/components/webflow/actions/create-collection-item/create-collection-item.mjs +++ b/components/webflow_v2/actions/create-collection-item/create-collection-item.mjs @@ -1,22 +1,22 @@ -import webflow from "../../webflow.app.mjs"; +import app from "../../webflow_v2.app.mjs"; export default { - key: "webflow-create-collection-item", + key: "webflow_v2-create-collection-item", name: "Create Collection Item", description: "Create new collection item. [See the docs here](https://developers.webflow.com/#create-new-collection-item)", - version: "0.1.7", + version: "0.0.{{ts}}", type: "action", props: { - webflow, + app, siteId: { propDefinition: [ - webflow, + app, "sites", ], }, collectionId: { propDefinition: [ - webflow, + app, "collections", (c) => ({ siteId: c.siteId, @@ -24,21 +24,15 @@ export default { ], reloadProps: true, }, - live: { - label: "Live", - description: "Indicate if the item should be published to the live site", - type: "boolean", - default: false, - }, }, async additionalProps() { const props = {}; if (!this.collectionId) { return props; } - const { fields } = await this.webflow.getCollection(this.collectionId); + const { fields } = await this.app.getCollection(this.collectionId); for (const field of fields) { - if (field.editable && field.slug !== "_archived" && field.slug !== "_draft") { + if (field.editable && field.slug !== "isArchived" && field.slug !== "isDraft") { props[field.slug] = { type: "string", label: field.name, @@ -55,29 +49,23 @@ export default { }, async run({ $ }) { const { - webflow, + app, // eslint-disable-next-line no-unused-vars siteId, - // eslint-disable-next-line no-unused-vars collectionId, - live, ...fields } = this; - const webflowClient = webflow._createApiClient(); - - const response = await webflowClient.createItem({ - collectionId: this.collectionId, - fields: { + const response = await app.createCollectionItem({ + collectionId, + fieldData: { ...fields, - _archived: false, - _draft: false, + isArchived: false, + isDraft: false, }, - }, { - live, }); - $.export("$summary", `Successfully created collection item ${fields.name}`); + $.export("$summary", `Successfully created collection item ${fields.name ?? ""}`); return response; }, diff --git a/components/webflow/actions/delete-collection-item/delete-collection-item.mjs b/components/webflow_v2/actions/delete-collection-item/delete-collection-item.mjs similarity index 65% rename from components/webflow/actions/delete-collection-item/delete-collection-item.mjs rename to components/webflow_v2/actions/delete-collection-item/delete-collection-item.mjs index cf329275da710..37fb185ed1a69 100644 --- a/components/webflow/actions/delete-collection-item/delete-collection-item.mjs +++ b/components/webflow_v2/actions/delete-collection-item/delete-collection-item.mjs @@ -1,22 +1,22 @@ -import webflow from "../../webflow.app.mjs"; +import app from "../../webflow_v2.app.mjs"; export default { - key: "webflow-delete-collection-item", + key: "webflow_v2-delete-collection-item", name: "Delete Collection Item", description: "Delete Item of a Collection. [See the docs here](https://developers.webflow.com/#remove-collection-item)", - version: "0.0.5", + version: "0.0.{{ts}}", type: "action", props: { - webflow, + app, siteId: { propDefinition: [ - webflow, + app, "sites", ], }, collectionId: { propDefinition: [ - webflow, + app, "collections", (c) => ({ siteId: c.siteId, @@ -25,7 +25,7 @@ export default { }, itemId: { propDefinition: [ - webflow, + app, "items", (c) => ({ collectionId: c.collectionId, @@ -34,12 +34,8 @@ export default { }, }, async run({ $ }) { - const webflow = this.webflow._createApiClient(); - - const response = await webflow.removeItem({ - collectionId: this.collectionId, - itemId: this.itemId, - }); + const { collectionId, itemId } = this; + const response = await this.app.deleteCollectionItem(collectionId, itemId); $.export("$summary", "Successfully deleted item"); From 0e4316065275cfc513ce683a13ae64ed981a0f7a Mon Sep 17 00:00:00 2001 From: GTFalcao Date: Wed, 27 Nov 2024 21:07:41 -0300 Subject: [PATCH 08/24] Create and Update item --- .../create-collection-item.mjs | 10 +- .../update-collection-item.mjs | 91 +++++++++++++++++++ components/webflow_v2/webflow_v2.app.mjs | 17 +++- 3 files changed, 109 insertions(+), 9 deletions(-) create mode 100644 components/webflow_v2/actions/update-collection-item/update-collection-item.mjs diff --git a/components/webflow_v2/actions/create-collection-item/create-collection-item.mjs b/components/webflow_v2/actions/create-collection-item/create-collection-item.mjs index 1859037ff7286..e668c4c976e7f 100644 --- a/components/webflow_v2/actions/create-collection-item/create-collection-item.mjs +++ b/components/webflow_v2/actions/create-collection-item/create-collection-item.mjs @@ -53,17 +53,17 @@ export default { // eslint-disable-next-line no-unused-vars siteId, collectionId, - ...fields + ...fieldData } = this; - const response = await app.createCollectionItem({ + const response = await app.createCollectionItem( collectionId, - fieldData: { - ...fields, + { + fieldData, isArchived: false, isDraft: false, }, - }); + ); $.export("$summary", `Successfully created collection item ${fields.name ?? ""}`); diff --git a/components/webflow_v2/actions/update-collection-item/update-collection-item.mjs b/components/webflow_v2/actions/update-collection-item/update-collection-item.mjs new file mode 100644 index 0000000000000..e8f33a2e45bae --- /dev/null +++ b/components/webflow_v2/actions/update-collection-item/update-collection-item.mjs @@ -0,0 +1,91 @@ +import app from "../../webflow_v2.app.mjs"; + +export default { + key: "webflow_v2-update-collection-item", + name: "Update Collection Item", + description: + "Update collection item. [See the documentation](https://developers.webflow.com/#update-collection-item)", + version: "0.0.{{ts}}", + type: "action", + props: { + app, + siteId: { + propDefinition: [app, "sites"], + }, + collectionId: { + propDefinition: [ + app, + "collections", + (c) => ({ + siteId: c.siteId, + }), + ], + reloadProps: true, + }, + itemId: { + propDefinition: [ + app, + "items", + (c) => ({ + collectionId: c.collectionId, + }), + ], + }, + }, + async additionalProps() { + const props = {}; + if (!this.collectionId) { + return props; + } + const { fields } = await this.app.getCollection(this.collectionId); + for (const field of fields) { + if ( + field.editable && + field.slug !== "isArchived" && + field.slug !== "isDraft" + ) { + props[field.slug] = { + type: "string", + label: field.name, + description: + field.slug === "name" + ? "Name given to the Item." + : field.slug === "slug" + ? "URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug." + : "See the documentation for additional information about [Field Types & Item Values](https://developers.webflow.com/reference/field-types-item-values).", + optional: true, + }; + } + } + + return props; + }, + async run({ $ }) { + const { + app, + // eslint-disable-next-line no-unused-vars + siteId, + collectionId, + itemId, + name, + slug, + ...customFields + } = this; + + const item = await app.getCollectionItem(collectionId, itemId); + + const response = await app.updateCollectionItem(collectionId, itemId, { + isArchived: false, + isDraft: false, + fieldData: { + ...customFields, + name: name || item.name, + slug: slug || item.slug, + }, + }); + + $.export("$summary", "Successfully updated collection item"); + + return response; + }, +}; diff --git a/components/webflow_v2/webflow_v2.app.mjs b/components/webflow_v2/webflow_v2.app.mjs index fd69dcdc389c5..239e59a7bb8be 100644 --- a/components/webflow_v2/webflow_v2.app.mjs +++ b/components/webflow_v2/webflow_v2.app.mjs @@ -120,14 +120,14 @@ export default { const response = await this.webflowClient().sites.getCustomDomain(siteId); return response?.customDomains; }, - async getSite(siteId) { + getSite(siteId) { return this.webflowClient().sites.get(siteId); }, async listSites() { const response = await this.webflowClient().sites.list(); return response?.sites; }, - async getCollection(collectionId) { + getCollection(collectionId) { return this.webflowClient().collections.get(collectionId); }, async listCollections(siteId) { @@ -146,8 +146,17 @@ export default { return response?.items; }, - async getCollectionItem(collectionId, itemId) { + getCollectionItem(collectionId, itemId) { return this.webflowClient().collections.items.getItem(collectionId, itemId); - } + }, + deleteCollectionItem(collectionId, itemId) { + return this.webflowClient().collections.items.deleteItem(collectionId, itemId); + }, + createCollectionItem(collectionId, data) { + return this.webflowClient().collections.items.createItem(collectionId, data); + }, + updateCollectionItem(collectionId, itemId, data) { + return this.webflowClient().collections.items.updateItem(collectionId, itemId, data); + }, }, }; From f1223941a6fbf8a94f6527fb62eedd51a29c397b Mon Sep 17 00:00:00 2001 From: GTFalcao Date: Wed, 27 Nov 2024 21:07:56 -0300 Subject: [PATCH 09/24] rm old file --- .../update-collection-item.mjs | 93 ------------------- 1 file changed, 93 deletions(-) delete mode 100644 components/webflow/actions/update-collection-item/update-collection-item.mjs diff --git a/components/webflow/actions/update-collection-item/update-collection-item.mjs b/components/webflow/actions/update-collection-item/update-collection-item.mjs deleted file mode 100644 index 5ad131a1f4313..0000000000000 --- a/components/webflow/actions/update-collection-item/update-collection-item.mjs +++ /dev/null @@ -1,93 +0,0 @@ -import webflow from "../../webflow.app.mjs"; - -export default { - key: "webflow-update-collection-item", - name: "Update Collection Item", - description: "Update collection item. [See the documentation](https://developers.webflow.com/#update-collection-item)", - version: "0.1.7", - type: "action", - props: { - webflow, - siteId: { - propDefinition: [ - webflow, - "sites", - ], - }, - collectionId: { - propDefinition: [ - webflow, - "collections", - (c) => ({ - siteId: c.siteId, - }), - ], - reloadProps: true, - }, - itemId: { - propDefinition: [ - webflow, - "items", - (c) => ({ - collectionId: c.collectionId, - }), - ], - }, - }, - async additionalProps() { - const props = {}; - if (!this.collectionId) { - return props; - } - const { fields } = await this.webflow.getCollection(this.collectionId); - for (const field of fields) { - if (field.editable && field.slug !== "_archived" && field.slug !== "_draft") { - props[field.slug] = { - type: "string", - label: field.name, - description: field.slug === "name" - ? "Name given to the Item." - : field.slug === "slug" - ? "URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug." - : "See the documentation for additional information about [Field Types & Item Values](https://developers.webflow.com/reference/field-types-item-values).", - optional: true, - }; - } - } - - return props; - }, - async run({ $ }) { - const { - webflow, - // eslint-disable-next-line no-unused-vars - siteId, - collectionId, - itemId, - name, - slug, - ...customFields - } = this; - - const webflowClient = webflow._createApiClient(); - - const item = await webflowClient.item({ - collectionId, - itemId, - }); - - const response = await webflowClient.updateItem({ - collectionId, - itemId, - name: name || item.name, - slug: slug || item.slug, - _archived: false, - _draft: false, - ...customFields, - }); - - $.export("$summary", "Successfully updated collection item"); - - return response; - }, -}; From c31961c87b35d2444904436f9d58d2af9fdd94cf Mon Sep 17 00:00:00 2001 From: GTFalcao Date: Thu, 28 Nov 2024 01:38:19 -0300 Subject: [PATCH 10/24] Migrating more actions --- .../actions/publish-site/publish-site.mjs | 39 ------------------- .../get-item-inventory/get-item-inventory.mjs | 18 ++++----- .../actions/publish-site/publish-site.mjs | 34 ++++++++++++++++ .../update-item-inventory.mjs | 37 +++++++----------- components/webflow_v2/webflow_v2.app.mjs | 21 +++++++--- 5 files changed, 73 insertions(+), 76 deletions(-) delete mode 100644 components/webflow/actions/publish-site/publish-site.mjs rename components/{webflow => webflow_v2}/actions/get-item-inventory/get-item-inventory.mjs (66%) create mode 100644 components/webflow_v2/actions/publish-site/publish-site.mjs rename components/{webflow => webflow_v2}/actions/update-item-inventory/update-item-inventory.mjs (58%) diff --git a/components/webflow/actions/publish-site/publish-site.mjs b/components/webflow/actions/publish-site/publish-site.mjs deleted file mode 100644 index 152c3f3162bd1..0000000000000 --- a/components/webflow/actions/publish-site/publish-site.mjs +++ /dev/null @@ -1,39 +0,0 @@ -import webflow from "../../webflow.app.mjs"; - -export default { - key: "webflow-publish-site", - name: "Publish Site", - description: "Get a site in a specific domain. [See the docs here](https://developers.webflow.com/#publish-site)", - version: "0.0.4", - type: "action", - props: { - webflow, - siteId: { - propDefinition: [ - webflow, - "sites", - ], - }, - domains: { - propDefinition: [ - webflow, - "domains", - (c) => ({ - siteId: c.siteId, - }), - ], - }, - }, - async run({ $ }) { - const webflow = this.webflow._createApiClient(); - - const response = await webflow.publishSite({ - siteId: this.siteId, - domains: this.domains, - }); - - $.export("$summary", "Successfully published site"); - - return response; - }, -}; diff --git a/components/webflow/actions/get-item-inventory/get-item-inventory.mjs b/components/webflow_v2/actions/get-item-inventory/get-item-inventory.mjs similarity index 66% rename from components/webflow/actions/get-item-inventory/get-item-inventory.mjs rename to components/webflow_v2/actions/get-item-inventory/get-item-inventory.mjs index 5dace536d6139..758f02aeeb9c7 100644 --- a/components/webflow/actions/get-item-inventory/get-item-inventory.mjs +++ b/components/webflow_v2/actions/get-item-inventory/get-item-inventory.mjs @@ -1,22 +1,22 @@ -import webflow from "../../webflow.app.mjs"; +import app from "../../webflow_v2.app.mjs"; export default { - key: "webflow-get-item-inventory", + key: "webflow_v2-get-item-inventory", name: "Get Item Inventory", description: "Get the inventory of a specific item. [See the docs here](https://developers.webflow.com/#item-inventory)", - version: "0.0.5", + version: "0.0.{{ts}}", type: "action", props: { - webflow, + app, siteId: { propDefinition: [ - webflow, + app, "sites", ], }, collectionId: { propDefinition: [ - webflow, + app, "collections", (c) => ({ siteId: c.siteId, @@ -25,7 +25,7 @@ export default { }, itemId: { propDefinition: [ - webflow, + app, "items", (c) => ({ collectionId: c.collectionId, @@ -34,9 +34,7 @@ export default { }, }, async run({ $ }) { - const apiClient = this.webflow._createApiClient(); - - const response = await apiClient.apiClient.get(`/collections/${this.collectionId}/items/${this.itemId}/inventory`); + const response = await this.app.getCollectionItemInventory(this.collectionId, this.itemId); $.export("$summary", "Successfully retrieved item inventory"); diff --git a/components/webflow_v2/actions/publish-site/publish-site.mjs b/components/webflow_v2/actions/publish-site/publish-site.mjs new file mode 100644 index 0000000000000..b8e698eabb882 --- /dev/null +++ b/components/webflow_v2/actions/publish-site/publish-site.mjs @@ -0,0 +1,34 @@ +import app from "../../webflow_v2.app.mjs"; + +export default { + key: "webflow_v2-publish-site", + name: "Publish Site", + description: "Publish a site. [See the docs here](https://developers.webflow.com/#publish-site)", + version: "0.0.{{ts}}", + type: "action", + props: { + app, + siteId: { + propDefinition: [ + app, + "sites", + ], + }, + domains: { + propDefinition: [ + app, + "domains", + (c) => ({ + siteId: c.siteId, + }), + ], + }, + }, + async run({ $ }) { + const response = await this.app.publishSite(siteId, domains); + + $.export("$summary", "Successfully published site"); + + return response; + }, +}; diff --git a/components/webflow/actions/update-item-inventory/update-item-inventory.mjs b/components/webflow_v2/actions/update-item-inventory/update-item-inventory.mjs similarity index 58% rename from components/webflow/actions/update-item-inventory/update-item-inventory.mjs rename to components/webflow_v2/actions/update-item-inventory/update-item-inventory.mjs index 443d8ddc897aa..c21a4f35926a7 100644 --- a/components/webflow/actions/update-item-inventory/update-item-inventory.mjs +++ b/components/webflow_v2/actions/update-item-inventory/update-item-inventory.mjs @@ -1,22 +1,22 @@ -import webflow from "../../webflow.app.mjs"; +import app from "../../webflow_v2.app.mjs"; export default { - key: "webflow-update-item-inventory", + key: "webflow_v2-update-item-inventory", name: "Update Item Inventory", description: "Update the inventory of a specific item. [See the docs here](https://developers.webflow.com/#update-item-inventory)", version: "0.0.5", type: "action", props: { - webflow, + app, siteId: { propDefinition: [ - webflow, + app, "sites", ], }, collectionId: { propDefinition: [ - webflow, + app, "collections", (c) => ({ siteId: c.siteId, @@ -25,7 +25,7 @@ export default { }, itemId: { propDefinition: [ - webflow, + app, "items", (c) => ({ collectionId: c.collectionId, @@ -43,35 +43,28 @@ export default { }, quantity: { label: "Quantity", - description: "The quantity will be seted with this value. This just can be used with `finite` option selected and without `updateQuantity` value.", + description: "If specified, sets quantity to this value. Can only be used with the `finite` inventory type, and if `Update Quantity` is not specified.", type: "integer", optional: true, }, updateQuantity: { label: "Update Quantity", - description: "This value will be added to the quantity. This just can be used with `finite` option selected and without `quantity` value.", + description: "If specified, adds this value to the current quantity. Can only be used with the `finite` inventory type, and if `Quantity` is not specified.", type: "integer", optional: true, }, }, async run({ $ }) { - const apiClient = this.webflow._createApiClient(); - const { - inventoryType, - quantity, - updateQuantity, + app, + // eslint-disable-next-line no-unused-vars + siteId, + collectionId, + itemId, + ...data } = this; - const response = await apiClient.patch(`/collections/${this.collectionId}/items/${this.itemId}/inventory`, { - data: { - fields: { - inventoryType, - quantity, - updateQuantity, - }, - }, - }); + const response = await this.app.updateCollectionItemInventory(collectionId, itemId, data); $.export("$summary", "Successfully updated item inventory"); diff --git a/components/webflow_v2/webflow_v2.app.mjs b/components/webflow_v2/webflow_v2.app.mjs index 239e59a7bb8be..ee180860f425c 100644 --- a/components/webflow_v2/webflow_v2.app.mjs +++ b/components/webflow_v2/webflow_v2.app.mjs @@ -7,7 +7,7 @@ export default { propDefinitions: { domains: { label: "Domain", - description: "The list of domains.", + description: "Select one or more domains, or provide custom domain IDs.", type: "string[]", async options({ siteId }) { const domains = await this.getDomains(siteId); @@ -17,7 +17,7 @@ export default { }, sites: { label: "Site", - description: "The list of sites", + description: "Select a site or provide a custom site ID.", type: "string", async options() { const sites = await this.getSites(); @@ -30,7 +30,7 @@ export default { }, collections: { label: "Collection", - description: "The list of collection of a site", + description: "Select a collection or provide a custom collection ID.", type: "string", async options({ siteId }) { const collections = await this.getCollections(siteId); @@ -43,7 +43,7 @@ export default { }, items: { label: "Item", - description: "The list of items of a collection", + description: "Select an item or provide a custom item ID.", type: "string", async options({ collectionId, page, @@ -58,7 +58,7 @@ export default { }, orders: { label: "Order", - description: "The list of orders of a site", + description: "Select an order, or provide a custom order ID.", type: "string", async options({ siteId, page, @@ -158,5 +158,16 @@ export default { updateCollectionItem(collectionId, itemId, data) { return this.webflowClient().collections.items.updateItem(collectionId, itemId, data); }, + getCollectionItemInventory(collectionId, itemId) { + return this.webflowClient().inventory.list(collectionId, itemId); + }, + updateCollectionItemInventory(collectionId, itemId, data) { + return this.webflowClient().inventory.update(collectionId, itemId, data); + }, + publishSite(siteId, customDomains) { + return this.webflowClient().sites.publish(siteId, { + customDomains + }) + } }, }; From 140cab6f9e1838ff2bbb33b496853f02aa9f6351 Mon Sep 17 00:00:00 2001 From: GTFalcao Date: Thu, 28 Nov 2024 01:50:50 -0300 Subject: [PATCH 11/24] Get and List Order --- .../webflow/actions/get-order/get-order.mjs | 34 ------------------- components/webflow/common/constants.mjs | 4 --- .../actions/common/constants.mjs | 0 .../actions/get-order/get-order.mjs | 31 +++++++++++++++++ .../actions/list-orders/list-orders.mjs | 20 +++++------ components/webflow_v2/webflow_v2.app.mjs | 22 +++++------- 6 files changed, 48 insertions(+), 63 deletions(-) delete mode 100644 components/webflow/actions/get-order/get-order.mjs delete mode 100644 components/webflow/common/constants.mjs rename components/{webflow => webflow_v2}/actions/common/constants.mjs (100%) create mode 100644 components/webflow_v2/actions/get-order/get-order.mjs rename components/{webflow => webflow_v2}/actions/list-orders/list-orders.mjs (56%) diff --git a/components/webflow/actions/get-order/get-order.mjs b/components/webflow/actions/get-order/get-order.mjs deleted file mode 100644 index 25785b53fbfb1..0000000000000 --- a/components/webflow/actions/get-order/get-order.mjs +++ /dev/null @@ -1,34 +0,0 @@ -import webflow from "../../webflow.app.mjs"; - -export default { - key: "webflow-get-order", - name: "Get Order", - description: "Get an order. [See the docs here](https://developers.webflow.com/#get-order)", - version: "0.0.4", - type: "action", - props: { - webflow, - siteId: { - propDefinition: [ - webflow, - "sites", - ], - }, - orderId: { - propDefinition: [ - webflow, - "orders", - ], - }, - }, - async run({ $ }) { - const response = await this.webflow.getOrder({ - siteId: this.siteId, - orderId: this.orderId, - }); - - $.export("$summary", "Successfully retrieved order"); - - return response; - }, -}; diff --git a/components/webflow/common/constants.mjs b/components/webflow/common/constants.mjs deleted file mode 100644 index d7f645c025aa5..0000000000000 --- a/components/webflow/common/constants.mjs +++ /dev/null @@ -1,4 +0,0 @@ -export default { - LIMIT: 100, - DEPLOY_OFFSET: 25, -}; diff --git a/components/webflow/actions/common/constants.mjs b/components/webflow_v2/actions/common/constants.mjs similarity index 100% rename from components/webflow/actions/common/constants.mjs rename to components/webflow_v2/actions/common/constants.mjs diff --git a/components/webflow_v2/actions/get-order/get-order.mjs b/components/webflow_v2/actions/get-order/get-order.mjs new file mode 100644 index 0000000000000..d98f3efda1cb1 --- /dev/null +++ b/components/webflow_v2/actions/get-order/get-order.mjs @@ -0,0 +1,31 @@ +import app from "../../webflow_v2.app.mjs"; + +export default { + key: "webflow_v2-get-order", + name: "Get Order", + description: "Get info on an order. [See the docs here](https://developers.webflow.com/#get-order)", + version: "0.0.{{ts}}", + type: "action", + props: { + app, + siteId: { + propDefinition: [ + app, + "sites", + ], + }, + orderId: { + propDefinition: [ + app, + "orders", + ], + }, + }, + async run({ $ }) { + const response = await this.app.getOrder(this.siteId, this.orderId); + + $.export("$summary", "Successfully retrieved order"); + + return response; + }, +}; diff --git a/components/webflow/actions/list-orders/list-orders.mjs b/components/webflow_v2/actions/list-orders/list-orders.mjs similarity index 56% rename from components/webflow/actions/list-orders/list-orders.mjs rename to components/webflow_v2/actions/list-orders/list-orders.mjs index 2d489ebeca791..436a86d8e5a77 100644 --- a/components/webflow/actions/list-orders/list-orders.mjs +++ b/components/webflow_v2/actions/list-orders/list-orders.mjs @@ -1,35 +1,33 @@ -import webflow from "../../webflow.app.mjs"; +import app from "../../webflow.app.mjs"; import constants from "../common/constants.mjs"; export default { - key: "webflow-list-orders", + key: "webflow_v2-list-orders", name: "List Orders", description: "List orders. [See the docs here](https://developers.webflow.com/#get-all-orders)", - version: "0.0.4", + version: "0.0.{{ts}}", type: "action", props: { - webflow, + app, siteId: { propDefinition: [ - webflow, + app, "sites", ], }, status: { label: "Status", - description: "The status to filter the orders.", + description: "If specified, only orders with this status will be listed.", type: "string", options: constants.ORDER_STATUSES, optional: true, }, }, async run({ $ }) { - const response = await this.webflow.getOrders({ - siteId: this.siteId, - status: this.status, - }); + const { app, ...data } = this; + const response = await app.listOrders(data); - $.export("$summary", "Successfully retrieved orders"); + $.export("$summary", `Successfully retrieved ${response?.length} orders`); return response; }, diff --git a/components/webflow_v2/webflow_v2.app.mjs b/components/webflow_v2/webflow_v2.app.mjs index ee180860f425c..8bb94cfe3a447 100644 --- a/components/webflow_v2/webflow_v2.app.mjs +++ b/components/webflow_v2/webflow_v2.app.mjs @@ -98,23 +98,17 @@ export default { webhookId, }); }, - async getOrder({ - siteId, orderId, - }) { - const apiClient = this._createApiClient(); - - return apiClient.get(`/sites/${siteId}/order/${orderId}`); + async getOrder(siteId, orderId) { + return this.webflowClient().orders.get(siteId, orderId); }, async listOrders({ - page, siteId, status, + page: offset = 0, siteId, status, }) { - const apiClient = this._createApiClient(); - - return apiClient.get(`/sites/${siteId}/orders`, { - status: status, - offset: page ?? 0, - limit: constants.LIMIT, + const response = await this.webflowClient().orders.list(siteId, { + offset, + status }); + return response?.orders; }, async listDomains(siteId) { const response = await this.webflowClient().sites.getCustomDomain(siteId); @@ -168,6 +162,6 @@ export default { return this.webflowClient().sites.publish(siteId, { customDomains }) - } + }, }, }; From 8bfd692f01f58c4679ee6e8d4836fee2b4a84d19 Mon Sep 17 00:00:00 2001 From: GTFalcao Date: Thu, 28 Nov 2024 03:42:00 -0300 Subject: [PATCH 12/24] Order actions --- .../actions/fulfill-order/fulfill-order.mjs | 21 +++++-------- .../actions/refund-order/refund-order.mjs | 16 +++++----- .../unfulfill-order/unfulfill-order.mjs | 16 +++++----- .../actions/update-order/update-order.mjs | 30 +++++-------------- components/webflow_v2/webflow_v2.app.mjs | 12 ++++++++ 5 files changed, 42 insertions(+), 53 deletions(-) rename components/{webflow => webflow_v2}/actions/fulfill-order/fulfill-order.mjs (61%) rename components/{webflow => webflow_v2}/actions/refund-order/refund-order.mjs (59%) rename components/{webflow => webflow_v2}/actions/unfulfill-order/unfulfill-order.mjs (59%) rename components/{webflow => webflow_v2}/actions/update-order/update-order.mjs (63%) diff --git a/components/webflow/actions/fulfill-order/fulfill-order.mjs b/components/webflow_v2/actions/fulfill-order/fulfill-order.mjs similarity index 61% rename from components/webflow/actions/fulfill-order/fulfill-order.mjs rename to components/webflow_v2/actions/fulfill-order/fulfill-order.mjs index 860cd41233a97..a26569cb9e135 100644 --- a/components/webflow/actions/fulfill-order/fulfill-order.mjs +++ b/components/webflow_v2/actions/fulfill-order/fulfill-order.mjs @@ -1,22 +1,22 @@ -import webflow from "../../webflow.app.mjs"; +import app from "../../webflow_v2.app.mjs"; export default { - key: "webflow-fulfill-order", + key: "webflow_v2-fulfill-order", name: "Fulfill Order", description: "Fulfill an order. [See the docs here](https://developers.webflow.com/#fulfill-order)", - version: "0.0.4", + version: "0.0.{{ts}}", type: "action", props: { - webflow, + app, siteId: { propDefinition: [ - webflow, + app, "sites", ], }, orderId: { propDefinition: [ - webflow, + app, "orders", ], }, @@ -28,13 +28,8 @@ export default { }, }, async run({ $ }) { - const apiClient = this.webflow._createApiClient(); - - const response = await apiClient.post(`/sites/${this.siteId}/order/${this.orderId}/fulfill`, { - data: { - sendOrderFulfilledEmail: this.sendOrderFulfilledEmail, - }, - }); + const { app, siteId, orderId, ...data } = this; + const response = await app.fulfillOrder(siteId, orderId, data); $.export("$summary", "Successfully fulfilled order"); diff --git a/components/webflow/actions/refund-order/refund-order.mjs b/components/webflow_v2/actions/refund-order/refund-order.mjs similarity index 59% rename from components/webflow/actions/refund-order/refund-order.mjs rename to components/webflow_v2/actions/refund-order/refund-order.mjs index d5b9e536072a8..a40c07f76f1fe 100644 --- a/components/webflow/actions/refund-order/refund-order.mjs +++ b/components/webflow_v2/actions/refund-order/refund-order.mjs @@ -1,30 +1,28 @@ -import webflow from "../../webflow.app.mjs"; +import app from "../../webflow_v2.app.mjs"; export default { - key: "webflow-refund-order", + key: "webflow_v2-refund-order", name: "Refund Order", description: "Refund an order. [See the docs here](https://developers.webflow.com/#refund-order)", - version: "0.0.4", + version: "0.0.{{ts}}", type: "action", props: { - webflow, + app, siteId: { propDefinition: [ - webflow, + app, "sites", ], }, orderId: { propDefinition: [ - webflow, + app, "orders", ], }, }, async run({ $ }) { - const apiClient = this.webflow._createApiClient(); - - const response = apiClient.get(`/sites/${this.siteId}/order/${this.orderId}/refund`); + const response = await this.app.refundOrder(this.siteId, this.orderId); $.export("$summary", "Successfully refunded order"); diff --git a/components/webflow/actions/unfulfill-order/unfulfill-order.mjs b/components/webflow_v2/actions/unfulfill-order/unfulfill-order.mjs similarity index 59% rename from components/webflow/actions/unfulfill-order/unfulfill-order.mjs rename to components/webflow_v2/actions/unfulfill-order/unfulfill-order.mjs index 040d6b762ee40..dbeb433d0ec04 100644 --- a/components/webflow/actions/unfulfill-order/unfulfill-order.mjs +++ b/components/webflow_v2/actions/unfulfill-order/unfulfill-order.mjs @@ -1,30 +1,28 @@ -import webflow from "../../webflow.app.mjs"; +import app from "../../webflow_v2.app.mjs"; export default { - key: "webflow-unfulfill-order", + key: "webflow_v2-unfulfill-order", name: "Unfulfill Order", description: "Unfulfill an order. [See the docs here](https://developers.webflow.com/#unfulfill-order)", - version: "0.0.4", + version: "0.0.{{ts}}", type: "action", props: { - webflow, + app, siteId: { propDefinition: [ - webflow, + app, "sites", ], }, orderId: { propDefinition: [ - webflow, + app, "orders", ], }, }, async run({ $ }) { - const apiClient = this.webflow._createApiClient(); - - const response = apiClient.post(`/sites/${this.siteId}/order/${this.orderId}/unfulfill`); + const response = await this.app.unfulfillOrder(this.siteId, this.orderId); $.export("$summary", "Successfully unfulfilled order"); diff --git a/components/webflow/actions/update-order/update-order.mjs b/components/webflow_v2/actions/update-order/update-order.mjs similarity index 63% rename from components/webflow/actions/update-order/update-order.mjs rename to components/webflow_v2/actions/update-order/update-order.mjs index 74a22137dcb1b..cbd5c7e7ebbfc 100644 --- a/components/webflow/actions/update-order/update-order.mjs +++ b/components/webflow_v2/actions/update-order/update-order.mjs @@ -1,22 +1,22 @@ -import webflow from "../../webflow.app.mjs"; +import app from "../../webflow_v2.app.mjs"; export default { - key: "webflow-update-order", + key: "webflow_v2-update-order", name: "Update Order", description: "Update an order. [See the docs here](https://developers.webflow.com/#update-order)", - version: "0.0.4", + version: "0.0.{{ts}}", type: "action", props: { - webflow, + app, siteId: { propDefinition: [ - webflow, + app, "sites", ], }, orderId: { propDefinition: [ - webflow, + app, "orders", ], }, @@ -40,23 +40,9 @@ export default { }, }, async run({ $ }) { - const apiClient = this.webflow._createApiClient(); + const { app, siteId, orderId, ...data } = this; - const { - comment, - shippingProvider, - shippingTracking, - } = this; - - const response = await apiClient.post(`/sites/${this.siteId}/order/${this.orderId}`, { - data: { - fields: { - comment, - shippingProvider, - shippingTracking, - }, - }, - }); + const response = await app.updateOrder(siteId, orderId, data); $.export("$summary", "Successfully updated order"); diff --git a/components/webflow_v2/webflow_v2.app.mjs b/components/webflow_v2/webflow_v2.app.mjs index 8bb94cfe3a447..d988174dbfd82 100644 --- a/components/webflow_v2/webflow_v2.app.mjs +++ b/components/webflow_v2/webflow_v2.app.mjs @@ -163,5 +163,17 @@ export default { customDomains }) }, + fulfillOrder(siteId, orderId, data) { + return this.webflowClient().orders.updateFulfill(siteId, orderId, data); + }, + unfulfillOrder(siteId, orderId) { + return this.webflowClient().orders.updateUnfulfill(siteId, orderId); + }, + refundOrder(siteId, orderId) { + return this.webflowClient().orders.refund(siteId, orderId); + }, + updateOrder(siteId, orderId, data) { + return this.webflowClient().orders.update(siteId, orderId, data); + } }, }; From b9dbb191a81bc789b996e51a23a23e2dbf69f0cb Mon Sep 17 00:00:00 2001 From: GTFalcao Date: Thu, 28 Nov 2024 03:43:33 -0300 Subject: [PATCH 13/24] syntax adjustment --- .../actions/update-item-inventory/update-item-inventory.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/webflow_v2/actions/update-item-inventory/update-item-inventory.mjs b/components/webflow_v2/actions/update-item-inventory/update-item-inventory.mjs index c21a4f35926a7..059c39d0e6c19 100644 --- a/components/webflow_v2/actions/update-item-inventory/update-item-inventory.mjs +++ b/components/webflow_v2/actions/update-item-inventory/update-item-inventory.mjs @@ -64,7 +64,7 @@ export default { ...data } = this; - const response = await this.app.updateCollectionItemInventory(collectionId, itemId, data); + const response = await app.updateCollectionItemInventory(collectionId, itemId, data); $.export("$summary", "Successfully updated item inventory"); From beb681e52ca5d90478a7a4a38484aba79dc6c68c Mon Sep 17 00:00:00 2001 From: GTFalcao Date: Thu, 28 Nov 2024 03:46:42 -0300 Subject: [PATCH 14/24] import fix --- components/webflow_v2/actions/list-orders/list-orders.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/webflow_v2/actions/list-orders/list-orders.mjs b/components/webflow_v2/actions/list-orders/list-orders.mjs index 436a86d8e5a77..158e7fa39288f 100644 --- a/components/webflow_v2/actions/list-orders/list-orders.mjs +++ b/components/webflow_v2/actions/list-orders/list-orders.mjs @@ -1,4 +1,4 @@ -import app from "../../webflow.app.mjs"; +import app from "../../webflow_v2.app.mjs"; import constants from "../common/constants.mjs"; export default { From 37a7a4ea39824dea5ab4b6f6dd8c261b7e60d050 Mon Sep 17 00:00:00 2001 From: GTFalcao Date: Thu, 28 Nov 2024 23:43:12 -0300 Subject: [PATCH 15/24] Webhook source updates --- .../sources/common/collection-common.mjs | 30 ---------------- .../changed-collection-item.mjs | 4 +-- .../changed-ecommerce-inventory.mjs | 4 +-- .../changed-ecommerce-order.mjs | 4 +-- .../sources/common/common.mjs | 36 ++++++------------- .../new-collection-item.mjs | 6 ++-- .../new-deleted-collection-item.mjs | 8 ++--- .../new-ecommerce-order.mjs | 4 +-- .../new-form-submission.mjs | 4 +-- .../new-form-submission/test-event.mjs | 0 .../new-site-published/new-site-published.mjs | 4 +-- components/webflow_v2/webflow_v2.app.mjs | 19 +++------- 12 files changed, 33 insertions(+), 90 deletions(-) delete mode 100644 components/webflow/sources/common/collection-common.mjs rename components/{webflow => webflow_v2}/sources/changed-collection-item/changed-collection-item.mjs (89%) rename components/{webflow => webflow_v2}/sources/changed-ecommerce-inventory/changed-ecommerce-inventory.mjs (89%) rename components/{webflow => webflow_v2}/sources/changed-ecommerce-order/changed-ecommerce-order.mjs (89%) rename components/{webflow => webflow_v2}/sources/common/common.mjs (60%) rename components/{webflow => webflow_v2}/sources/new-collection-item/new-collection-item.mjs (92%) rename components/{webflow => webflow_v2}/sources/new-deleted-collection-item/new-deleted-collection-item.mjs (74%) rename components/{webflow => webflow_v2}/sources/new-ecommerce-order/new-ecommerce-order.mjs (96%) rename components/{webflow => webflow_v2}/sources/new-form-submission/new-form-submission.mjs (89%) rename components/{webflow => webflow_v2}/sources/new-form-submission/test-event.mjs (100%) rename components/{webflow => webflow_v2}/sources/new-site-published/new-site-published.mjs (94%) diff --git a/components/webflow/sources/common/collection-common.mjs b/components/webflow/sources/common/collection-common.mjs deleted file mode 100644 index 3149a11e30e93..0000000000000 --- a/components/webflow/sources/common/collection-common.mjs +++ /dev/null @@ -1,30 +0,0 @@ -import common from "./common.mjs"; -import webflow from "../../webflow.app.mjs"; - -export default { - ...common, - props: { - ...common.props, - collectionIds: { - label: "Collections", - description: "The collections to monitor for item changes", - type: "string[]", - optional: true, - propDefinition: [ - webflow, - "collections", - (c) => ({ - siteId: c.siteId, - }), - ], - }, - }, - methods: { - ...common.methods, - isEventRelevant(event) { - if (!this.collectionIds?.length) return true; - const { body: { _cid: collectionId } } = event; - return this.collectionIds.includes(collectionId); - }, - }, -}; diff --git a/components/webflow/sources/changed-collection-item/changed-collection-item.mjs b/components/webflow_v2/sources/changed-collection-item/changed-collection-item.mjs similarity index 89% rename from components/webflow/sources/changed-collection-item/changed-collection-item.mjs rename to components/webflow_v2/sources/changed-collection-item/changed-collection-item.mjs index 0e818f3537291..20756d9cabb82 100644 --- a/components/webflow/sources/changed-collection-item/changed-collection-item.mjs +++ b/components/webflow_v2/sources/changed-collection-item/changed-collection-item.mjs @@ -2,10 +2,10 @@ import common from "../common/collection-common.mjs"; export default { type: "source", - key: "webflow-changed-collection-item", + key: "webflow_v2-changed-collection-item", name: "New Changed Collection Item", description: "Emit new event when a collection item is changed. [See the docs here](https://developers.webflow.com/#model16)", - version: "0.2.3", + version: "0.0.{{ts}}", ...common, methods: { ...common.methods, diff --git a/components/webflow/sources/changed-ecommerce-inventory/changed-ecommerce-inventory.mjs b/components/webflow_v2/sources/changed-ecommerce-inventory/changed-ecommerce-inventory.mjs similarity index 89% rename from components/webflow/sources/changed-ecommerce-inventory/changed-ecommerce-inventory.mjs rename to components/webflow_v2/sources/changed-ecommerce-inventory/changed-ecommerce-inventory.mjs index 8e04702ce88b6..876fbc30bed8b 100644 --- a/components/webflow/sources/changed-ecommerce-inventory/changed-ecommerce-inventory.mjs +++ b/components/webflow_v2/sources/changed-ecommerce-inventory/changed-ecommerce-inventory.mjs @@ -2,10 +2,10 @@ import common from "../common/common.mjs"; export default { type: "source", - key: "webflow-changed-ecommerce-inventory", + key: "webflow_v2-changed-ecommerce-inventory", name: "New Changed E-commerce Inventory", description: "Emit new event when an e-commerce inventory level changes. [See the docs here](https://developers.webflow.com/#item-inventory)", - version: "0.2.3", + version: "0.0.{{ts}}", ...common, methods: { ...common.methods, diff --git a/components/webflow/sources/changed-ecommerce-order/changed-ecommerce-order.mjs b/components/webflow_v2/sources/changed-ecommerce-order/changed-ecommerce-order.mjs similarity index 89% rename from components/webflow/sources/changed-ecommerce-order/changed-ecommerce-order.mjs rename to components/webflow_v2/sources/changed-ecommerce-order/changed-ecommerce-order.mjs index 6f1a80be6af21..acc0097ce02f0 100644 --- a/components/webflow/sources/changed-ecommerce-order/changed-ecommerce-order.mjs +++ b/components/webflow_v2/sources/changed-ecommerce-order/changed-ecommerce-order.mjs @@ -2,10 +2,10 @@ import common from "../common/common.mjs"; export default { type: "source", - key: "webflow-changed-ecommerce-order", + key: "webflow_v2-changed-ecommerce-order", name: "New Changed E-commerce Order", description: "Emit new event when an e-commerce order is changed. [See the docs here](https://developers.webflow.com/#order-model)", - version: "0.2.3", + version: "0.0.{{ts}}", ...common, methods: { ...common.methods, diff --git a/components/webflow/sources/common/common.mjs b/components/webflow_v2/sources/common/common.mjs similarity index 60% rename from components/webflow/sources/common/common.mjs rename to components/webflow_v2/sources/common/common.mjs index 8bbc816812e0f..a4afd7054b89b 100644 --- a/components/webflow/sources/common/common.mjs +++ b/components/webflow_v2/sources/common/common.mjs @@ -1,32 +1,18 @@ -import webflow from "../../webflow.app.mjs"; +import app from "../../webflow_v2.app.mjs"; import { v4 as uuid } from "uuid"; -import { axios } from "@pipedream/platform"; import constants from "../../common/constants.mjs"; export default { dedupe: "unique", props: { - webflow, + app, siteId: { - propDefinition: [ - webflow, - "sites", - ], + propDefinition: [app, "sites"], }, db: "$.service.db", http: "$.interface.http", }, methods: { - async _makeRequest(path, params = {}) { - return axios(this, { - url: "https://api.webflow.com" + path, - headers: { - "Authorization": `Bearer ${this.webflow.$auth.oauth_access_token}`, - "Accept-Version": "1.0.0", - }, - params, - }); - }, _getWebhookId() { return this.db.get("webhookId"); }, @@ -67,18 +53,16 @@ export default { }, hooks: { async activate() { - const { endpoint } = this.http; - const triggerType = this.getWebhookTriggerType(); - const filter = this.getWebhookFilter(); - const webhook = await this.webflow.createWebhook( - this.siteId, endpoint, triggerType, filter, - ); + const webhook = await this.app.createWebhook(this.siteId, { + url: this.http.endpoint, + triggerType: this.getWebhookTriggerType(), + filter: this.getWebhookFilter(), + }); - this._setWebhookId(webhook._id); + this._setWebhookId(webhook?.id); }, async deactivate() { - const webhookId = this._getWebhookId(); - await this.webflow.removeWebhook(this.siteId, webhookId); + await this.app.removeWebhook(this._getWebhookId()); }, }, async run(event) { diff --git a/components/webflow/sources/new-collection-item/new-collection-item.mjs b/components/webflow_v2/sources/new-collection-item/new-collection-item.mjs similarity index 92% rename from components/webflow/sources/new-collection-item/new-collection-item.mjs rename to components/webflow_v2/sources/new-collection-item/new-collection-item.mjs index 5364ff0f38e22..8f31b34b43932 100644 --- a/components/webflow/sources/new-collection-item/new-collection-item.mjs +++ b/components/webflow_v2/sources/new-collection-item/new-collection-item.mjs @@ -1,12 +1,12 @@ import constants from "../../common/constants.mjs"; -import common from "../common/collection-common.mjs"; +import common from "../common/common.mjs"; export default { type: "source", - key: "webflow-new-collection-item", + key: "webflow_v2-new-collection-item", name: "New Collection Item", description: "Emit new event when a collection item is created. [See the docs here](https://developers.webflow.com/#item-model)", - version: "0.2.3", + version: "0.0.{{ts}}", ...common, hooks: { ...common.hooks, diff --git a/components/webflow/sources/new-deleted-collection-item/new-deleted-collection-item.mjs b/components/webflow_v2/sources/new-deleted-collection-item/new-deleted-collection-item.mjs similarity index 74% rename from components/webflow/sources/new-deleted-collection-item/new-deleted-collection-item.mjs rename to components/webflow_v2/sources/new-deleted-collection-item/new-deleted-collection-item.mjs index 169c29d0203ff..be648eb7d742a 100644 --- a/components/webflow/sources/new-deleted-collection-item/new-deleted-collection-item.mjs +++ b/components/webflow_v2/sources/new-deleted-collection-item/new-deleted-collection-item.mjs @@ -2,10 +2,10 @@ import common from "../common/common.mjs"; export default { type: "source", - key: "webflow-new-deleted-collection-item", - name: "New Deleted Collection Item", + key: "webflow_v2-new-deleted-collection-item", + name: "Collection Item Deleted", description: "Emit new event when a collection item is deleted. [See the docs here](https://developers.webflow.com/#item-model)", - version: "0.2.3", + version: "0.0.{{ts}}", ...common, methods: { ...common.methods, @@ -15,7 +15,7 @@ export default { generateMeta(data) { return { id: data.itemId, - summary: `Collection item ${data.itemId} deleted.`, + summary: `Item ${data.itemId} deleted`, ts: Date.parse(data["created-on"]), }; }, diff --git a/components/webflow/sources/new-ecommerce-order/new-ecommerce-order.mjs b/components/webflow_v2/sources/new-ecommerce-order/new-ecommerce-order.mjs similarity index 96% rename from components/webflow/sources/new-ecommerce-order/new-ecommerce-order.mjs rename to components/webflow_v2/sources/new-ecommerce-order/new-ecommerce-order.mjs index d7c3e709439c0..206bf9d256a84 100644 --- a/components/webflow/sources/new-ecommerce-order/new-ecommerce-order.mjs +++ b/components/webflow_v2/sources/new-ecommerce-order/new-ecommerce-order.mjs @@ -2,10 +2,10 @@ import common from "../common/common.mjs"; export default { type: "source", - key: "webflow-new-ecommerce-order", + key: "webflow_v2-new-ecommerce-order", name: "New E-commerce Order", description: "Emit new event when an e-commerce order is created. [See the docs here](https://developers.webflow.com/#order-model)", - version: "0.2.3", + version: "0.0.{{ts}}", ...common, props: { ...common.props, diff --git a/components/webflow/sources/new-form-submission/new-form-submission.mjs b/components/webflow_v2/sources/new-form-submission/new-form-submission.mjs similarity index 89% rename from components/webflow/sources/new-form-submission/new-form-submission.mjs rename to components/webflow_v2/sources/new-form-submission/new-form-submission.mjs index d29791ef41bbd..a845e8ddac68f 100644 --- a/components/webflow/sources/new-form-submission/new-form-submission.mjs +++ b/components/webflow_v2/sources/new-form-submission/new-form-submission.mjs @@ -3,10 +3,10 @@ import sampleEmit from "./test-event.mjs"; export default { type: "source", - key: "webflow-new-form-submission", + key: "webflow_v2-new-form-submission", name: "New Form Submission", description: "Emit new event when a new form is submitted. [See the docs here](https://developers.webflow.com/#trigger-types)", - version: "0.2.4", + version: "0.0.{{ts}}", ...common, methods: { ...common.methods, diff --git a/components/webflow/sources/new-form-submission/test-event.mjs b/components/webflow_v2/sources/new-form-submission/test-event.mjs similarity index 100% rename from components/webflow/sources/new-form-submission/test-event.mjs rename to components/webflow_v2/sources/new-form-submission/test-event.mjs diff --git a/components/webflow/sources/new-site-published/new-site-published.mjs b/components/webflow_v2/sources/new-site-published/new-site-published.mjs similarity index 94% rename from components/webflow/sources/new-site-published/new-site-published.mjs rename to components/webflow_v2/sources/new-site-published/new-site-published.mjs index 571cec7662565..0aa03d4ef1029 100644 --- a/components/webflow/sources/new-site-published/new-site-published.mjs +++ b/components/webflow_v2/sources/new-site-published/new-site-published.mjs @@ -3,10 +3,10 @@ import common from "../common/common.mjs"; export default { type: "source", - key: "webflow-new-site-published", + key: "webflow_v2-new-site-published", name: "New Site Published", description: "Emit new event when a site is published. [See the docs here](https://developers.webflow.com/#trigger-types)", - version: "0.2.3", + version: "0.0.{{ts}}", ...common, hooks: { ...common.hooks, diff --git a/components/webflow_v2/webflow_v2.app.mjs b/components/webflow_v2/webflow_v2.app.mjs index d988174dbfd82..8e3c4a22b0353 100644 --- a/components/webflow_v2/webflow_v2.app.mjs +++ b/components/webflow_v2/webflow_v2.app.mjs @@ -81,22 +81,11 @@ export default { accessToken: this._authToken(), }); }, - async createWebhook(siteId, url, triggerType, filter = {}) { - const apiClient = this._createApiClient(); - - return apiClient.createWebhook({ - siteId, - triggerType, - url, - filter, - }); + async createWebhook(siteId, data) { + return this.webflowClient().webhooks.create(siteId, data); }, - async removeWebhook(siteId, webhookId) { - const apiClient = this._createApiClient(); - return apiClient.removeWebhook({ - siteId, - webhookId, - }); + async removeWebhook(webhookId) { + return this.webflowClient().webhooks.delete(webhookId); }, async getOrder(siteId, orderId) { return this.webflowClient().orders.get(siteId, orderId); From c2e688ab6434297d5c74478fc65464b6f54edea5 Mon Sep 17 00:00:00 2001 From: GTFalcao Date: Fri, 29 Nov 2024 00:07:48 -0300 Subject: [PATCH 16/24] Collection item sources --- .../changed-collection-item.mjs | 9 ++-- .../new-collection-item.mjs | 43 +++---------------- .../new-deleted-collection-item.mjs | 7 +-- 3 files changed, 14 insertions(+), 45 deletions(-) diff --git a/components/webflow_v2/sources/changed-collection-item/changed-collection-item.mjs b/components/webflow_v2/sources/changed-collection-item/changed-collection-item.mjs index 20756d9cabb82..761f90e79ae74 100644 --- a/components/webflow_v2/sources/changed-collection-item/changed-collection-item.mjs +++ b/components/webflow_v2/sources/changed-collection-item/changed-collection-item.mjs @@ -3,7 +3,7 @@ import common from "../common/collection-common.mjs"; export default { type: "source", key: "webflow_v2-changed-collection-item", - name: "New Changed Collection Item", + name: "Collection Item Updated", description: "Emit new event when a collection item is changed. [See the docs here](https://developers.webflow.com/#model16)", version: "0.0.{{ts}}", ...common, @@ -13,11 +13,12 @@ export default { return "collection_item_changed"; }, generateMeta(data) { - const ts = Date.parse(data["updated-on"]); + const { id, fieldData, lastUpdated } = data; + const ts = Date.parse(lastUpdated); return { - id: `${data._id}-${ts}`, - summary: `Collection ${data.slug} item changed`, + id: `${id}-${ts}`, + summary: `Item updated: ${fieldData?.slug ?? fieldData?.name ?? id}`, ts, }; }, diff --git a/components/webflow_v2/sources/new-collection-item/new-collection-item.mjs b/components/webflow_v2/sources/new-collection-item/new-collection-item.mjs index 8f31b34b43932..31d92a8232be0 100644 --- a/components/webflow_v2/sources/new-collection-item/new-collection-item.mjs +++ b/components/webflow_v2/sources/new-collection-item/new-collection-item.mjs @@ -1,56 +1,23 @@ -import constants from "../../common/constants.mjs"; import common from "../common/common.mjs"; export default { type: "source", key: "webflow_v2-new-collection-item", - name: "New Collection Item", + name: "New Collection Item Created", description: "Emit new event when a collection item is created. [See the docs here](https://developers.webflow.com/#item-model)", version: "0.0.{{ts}}", ...common, - hooks: { - ...common.hooks, - async deploy() { - if (this.collectionIds?.length !== 1) { - console.log("Skipping retrieval of historical events for multiple or no Collection ID"); - return; - } - - const path = `/collections/${this.collectionIds[0]}/items`; - console.log("Retrieving historical events..."); - - let { - total, - items: events, - } = await this._makeRequest(path); - - if (total > constants.LIMIT) { - const offset = Math.floor(total / constants.LIMIT); - - events = (await this._makeRequest(path, { - offset, - })).items.reverse(); - - events.push(...(await this._makeRequest(path, { - offset: offset - 1, - })).items.reverse()); - } else { - events.reverse(); - } - - this.emitHistoricalEvents(events); - }, - }, methods: { ...common.methods, getWebhookTriggerType() { return "collection_item_created"; }, generateMeta(data) { + const { id, fieldData } = data; return { - id: data._id, - summary: `New collection item ${data.slug} created`, - ts: Date.parse(data["created-on"]), + id, + summary: `New item: ${fieldData?.slug ?? fieldData?.name ?? id}`, + ts: Date.parse(data["createdOn"]), }; }, }, diff --git a/components/webflow_v2/sources/new-deleted-collection-item/new-deleted-collection-item.mjs b/components/webflow_v2/sources/new-deleted-collection-item/new-deleted-collection-item.mjs index be648eb7d742a..f1a5b0518f410 100644 --- a/components/webflow_v2/sources/new-deleted-collection-item/new-deleted-collection-item.mjs +++ b/components/webflow_v2/sources/new-deleted-collection-item/new-deleted-collection-item.mjs @@ -13,10 +13,11 @@ export default { return "collection_item_deleted"; }, generateMeta(data) { + const { id } = data; return { - id: data.itemId, - summary: `Item ${data.itemId} deleted`, - ts: Date.parse(data["created-on"]), + id, + summary: `Item deleted: ${id}`, + ts: Date.now(), }; }, }, From aa6372abbb5f4b062e4a4f16f144ebe627c37f00 Mon Sep 17 00:00:00 2001 From: GTFalcao Date: Fri, 29 Nov 2024 00:25:56 -0300 Subject: [PATCH 17/24] Updates --- .../changed-ecommerce-inventory.mjs | 11 ++++++----- .../changed-ecommerce-order.mjs | 13 ++++++------- .../new-site-published/new-site-published.mjs | 13 +++++-------- components/webflow_v2/webflow_v2.app.mjs | 10 +++++----- 4 files changed, 22 insertions(+), 25 deletions(-) diff --git a/components/webflow_v2/sources/changed-ecommerce-inventory/changed-ecommerce-inventory.mjs b/components/webflow_v2/sources/changed-ecommerce-inventory/changed-ecommerce-inventory.mjs index 876fbc30bed8b..867396a5f6cc2 100644 --- a/components/webflow_v2/sources/changed-ecommerce-inventory/changed-ecommerce-inventory.mjs +++ b/components/webflow_v2/sources/changed-ecommerce-inventory/changed-ecommerce-inventory.mjs @@ -3,7 +3,7 @@ import common from "../common/common.mjs"; export default { type: "source", key: "webflow_v2-changed-ecommerce-inventory", - name: "New Changed E-commerce Inventory", + name: "E-commerce Inventory Updated", description: "Emit new event when an e-commerce inventory level changes. [See the docs here](https://developers.webflow.com/#item-inventory)", version: "0.0.{{ts}}", ...common, @@ -13,12 +13,13 @@ export default { return "ecomm_inventory_changed"; }, generateMeta(data) { - const now = Date.now(); + const ts = Date.now(); + const { id } = data; return { - id: `${data._id}-${now}`, - summary: `E-commerce ${data._id} inventory changed`, - ts: now, + id: `${id}-${ts}`, + summary: `E-comm inventory updated: ${id}`, + ts, }; }, }, diff --git a/components/webflow_v2/sources/changed-ecommerce-order/changed-ecommerce-order.mjs b/components/webflow_v2/sources/changed-ecommerce-order/changed-ecommerce-order.mjs index acc0097ce02f0..fcaaba37275b8 100644 --- a/components/webflow_v2/sources/changed-ecommerce-order/changed-ecommerce-order.mjs +++ b/components/webflow_v2/sources/changed-ecommerce-order/changed-ecommerce-order.mjs @@ -3,7 +3,7 @@ import common from "../common/common.mjs"; export default { type: "source", key: "webflow_v2-changed-ecommerce-order", - name: "New Changed E-commerce Order", + name: "E-commerce Order Updated", description: "Emit new event when an e-commerce order is changed. [See the docs here](https://developers.webflow.com/#order-model)", version: "0.0.{{ts}}", ...common, @@ -12,13 +12,12 @@ export default { getWebhookTriggerType() { return "ecomm_order_changed"; }, - generateMeta(data) { - const now = Date.now(); - + generateMeta({ orderId }) { + const ts = Date.now(); return { - id: `${data.orderId}-${now}`, - summary: `E-commerce order ${data.orderId} changed`, - ts: now, + id: `${orderId}-${ts}`, + summary: `E-comm order updated: ${orderId}`, + ts, }; }, }, diff --git a/components/webflow_v2/sources/new-site-published/new-site-published.mjs b/components/webflow_v2/sources/new-site-published/new-site-published.mjs index 0aa03d4ef1029..eb2a7c284192e 100644 --- a/components/webflow_v2/sources/new-site-published/new-site-published.mjs +++ b/components/webflow_v2/sources/new-site-published/new-site-published.mjs @@ -13,10 +13,7 @@ export default { async deploy() { console.log("Retrieving historical events..."); - const sites = await this._makeRequest("/sites", { - limit: this.historicalEventsNumber, - }); - + const sites = await this.app.listSites(); const filtered = sites.filter((site) => site.lastPublished); const sliced = filtered.slice( filtered.length - constants.DEPLOY_OFFSET, @@ -34,11 +31,11 @@ export default { getWebhookTriggerType() { return "site_publish"; }, - generateMeta(data) { + generateMeta({ siteId, publishedOn }) { return { - id: `${data.site}-${data.publishTime}`, - summary: `The site ${data.site} has been published.`, - ts: data.publishTime, + id: `${siteId}-${publishedOn}`, + summary: `Site published: ${siteId}`, + ts: Date.parse(publishedOn), }; }, }, diff --git a/components/webflow_v2/webflow_v2.app.mjs b/components/webflow_v2/webflow_v2.app.mjs index 8e3c4a22b0353..ffb8c4f1f8453 100644 --- a/components/webflow_v2/webflow_v2.app.mjs +++ b/components/webflow_v2/webflow_v2.app.mjs @@ -10,7 +10,7 @@ export default { description: "Select one or more domains, or provide custom domain IDs.", type: "string[]", async options({ siteId }) { - const domains = await this.getDomains(siteId); + const domains = await this.listDomains(siteId); return domains.map((domain) => domain.name); }, @@ -20,7 +20,7 @@ export default { description: "Select a site or provide a custom site ID.", type: "string", async options() { - const sites = await this.getSites(); + const sites = await this.listSites(); return sites.map((site) => ({ label: site.displayName || site.shortName, @@ -33,7 +33,7 @@ export default { description: "Select a collection or provide a custom collection ID.", type: "string", async options({ siteId }) { - const collections = await this.getCollections(siteId); + const collections = await this.listCollections(siteId); return collections.map((collection) => ({ label: collection.displayName || collection.slug, @@ -48,7 +48,7 @@ export default { async options({ collectionId, page, }) { - const items = await this.getItems(page, collectionId); + const items = await this.listCollectionItems(page, collectionId); return items.map((item) => ({ label: item.fieldData?.name || item.fieldData?.slug, @@ -63,7 +63,7 @@ export default { async options({ siteId, page, }) { - const items = await this.getOrders({ + const items = await this.listOrders({ page, siteId, }); From c05d062c3cb90189ac893596fb0b88b78b41b232 Mon Sep 17 00:00:00 2001 From: GTFalcao Date: Fri, 29 Nov 2024 00:27:21 -0300 Subject: [PATCH 18/24] New form submission --- .../sources/new-form-submission/new-form-submission.mjs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/components/webflow_v2/sources/new-form-submission/new-form-submission.mjs b/components/webflow_v2/sources/new-form-submission/new-form-submission.mjs index a845e8ddac68f..2ab9c60399212 100644 --- a/components/webflow_v2/sources/new-form-submission/new-form-submission.mjs +++ b/components/webflow_v2/sources/new-form-submission/new-form-submission.mjs @@ -5,7 +5,7 @@ export default { type: "source", key: "webflow_v2-new-form-submission", name: "New Form Submission", - description: "Emit new event when a new form is submitted. [See the docs here](https://developers.webflow.com/#trigger-types)", + description: "Emit new event when a form is submitted. [See the docs here](https://developers.webflow.com/#trigger-types)", version: "0.0.{{ts}}", ...common, methods: { @@ -14,10 +14,11 @@ export default { return "form_submission"; }, generateMeta(data) { + const { name, id, submittedAt } = data; return { - id: data._id, - summary: `New form ${data._id} submission`, - ts: Date.parse(data.date), + id, + summary: `Form submitted: ${name ?? id}`, + ts: Date.parse(submittedAt), }; }, }, From e0fbe706795fd4c5e5430af8a0d4767ad291ef49 Mon Sep 17 00:00:00 2001 From: GTFalcao Date: Fri, 29 Nov 2024 00:43:35 -0300 Subject: [PATCH 19/24] ESLint --- .../create-collection-item.mjs | 2 +- .../delete-collection-item.mjs | 4 +++- .../actions/fulfill-order/fulfill-order.mjs | 4 +++- .../webflow_v2/actions/list-orders/list-orders.mjs | 4 +++- .../actions/publish-site/publish-site.mjs | 2 +- .../update-collection-item.mjs | 9 ++++++--- .../actions/update-order/update-order.mjs | 4 +++- .../changed-collection-item.mjs | 4 +++- components/webflow_v2/sources/common/common.mjs | 5 ++++- .../new-collection-item/new-collection-item.mjs | 4 +++- .../new-form-submission/new-form-submission.mjs | 4 +++- .../new-site-published/new-site-published.mjs | 4 +++- components/webflow_v2/webflow_v2.app.mjs | 14 +++++++------- 13 files changed, 43 insertions(+), 21 deletions(-) diff --git a/components/webflow_v2/actions/create-collection-item/create-collection-item.mjs b/components/webflow_v2/actions/create-collection-item/create-collection-item.mjs index e668c4c976e7f..f8b607a676c52 100644 --- a/components/webflow_v2/actions/create-collection-item/create-collection-item.mjs +++ b/components/webflow_v2/actions/create-collection-item/create-collection-item.mjs @@ -65,7 +65,7 @@ export default { }, ); - $.export("$summary", `Successfully created collection item ${fields.name ?? ""}`); + $.export("$summary", `Successfully created collection item ${this.name ?? ""}`); return response; }, diff --git a/components/webflow_v2/actions/delete-collection-item/delete-collection-item.mjs b/components/webflow_v2/actions/delete-collection-item/delete-collection-item.mjs index 37fb185ed1a69..eca1f03bb2cc7 100644 --- a/components/webflow_v2/actions/delete-collection-item/delete-collection-item.mjs +++ b/components/webflow_v2/actions/delete-collection-item/delete-collection-item.mjs @@ -34,7 +34,9 @@ export default { }, }, async run({ $ }) { - const { collectionId, itemId } = this; + const { + collectionId, itemId, + } = this; const response = await this.app.deleteCollectionItem(collectionId, itemId); $.export("$summary", "Successfully deleted item"); diff --git a/components/webflow_v2/actions/fulfill-order/fulfill-order.mjs b/components/webflow_v2/actions/fulfill-order/fulfill-order.mjs index a26569cb9e135..aa1cea5a5341f 100644 --- a/components/webflow_v2/actions/fulfill-order/fulfill-order.mjs +++ b/components/webflow_v2/actions/fulfill-order/fulfill-order.mjs @@ -28,7 +28,9 @@ export default { }, }, async run({ $ }) { - const { app, siteId, orderId, ...data } = this; + const { + app, siteId, orderId, ...data + } = this; const response = await app.fulfillOrder(siteId, orderId, data); $.export("$summary", "Successfully fulfilled order"); diff --git a/components/webflow_v2/actions/list-orders/list-orders.mjs b/components/webflow_v2/actions/list-orders/list-orders.mjs index 158e7fa39288f..d1c8114c24bb4 100644 --- a/components/webflow_v2/actions/list-orders/list-orders.mjs +++ b/components/webflow_v2/actions/list-orders/list-orders.mjs @@ -24,7 +24,9 @@ export default { }, }, async run({ $ }) { - const { app, ...data } = this; + const { + app, ...data + } = this; const response = await app.listOrders(data); $.export("$summary", `Successfully retrieved ${response?.length} orders`); diff --git a/components/webflow_v2/actions/publish-site/publish-site.mjs b/components/webflow_v2/actions/publish-site/publish-site.mjs index b8e698eabb882..cbdae23d9f3e2 100644 --- a/components/webflow_v2/actions/publish-site/publish-site.mjs +++ b/components/webflow_v2/actions/publish-site/publish-site.mjs @@ -25,7 +25,7 @@ export default { }, }, async run({ $ }) { - const response = await this.app.publishSite(siteId, domains); + const response = await this.app.publishSite(this.siteId, this.domains); $.export("$summary", "Successfully published site"); diff --git a/components/webflow_v2/actions/update-collection-item/update-collection-item.mjs b/components/webflow_v2/actions/update-collection-item/update-collection-item.mjs index e8f33a2e45bae..0b2f63f0714f7 100644 --- a/components/webflow_v2/actions/update-collection-item/update-collection-item.mjs +++ b/components/webflow_v2/actions/update-collection-item/update-collection-item.mjs @@ -10,7 +10,10 @@ export default { props: { app, siteId: { - propDefinition: [app, "sites"], + propDefinition: [ + app, + "sites", + ], }, collectionId: { propDefinition: [ @@ -51,8 +54,8 @@ export default { field.slug === "name" ? "Name given to the Item." : field.slug === "slug" - ? "URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug." - : "See the documentation for additional information about [Field Types & Item Values](https://developers.webflow.com/reference/field-types-item-values).", + ? "URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug." + : "See the documentation for additional information about [Field Types & Item Values](https://developers.webflow.com/reference/field-types-item-values).", optional: true, }; } diff --git a/components/webflow_v2/actions/update-order/update-order.mjs b/components/webflow_v2/actions/update-order/update-order.mjs index cbd5c7e7ebbfc..fbab9bd41dcb7 100644 --- a/components/webflow_v2/actions/update-order/update-order.mjs +++ b/components/webflow_v2/actions/update-order/update-order.mjs @@ -40,7 +40,9 @@ export default { }, }, async run({ $ }) { - const { app, siteId, orderId, ...data } = this; + const { + app, siteId, orderId, ...data + } = this; const response = await app.updateOrder(siteId, orderId, data); diff --git a/components/webflow_v2/sources/changed-collection-item/changed-collection-item.mjs b/components/webflow_v2/sources/changed-collection-item/changed-collection-item.mjs index 761f90e79ae74..29e13218ad56c 100644 --- a/components/webflow_v2/sources/changed-collection-item/changed-collection-item.mjs +++ b/components/webflow_v2/sources/changed-collection-item/changed-collection-item.mjs @@ -13,7 +13,9 @@ export default { return "collection_item_changed"; }, generateMeta(data) { - const { id, fieldData, lastUpdated } = data; + const { + id, fieldData, lastUpdated, + } = data; const ts = Date.parse(lastUpdated); return { diff --git a/components/webflow_v2/sources/common/common.mjs b/components/webflow_v2/sources/common/common.mjs index a4afd7054b89b..775aee230c16a 100644 --- a/components/webflow_v2/sources/common/common.mjs +++ b/components/webflow_v2/sources/common/common.mjs @@ -7,7 +7,10 @@ export default { props: { app, siteId: { - propDefinition: [app, "sites"], + propDefinition: [ + app, + "sites", + ], }, db: "$.service.db", http: "$.interface.http", diff --git a/components/webflow_v2/sources/new-collection-item/new-collection-item.mjs b/components/webflow_v2/sources/new-collection-item/new-collection-item.mjs index 31d92a8232be0..f2c8bdc788507 100644 --- a/components/webflow_v2/sources/new-collection-item/new-collection-item.mjs +++ b/components/webflow_v2/sources/new-collection-item/new-collection-item.mjs @@ -13,7 +13,9 @@ export default { return "collection_item_created"; }, generateMeta(data) { - const { id, fieldData } = data; + const { + id, fieldData, + } = data; return { id, summary: `New item: ${fieldData?.slug ?? fieldData?.name ?? id}`, diff --git a/components/webflow_v2/sources/new-form-submission/new-form-submission.mjs b/components/webflow_v2/sources/new-form-submission/new-form-submission.mjs index 2ab9c60399212..157701c1aaffd 100644 --- a/components/webflow_v2/sources/new-form-submission/new-form-submission.mjs +++ b/components/webflow_v2/sources/new-form-submission/new-form-submission.mjs @@ -14,7 +14,9 @@ export default { return "form_submission"; }, generateMeta(data) { - const { name, id, submittedAt } = data; + const { + name, id, submittedAt, + } = data; return { id, summary: `Form submitted: ${name ?? id}`, diff --git a/components/webflow_v2/sources/new-site-published/new-site-published.mjs b/components/webflow_v2/sources/new-site-published/new-site-published.mjs index eb2a7c284192e..e2437f3e734f1 100644 --- a/components/webflow_v2/sources/new-site-published/new-site-published.mjs +++ b/components/webflow_v2/sources/new-site-published/new-site-published.mjs @@ -31,7 +31,9 @@ export default { getWebhookTriggerType() { return "site_publish"; }, - generateMeta({ siteId, publishedOn }) { + generateMeta({ + siteId, publishedOn, + }) { return { id: `${siteId}-${publishedOn}`, summary: `Site published: ${siteId}`, diff --git a/components/webflow_v2/webflow_v2.app.mjs b/components/webflow_v2/webflow_v2.app.mjs index ffb8c4f1f8453..98b253b007091 100644 --- a/components/webflow_v2/webflow_v2.app.mjs +++ b/components/webflow_v2/webflow_v2.app.mjs @@ -95,13 +95,13 @@ export default { }) { const response = await this.webflowClient().orders.list(siteId, { offset, - status + status, }); - return response?.orders; + return response?.orders; }, async listDomains(siteId) { - const response = await this.webflowClient().sites.getCustomDomain(siteId); - return response?.customDomains; + const response = await this.webflowClient().sites.getCustomDomain(siteId); + return response?.customDomains; }, getSite(siteId) { return this.webflowClient().sites.get(siteId); @@ -149,8 +149,8 @@ export default { }, publishSite(siteId, customDomains) { return this.webflowClient().sites.publish(siteId, { - customDomains - }) + customDomains, + }); }, fulfillOrder(siteId, orderId, data) { return this.webflowClient().orders.updateFulfill(siteId, orderId, data); @@ -163,6 +163,6 @@ export default { }, updateOrder(siteId, orderId, data) { return this.webflowClient().orders.update(siteId, orderId, data); - } + }, }, }; From 2ea44ee9a9083ab33f1339897f41a965ff406569 Mon Sep 17 00:00:00 2001 From: GTFalcao Date: Fri, 29 Nov 2024 15:59:01 -0300 Subject: [PATCH 20/24] Source adjustments --- .../changed-collection-item.mjs | 2 +- .../webflow_v2/sources/common/common.mjs | 11 ---- .../new-ecommerce-order.mjs | 58 +++---------------- pnpm-lock.yaml | 47 ++++++++++----- 4 files changed, 43 insertions(+), 75 deletions(-) diff --git a/components/webflow_v2/sources/changed-collection-item/changed-collection-item.mjs b/components/webflow_v2/sources/changed-collection-item/changed-collection-item.mjs index 29e13218ad56c..c988e96660653 100644 --- a/components/webflow_v2/sources/changed-collection-item/changed-collection-item.mjs +++ b/components/webflow_v2/sources/changed-collection-item/changed-collection-item.mjs @@ -1,4 +1,4 @@ -import common from "../common/collection-common.mjs"; +import common from "../common/common.mjs"; export default { type: "source", diff --git a/components/webflow_v2/sources/common/common.mjs b/components/webflow_v2/sources/common/common.mjs index 775aee230c16a..9cdfe371e5e6b 100644 --- a/components/webflow_v2/sources/common/common.mjs +++ b/components/webflow_v2/sources/common/common.mjs @@ -25,12 +25,6 @@ export default { getWebhookTriggerType() { throw new Error("getWebhookTriggerType is not implemented"); }, - getWebhookFilter() { - return {}; - }, - isEventRelevant(event) { - if (event) return true; - }, generateMeta(data) { return { id: data.id || uuid(), @@ -39,10 +33,6 @@ export default { }; }, processEvent(event) { - if (!this.isEventRelevant(event)) { - return; - } - const { body } = event; const meta = this.generateMeta(body); this.$emit(body, meta); @@ -59,7 +49,6 @@ export default { const webhook = await this.app.createWebhook(this.siteId, { url: this.http.endpoint, triggerType: this.getWebhookTriggerType(), - filter: this.getWebhookFilter(), }); this._setWebhookId(webhook?.id); diff --git a/components/webflow_v2/sources/new-ecommerce-order/new-ecommerce-order.mjs b/components/webflow_v2/sources/new-ecommerce-order/new-ecommerce-order.mjs index 206bf9d256a84..0c37bcf4f63f6 100644 --- a/components/webflow_v2/sources/new-ecommerce-order/new-ecommerce-order.mjs +++ b/components/webflow_v2/sources/new-ecommerce-order/new-ecommerce-order.mjs @@ -4,63 +4,21 @@ export default { type: "source", key: "webflow_v2-new-ecommerce-order", name: "New E-commerce Order", - description: "Emit new event when an e-commerce order is created. [See the docs here](https://developers.webflow.com/#order-model)", + description: + "Emit new event when an e-commerce order is created. [See the docs here](https://developers.webflow.com/#order-model)", version: "0.0.{{ts}}", ...common, - props: { - ...common.props, - historicalEventsNumber: { - type: "integer", - label: "Number of Historical Events to Emit", - description: "Defaults to `0`. Number of historical events to fetch and emit. Maximum is `100`.", - optional: true, - default: 0, - min: 0, - max: 100, - }, - emitMostRecent: { - type: "boolean", - label: "Emit Most Recent Events", - description: "Defaults to `false`. **Warning**: if `true`, will need to request all orders to extract the most recent ones.", - default: false, - }, - }, hooks: { ...common.hooks, async deploy() { - if (!this.historicalEventsNumber) { - return; - } - - const path = `/sites/${this.siteId}/orders`; + const { siteId } = this; console.log("Retrieving historical events..."); - if (!this.emitMostRecent) { - const events = await this._makeRequest(path, { - limit: this.historicalEventsNumber, - }); - this.emitHistoricalEvents(events); - return; - } - - let toEmit = []; - let events = []; - const params = { - offset: 0, - }; - - do { - events = await this._makeRequest(path, params); - - if (toEmit.push(...events) > 100) { - toEmit = toEmit.slice(toEmit.length - 100, toEmit.length); - } - - params.offset += 1; - } while (events.length > 0); - - toEmit.reverse(); - this.emitHistoricalEvents(toEmit, this.historicalEventsNumber); + const events = await this.app.listOrders({ + siteId, + limit: 10, + }); + this.emitHistoricalEvents(events); }, }, methods: { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7e96d1d061a6a..eef0fd4306d24 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1693,8 +1693,7 @@ importers: specifier: ^1.5.1 version: 1.6.6 - components/checkout_com: - specifiers: {} + components/checkout_com: {} components/checkvist: dependencies: @@ -11284,7 +11283,14 @@ importers: specifier: 1.3.1 version: 1.3.1 - components/webflow_v2: {} + components/webflow_v2: + dependencies: + '@pipedream/platform': + specifier: ^3.0.3 + version: 3.0.3 + webflow-api: + specifier: 2.4.2 + version: 2.4.2 components/webinarfuel: {} @@ -13393,12 +13399,12 @@ packages: '@dabh/diagnostics@2.0.3': resolution: {integrity: sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==} - '@definitelytyped/header-parser@0.2.15': - resolution: {integrity: sha512-SRUpmhQ7QZpsjLiA9SlwaD2Ct1xOc5Vt8cpZAqQ+P/puu4nNIsibCW87NKkyjCXG+MCUVFWEK7rVCTd12m2hTw==} + '@definitelytyped/header-parser@0.2.16': + resolution: {integrity: sha512-UFsgPft5bhZn07UNGz/9ck4AhdKgLFEOmi2DNr7gXcGL89zbe3u5oVafKUT8j1HOtSBjT8ZEQsXHKlbq+wwF/Q==} engines: {node: '>=18.18.0'} - '@definitelytyped/typescript-versions@0.1.5': - resolution: {integrity: sha512-XdLx3+S6zZCcG4jnG6Kqv/PlKBRTkz5M/xZUEEN9R2g6BlzbxyE+z5EzlezJqkUls53zjuOzgbkNNP4HQIfbJQ==} + '@definitelytyped/typescript-versions@0.1.6': + resolution: {integrity: sha512-gQpXFteIKrOw4ldmBZQfBrD3WobaIG1SwOr/3alXWkcYbkOWa2NRxQbiaYQ2IvYTGaZK26miJw0UOAFiuIs4gA==} engines: {node: '>=18.18.0'} '@definitelytyped/utils@0.1.8': @@ -23735,6 +23741,9 @@ packages: webflow-api@1.3.1: resolution: {integrity: sha512-ij/Y7t7VqeS2doOhHaCSToKkZeItFwkgCS003mqbG6d51eUmihcJ2ri4SOiR3zTxmUYZO+sg1sF+aAqsY7tgiA==} + webflow-api@2.4.2: + resolution: {integrity: sha512-+znE6V6E6YULwZIGIk8NLFZaimGFH7xVEAjCeivHz4gV13Zcg4FRXyhWxxTHnOYBwKjcjDoaWl8ZK1H9mUA5mQ==} + webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} @@ -26715,13 +26724,13 @@ snapshots: enabled: 2.0.0 kuler: 2.0.0 - '@definitelytyped/header-parser@0.2.15': + '@definitelytyped/header-parser@0.2.16': dependencies: - '@definitelytyped/typescript-versions': 0.1.5 + '@definitelytyped/typescript-versions': 0.1.6 '@definitelytyped/utils': 0.1.8 semver: 7.6.3 - '@definitelytyped/typescript-versions@0.1.5': {} + '@definitelytyped/typescript-versions@0.1.6': {} '@definitelytyped/utils@0.1.8': dependencies: @@ -32219,7 +32228,7 @@ snapshots: dts-critic@3.3.11(typescript@5.7.2): dependencies: - '@definitelytyped/header-parser': 0.2.15 + '@definitelytyped/header-parser': 0.2.16 command-exists: 1.2.9 rimraf: 3.0.2 semver: 6.3.1 @@ -32229,8 +32238,8 @@ snapshots: dtslint@4.2.1(typescript@5.7.2): dependencies: - '@definitelytyped/header-parser': 0.2.15 - '@definitelytyped/typescript-versions': 0.1.5 + '@definitelytyped/header-parser': 0.2.16 + '@definitelytyped/typescript-versions': 0.1.6 '@definitelytyped/utils': 0.1.8 dts-critic: 3.3.11(typescript@5.7.2) fs-extra: 6.0.1 @@ -39953,6 +39962,18 @@ snapshots: transitivePeerDependencies: - debug + webflow-api@2.4.2: + dependencies: + form-data: 4.0.1 + formdata-node: 6.0.3 + js-base64: 3.7.2 + node-fetch: 2.7.0 + qs: 6.11.2 + readable-stream: 4.5.2 + url-join: 4.0.1 + transitivePeerDependencies: + - encoding + webidl-conversions@3.0.1: {} webidl-conversions@4.0.2: {} From d527968e96cdb4beff31398127a94fc3c86f757b Mon Sep 17 00:00:00 2001 From: GTFalcao Date: Fri, 29 Nov 2024 16:25:45 -0300 Subject: [PATCH 21/24] Domain prop adjustments --- .../sources/new-site-published/new-site-published.mjs | 2 +- components/webflow_v2/webflow_v2.app.mjs | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/components/webflow_v2/sources/new-site-published/new-site-published.mjs b/components/webflow_v2/sources/new-site-published/new-site-published.mjs index e2437f3e734f1..d2f7dee3777cc 100644 --- a/components/webflow_v2/sources/new-site-published/new-site-published.mjs +++ b/components/webflow_v2/sources/new-site-published/new-site-published.mjs @@ -4,7 +4,7 @@ import common from "../common/common.mjs"; export default { type: "source", key: "webflow_v2-new-site-published", - name: "New Site Published", + name: "Site Published", description: "Emit new event when a site is published. [See the docs here](https://developers.webflow.com/#trigger-types)", version: "0.0.{{ts}}", ...common, diff --git a/components/webflow_v2/webflow_v2.app.mjs b/components/webflow_v2/webflow_v2.app.mjs index 98b253b007091..a0683c658dce7 100644 --- a/components/webflow_v2/webflow_v2.app.mjs +++ b/components/webflow_v2/webflow_v2.app.mjs @@ -6,13 +6,15 @@ export default { app: "webflow_v2", propDefinitions: { domains: { - label: "Domain", - description: "Select one or more domains, or provide custom domain IDs.", + label: "Custom Domains", + description: "Select one or more custom domains to publish.", type: "string[]", async options({ siteId }) { const domains = await this.listDomains(siteId); - - return domains.map((domain) => domain.name); + return domains.map((id, url) => ({ + label: url, + id, + })); }, }, sites: { From 96c1f3c5a4bbd2031f79652d4cb9a0b9a8030f82 Mon Sep 17 00:00:00 2001 From: GTFalcao Date: Fri, 29 Nov 2024 17:01:44 -0300 Subject: [PATCH 22/24] Adjusting webhook payload --- .../webflow_v2/sources/common/common.mjs | 6 +++--- .../new-site-published/new-site-published.mjs | 19 ------------------- 2 files changed, 3 insertions(+), 22 deletions(-) diff --git a/components/webflow_v2/sources/common/common.mjs b/components/webflow_v2/sources/common/common.mjs index 9cdfe371e5e6b..c5d08ccdce861 100644 --- a/components/webflow_v2/sources/common/common.mjs +++ b/components/webflow_v2/sources/common/common.mjs @@ -33,9 +33,9 @@ export default { }; }, processEvent(event) { - const { body } = event; - const meta = this.generateMeta(body); - this.$emit(body, meta); + const { body: { payload } } = event; + const meta = this.generateMeta(payload); + this.$emit(payload, meta); }, emitHistoricalEvents(events, limit = constants.DEPLOY_OFFSET) { for (const event of events.slice(0, limit)) { diff --git a/components/webflow_v2/sources/new-site-published/new-site-published.mjs b/components/webflow_v2/sources/new-site-published/new-site-published.mjs index d2f7dee3777cc..6157f9787cff8 100644 --- a/components/webflow_v2/sources/new-site-published/new-site-published.mjs +++ b/components/webflow_v2/sources/new-site-published/new-site-published.mjs @@ -1,4 +1,3 @@ -import constants from "../../common/constants.mjs"; import common from "../common/common.mjs"; export default { @@ -8,24 +7,6 @@ export default { description: "Emit new event when a site is published. [See the docs here](https://developers.webflow.com/#trigger-types)", version: "0.0.{{ts}}", ...common, - hooks: { - ...common.hooks, - async deploy() { - console.log("Retrieving historical events..."); - - const sites = await this.app.listSites(); - const filtered = sites.filter((site) => site.lastPublished); - const sliced = filtered.slice( - filtered.length - constants.DEPLOY_OFFSET, - constants.DEPLOY_OFFSET, - ); - const sorted = sliced.sort((a, b) => Date.parse(a.lastPublished) > Date.parse(b.lastPublished) - ? -1 - : 1); - - this.emitHistoricalEvents(sorted); - }, - }, methods: { ...common.methods, getWebhookTriggerType() { From 3c6e0fe7438e453c585ebec19197ee7b4427b6ec Mon Sep 17 00:00:00 2001 From: GTFalcao Date: Fri, 29 Nov 2024 17:46:03 -0300 Subject: [PATCH 23/24] Create/Update item adjustments --- .../create-collection-item/create-collection-item.mjs | 4 ++-- .../update-collection-item/update-collection-item.mjs | 9 +++++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/components/webflow_v2/actions/create-collection-item/create-collection-item.mjs b/components/webflow_v2/actions/create-collection-item/create-collection-item.mjs index f8b607a676c52..6e58bd8a97016 100644 --- a/components/webflow_v2/actions/create-collection-item/create-collection-item.mjs +++ b/components/webflow_v2/actions/create-collection-item/create-collection-item.mjs @@ -32,7 +32,7 @@ export default { } const { fields } = await this.app.getCollection(this.collectionId); for (const field of fields) { - if (field.editable && field.slug !== "isArchived" && field.slug !== "isDraft") { + if (field.isEditable && field.slug !== "isArchived" && field.slug !== "isDraft") { props[field.slug] = { type: "string", label: field.name, @@ -41,7 +41,7 @@ export default { : field.slug === "slug" ? "URL structure of the Item in your site." : "See the documentation for additional information about [Field Types & Item Values](https://developers.webflow.com/reference/field-types-item-values).", - optional: !field.required, + optional: !field.isRequired, }; } } diff --git a/components/webflow_v2/actions/update-collection-item/update-collection-item.mjs b/components/webflow_v2/actions/update-collection-item/update-collection-item.mjs index 0b2f63f0714f7..ab1598ff4a1f0 100644 --- a/components/webflow_v2/actions/update-collection-item/update-collection-item.mjs +++ b/components/webflow_v2/actions/update-collection-item/update-collection-item.mjs @@ -23,7 +23,6 @@ export default { siteId: c.siteId, }), ], - reloadProps: true, }, itemId: { propDefinition: [ @@ -33,6 +32,7 @@ export default { collectionId: c.collectionId, }), ], + reloadProps: true, }, }, async additionalProps() { @@ -43,7 +43,7 @@ export default { const { fields } = await this.app.getCollection(this.collectionId); for (const field of fields) { if ( - field.editable && + field.isEditable && field.slug !== "isArchived" && field.slug !== "isDraft" ) { @@ -78,12 +78,13 @@ export default { const item = await app.getCollectionItem(collectionId, itemId); const response = await app.updateCollectionItem(collectionId, itemId, { + id: itemId, isArchived: false, isDraft: false, fieldData: { ...customFields, - name: name || item.name, - slug: slug || item.slug, + name: name || item.fieldData.name, + slug: slug || item.fieldData.slug, }, }); From c5201caf0ab691ecb172d64e6c714af1f48ec022 Mon Sep 17 00:00:00 2001 From: GTFalcao Date: Mon, 2 Dec 2024 00:59:56 -0300 Subject: [PATCH 24/24] Version number updates --- .../actions/create-collection-item/create-collection-item.mjs | 2 +- .../actions/delete-collection-item/delete-collection-item.mjs | 2 +- components/webflow_v2/actions/fulfill-order/fulfill-order.mjs | 2 +- .../actions/get-collection-item/get-collection-item.mjs | 2 +- components/webflow_v2/actions/get-collection/get-collection.mjs | 2 +- .../actions/get-item-inventory/get-item-inventory.mjs | 2 +- components/webflow_v2/actions/get-order/get-order.mjs | 2 +- components/webflow_v2/actions/get-site/get-site.mjs | 2 +- .../actions/list-collection-items/list-collection-items.mjs | 2 +- .../webflow_v2/actions/list-collections/list-collections.mjs | 2 +- components/webflow_v2/actions/list-orders/list-orders.mjs | 2 +- components/webflow_v2/actions/list-sites/list-sites.mjs | 2 +- components/webflow_v2/actions/publish-site/publish-site.mjs | 2 +- components/webflow_v2/actions/refund-order/refund-order.mjs | 2 +- .../webflow_v2/actions/unfulfill-order/unfulfill-order.mjs | 2 +- .../actions/update-collection-item/update-collection-item.mjs | 2 +- components/webflow_v2/actions/update-order/update-order.mjs | 2 +- .../sources/changed-collection-item/changed-collection-item.mjs | 2 +- .../changed-ecommerce-inventory/changed-ecommerce-inventory.mjs | 2 +- .../sources/changed-ecommerce-order/changed-ecommerce-order.mjs | 2 +- .../sources/new-collection-item/new-collection-item.mjs | 2 +- .../new-deleted-collection-item/new-deleted-collection-item.mjs | 2 +- .../sources/new-ecommerce-order/new-ecommerce-order.mjs | 2 +- .../sources/new-form-submission/new-form-submission.mjs | 2 +- .../sources/new-site-published/new-site-published.mjs | 2 +- 25 files changed, 25 insertions(+), 25 deletions(-) diff --git a/components/webflow_v2/actions/create-collection-item/create-collection-item.mjs b/components/webflow_v2/actions/create-collection-item/create-collection-item.mjs index 6e58bd8a97016..b9d091eb708e8 100644 --- a/components/webflow_v2/actions/create-collection-item/create-collection-item.mjs +++ b/components/webflow_v2/actions/create-collection-item/create-collection-item.mjs @@ -4,7 +4,7 @@ export default { key: "webflow_v2-create-collection-item", name: "Create Collection Item", description: "Create new collection item. [See the docs here](https://developers.webflow.com/#create-new-collection-item)", - version: "0.0.{{ts}}", + version: "0.0.1", type: "action", props: { app, diff --git a/components/webflow_v2/actions/delete-collection-item/delete-collection-item.mjs b/components/webflow_v2/actions/delete-collection-item/delete-collection-item.mjs index eca1f03bb2cc7..be0d12f906afa 100644 --- a/components/webflow_v2/actions/delete-collection-item/delete-collection-item.mjs +++ b/components/webflow_v2/actions/delete-collection-item/delete-collection-item.mjs @@ -4,7 +4,7 @@ export default { key: "webflow_v2-delete-collection-item", name: "Delete Collection Item", description: "Delete Item of a Collection. [See the docs here](https://developers.webflow.com/#remove-collection-item)", - version: "0.0.{{ts}}", + version: "0.0.1", type: "action", props: { app, diff --git a/components/webflow_v2/actions/fulfill-order/fulfill-order.mjs b/components/webflow_v2/actions/fulfill-order/fulfill-order.mjs index aa1cea5a5341f..036cf7e9fde82 100644 --- a/components/webflow_v2/actions/fulfill-order/fulfill-order.mjs +++ b/components/webflow_v2/actions/fulfill-order/fulfill-order.mjs @@ -4,7 +4,7 @@ export default { key: "webflow_v2-fulfill-order", name: "Fulfill Order", description: "Fulfill an order. [See the docs here](https://developers.webflow.com/#fulfill-order)", - version: "0.0.{{ts}}", + version: "0.0.1", type: "action", props: { app, diff --git a/components/webflow_v2/actions/get-collection-item/get-collection-item.mjs b/components/webflow_v2/actions/get-collection-item/get-collection-item.mjs index 785a507fbd98a..7d687378800b4 100644 --- a/components/webflow_v2/actions/get-collection-item/get-collection-item.mjs +++ b/components/webflow_v2/actions/get-collection-item/get-collection-item.mjs @@ -4,7 +4,7 @@ export default { key: "webflow_v2-get-collection-item", name: "Get Collection Item", description: "Get a Collection Item. [See the docs here](https://developers.webflow.com/#get-single-item)", - version: "0.0.{{ts}}", + version: "0.0.1", type: "action", props: { app, diff --git a/components/webflow_v2/actions/get-collection/get-collection.mjs b/components/webflow_v2/actions/get-collection/get-collection.mjs index 01060747e5236..ad69e2dc63b75 100644 --- a/components/webflow_v2/actions/get-collection/get-collection.mjs +++ b/components/webflow_v2/actions/get-collection/get-collection.mjs @@ -4,7 +4,7 @@ export default { key: "webflow_v2-get-collection", name: "Get Collection", description: "Get a collection. [See the docs here](https://developers.webflow.com/#get-collection-with-full-schema)", - version: "0.0.{{ts}}", + version: "0.0.1", type: "action", props: { app, diff --git a/components/webflow_v2/actions/get-item-inventory/get-item-inventory.mjs b/components/webflow_v2/actions/get-item-inventory/get-item-inventory.mjs index 758f02aeeb9c7..85538cbb6b318 100644 --- a/components/webflow_v2/actions/get-item-inventory/get-item-inventory.mjs +++ b/components/webflow_v2/actions/get-item-inventory/get-item-inventory.mjs @@ -4,7 +4,7 @@ export default { key: "webflow_v2-get-item-inventory", name: "Get Item Inventory", description: "Get the inventory of a specific item. [See the docs here](https://developers.webflow.com/#item-inventory)", - version: "0.0.{{ts}}", + version: "0.0.1", type: "action", props: { app, diff --git a/components/webflow_v2/actions/get-order/get-order.mjs b/components/webflow_v2/actions/get-order/get-order.mjs index d98f3efda1cb1..fa8aa041b7970 100644 --- a/components/webflow_v2/actions/get-order/get-order.mjs +++ b/components/webflow_v2/actions/get-order/get-order.mjs @@ -4,7 +4,7 @@ export default { key: "webflow_v2-get-order", name: "Get Order", description: "Get info on an order. [See the docs here](https://developers.webflow.com/#get-order)", - version: "0.0.{{ts}}", + version: "0.0.1", type: "action", props: { app, diff --git a/components/webflow_v2/actions/get-site/get-site.mjs b/components/webflow_v2/actions/get-site/get-site.mjs index b7a742f03851e..ddcfeaff96918 100644 --- a/components/webflow_v2/actions/get-site/get-site.mjs +++ b/components/webflow_v2/actions/get-site/get-site.mjs @@ -4,7 +4,7 @@ export default { key: "webflow_v2-get-site", name: "Get Site", description: "Get a site. [See the docs here](https://developers.webflow.com/#get-specific-site)", - version: "0.0.{{ts}}", + version: "0.0.1", type: "action", props: { app, diff --git a/components/webflow_v2/actions/list-collection-items/list-collection-items.mjs b/components/webflow_v2/actions/list-collection-items/list-collection-items.mjs index b85b4d45af2f7..7801319f5dcc9 100644 --- a/components/webflow_v2/actions/list-collection-items/list-collection-items.mjs +++ b/components/webflow_v2/actions/list-collection-items/list-collection-items.mjs @@ -4,7 +4,7 @@ export default { key: "webflow_v2-list-collection-items", name: "List Collection Items", description: "List Items of a collection. [See the docs here](https://developers.webflow.com/#get-all-items-for-a-collection)", - version: "0.0.{{ts}}", + version: "0.0.1", type: "action", props: { app, diff --git a/components/webflow_v2/actions/list-collections/list-collections.mjs b/components/webflow_v2/actions/list-collections/list-collections.mjs index 5c00da766f844..3cc625e8fd03d 100644 --- a/components/webflow_v2/actions/list-collections/list-collections.mjs +++ b/components/webflow_v2/actions/list-collections/list-collections.mjs @@ -4,7 +4,7 @@ export default { key: "webflow_v2-list-collections", name: "List Collections", description: "List collections. [See the docs here](https://developers.webflow.com/#list-collections)", - version: "0.0.{{ts}}", + version: "0.0.1", type: "action", props: { app, diff --git a/components/webflow_v2/actions/list-orders/list-orders.mjs b/components/webflow_v2/actions/list-orders/list-orders.mjs index d1c8114c24bb4..4768ee641b631 100644 --- a/components/webflow_v2/actions/list-orders/list-orders.mjs +++ b/components/webflow_v2/actions/list-orders/list-orders.mjs @@ -5,7 +5,7 @@ export default { key: "webflow_v2-list-orders", name: "List Orders", description: "List orders. [See the docs here](https://developers.webflow.com/#get-all-orders)", - version: "0.0.{{ts}}", + version: "0.0.1", type: "action", props: { app, diff --git a/components/webflow_v2/actions/list-sites/list-sites.mjs b/components/webflow_v2/actions/list-sites/list-sites.mjs index 5a63e1ec53144..c14fbb796c54d 100644 --- a/components/webflow_v2/actions/list-sites/list-sites.mjs +++ b/components/webflow_v2/actions/list-sites/list-sites.mjs @@ -4,7 +4,7 @@ export default { key: "webflow_v2-list-sites", name: "List Sites", description: "List sites. [See the docs here](https://developers.webflow.com/#list-sites)", - version: "0.0.{{ts}}", + version: "0.0.1", type: "action", props: { app, diff --git a/components/webflow_v2/actions/publish-site/publish-site.mjs b/components/webflow_v2/actions/publish-site/publish-site.mjs index cbdae23d9f3e2..9b252874b3678 100644 --- a/components/webflow_v2/actions/publish-site/publish-site.mjs +++ b/components/webflow_v2/actions/publish-site/publish-site.mjs @@ -4,7 +4,7 @@ export default { key: "webflow_v2-publish-site", name: "Publish Site", description: "Publish a site. [See the docs here](https://developers.webflow.com/#publish-site)", - version: "0.0.{{ts}}", + version: "0.0.1", type: "action", props: { app, diff --git a/components/webflow_v2/actions/refund-order/refund-order.mjs b/components/webflow_v2/actions/refund-order/refund-order.mjs index a40c07f76f1fe..4a63293db6cc1 100644 --- a/components/webflow_v2/actions/refund-order/refund-order.mjs +++ b/components/webflow_v2/actions/refund-order/refund-order.mjs @@ -4,7 +4,7 @@ export default { key: "webflow_v2-refund-order", name: "Refund Order", description: "Refund an order. [See the docs here](https://developers.webflow.com/#refund-order)", - version: "0.0.{{ts}}", + version: "0.0.1", type: "action", props: { app, diff --git a/components/webflow_v2/actions/unfulfill-order/unfulfill-order.mjs b/components/webflow_v2/actions/unfulfill-order/unfulfill-order.mjs index dbeb433d0ec04..e8f649395edd4 100644 --- a/components/webflow_v2/actions/unfulfill-order/unfulfill-order.mjs +++ b/components/webflow_v2/actions/unfulfill-order/unfulfill-order.mjs @@ -4,7 +4,7 @@ export default { key: "webflow_v2-unfulfill-order", name: "Unfulfill Order", description: "Unfulfill an order. [See the docs here](https://developers.webflow.com/#unfulfill-order)", - version: "0.0.{{ts}}", + version: "0.0.1", type: "action", props: { app, diff --git a/components/webflow_v2/actions/update-collection-item/update-collection-item.mjs b/components/webflow_v2/actions/update-collection-item/update-collection-item.mjs index ab1598ff4a1f0..bc4d0cbb75575 100644 --- a/components/webflow_v2/actions/update-collection-item/update-collection-item.mjs +++ b/components/webflow_v2/actions/update-collection-item/update-collection-item.mjs @@ -5,7 +5,7 @@ export default { name: "Update Collection Item", description: "Update collection item. [See the documentation](https://developers.webflow.com/#update-collection-item)", - version: "0.0.{{ts}}", + version: "0.0.1", type: "action", props: { app, diff --git a/components/webflow_v2/actions/update-order/update-order.mjs b/components/webflow_v2/actions/update-order/update-order.mjs index fbab9bd41dcb7..ddb3f0d44e350 100644 --- a/components/webflow_v2/actions/update-order/update-order.mjs +++ b/components/webflow_v2/actions/update-order/update-order.mjs @@ -4,7 +4,7 @@ export default { key: "webflow_v2-update-order", name: "Update Order", description: "Update an order. [See the docs here](https://developers.webflow.com/#update-order)", - version: "0.0.{{ts}}", + version: "0.0.1", type: "action", props: { app, diff --git a/components/webflow_v2/sources/changed-collection-item/changed-collection-item.mjs b/components/webflow_v2/sources/changed-collection-item/changed-collection-item.mjs index c988e96660653..1464dce2ba8b6 100644 --- a/components/webflow_v2/sources/changed-collection-item/changed-collection-item.mjs +++ b/components/webflow_v2/sources/changed-collection-item/changed-collection-item.mjs @@ -5,7 +5,7 @@ export default { key: "webflow_v2-changed-collection-item", name: "Collection Item Updated", description: "Emit new event when a collection item is changed. [See the docs here](https://developers.webflow.com/#model16)", - version: "0.0.{{ts}}", + version: "0.0.1", ...common, methods: { ...common.methods, diff --git a/components/webflow_v2/sources/changed-ecommerce-inventory/changed-ecommerce-inventory.mjs b/components/webflow_v2/sources/changed-ecommerce-inventory/changed-ecommerce-inventory.mjs index 867396a5f6cc2..155e43314e540 100644 --- a/components/webflow_v2/sources/changed-ecommerce-inventory/changed-ecommerce-inventory.mjs +++ b/components/webflow_v2/sources/changed-ecommerce-inventory/changed-ecommerce-inventory.mjs @@ -5,7 +5,7 @@ export default { key: "webflow_v2-changed-ecommerce-inventory", name: "E-commerce Inventory Updated", description: "Emit new event when an e-commerce inventory level changes. [See the docs here](https://developers.webflow.com/#item-inventory)", - version: "0.0.{{ts}}", + version: "0.0.1", ...common, methods: { ...common.methods, diff --git a/components/webflow_v2/sources/changed-ecommerce-order/changed-ecommerce-order.mjs b/components/webflow_v2/sources/changed-ecommerce-order/changed-ecommerce-order.mjs index fcaaba37275b8..19833b42f3002 100644 --- a/components/webflow_v2/sources/changed-ecommerce-order/changed-ecommerce-order.mjs +++ b/components/webflow_v2/sources/changed-ecommerce-order/changed-ecommerce-order.mjs @@ -5,7 +5,7 @@ export default { key: "webflow_v2-changed-ecommerce-order", name: "E-commerce Order Updated", description: "Emit new event when an e-commerce order is changed. [See the docs here](https://developers.webflow.com/#order-model)", - version: "0.0.{{ts}}", + version: "0.0.1", ...common, methods: { ...common.methods, diff --git a/components/webflow_v2/sources/new-collection-item/new-collection-item.mjs b/components/webflow_v2/sources/new-collection-item/new-collection-item.mjs index f2c8bdc788507..463871690e238 100644 --- a/components/webflow_v2/sources/new-collection-item/new-collection-item.mjs +++ b/components/webflow_v2/sources/new-collection-item/new-collection-item.mjs @@ -5,7 +5,7 @@ export default { key: "webflow_v2-new-collection-item", name: "New Collection Item Created", description: "Emit new event when a collection item is created. [See the docs here](https://developers.webflow.com/#item-model)", - version: "0.0.{{ts}}", + version: "0.0.1", ...common, methods: { ...common.methods, diff --git a/components/webflow_v2/sources/new-deleted-collection-item/new-deleted-collection-item.mjs b/components/webflow_v2/sources/new-deleted-collection-item/new-deleted-collection-item.mjs index f1a5b0518f410..4c0463ff7bafe 100644 --- a/components/webflow_v2/sources/new-deleted-collection-item/new-deleted-collection-item.mjs +++ b/components/webflow_v2/sources/new-deleted-collection-item/new-deleted-collection-item.mjs @@ -5,7 +5,7 @@ export default { key: "webflow_v2-new-deleted-collection-item", name: "Collection Item Deleted", description: "Emit new event when a collection item is deleted. [See the docs here](https://developers.webflow.com/#item-model)", - version: "0.0.{{ts}}", + version: "0.0.1", ...common, methods: { ...common.methods, diff --git a/components/webflow_v2/sources/new-ecommerce-order/new-ecommerce-order.mjs b/components/webflow_v2/sources/new-ecommerce-order/new-ecommerce-order.mjs index 0c37bcf4f63f6..9b1c8adb29ec8 100644 --- a/components/webflow_v2/sources/new-ecommerce-order/new-ecommerce-order.mjs +++ b/components/webflow_v2/sources/new-ecommerce-order/new-ecommerce-order.mjs @@ -6,7 +6,7 @@ export default { name: "New E-commerce Order", description: "Emit new event when an e-commerce order is created. [See the docs here](https://developers.webflow.com/#order-model)", - version: "0.0.{{ts}}", + version: "0.0.1", ...common, hooks: { ...common.hooks, diff --git a/components/webflow_v2/sources/new-form-submission/new-form-submission.mjs b/components/webflow_v2/sources/new-form-submission/new-form-submission.mjs index 157701c1aaffd..461a0411ad526 100644 --- a/components/webflow_v2/sources/new-form-submission/new-form-submission.mjs +++ b/components/webflow_v2/sources/new-form-submission/new-form-submission.mjs @@ -6,7 +6,7 @@ export default { key: "webflow_v2-new-form-submission", name: "New Form Submission", description: "Emit new event when a form is submitted. [See the docs here](https://developers.webflow.com/#trigger-types)", - version: "0.0.{{ts}}", + version: "0.0.1", ...common, methods: { ...common.methods, diff --git a/components/webflow_v2/sources/new-site-published/new-site-published.mjs b/components/webflow_v2/sources/new-site-published/new-site-published.mjs index 6157f9787cff8..a1f1e5aaee9a8 100644 --- a/components/webflow_v2/sources/new-site-published/new-site-published.mjs +++ b/components/webflow_v2/sources/new-site-published/new-site-published.mjs @@ -5,7 +5,7 @@ export default { key: "webflow_v2-new-site-published", name: "Site Published", description: "Emit new event when a site is published. [See the docs here](https://developers.webflow.com/#trigger-types)", - version: "0.0.{{ts}}", + version: "0.0.1", ...common, methods: { ...common.methods,