webflow-api 1.1.1 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/README.md +12 -1
  2. package/dist/api/collection.d.ts +85 -24
  3. package/dist/api/collection.js +88 -29
  4. package/dist/api/index.d.ts +7 -7
  5. package/dist/api/index.js +9 -19
  6. package/dist/api/item.d.ts +141 -107
  7. package/dist/api/item.js +145 -125
  8. package/dist/api/meta.d.ts +16 -14
  9. package/dist/api/meta.js +20 -19
  10. package/dist/api/oauth.d.ts +38 -36
  11. package/dist/api/oauth.js +59 -59
  12. package/dist/api/site.d.ts +118 -43
  13. package/dist/api/site.js +131 -53
  14. package/dist/{wrapper/membership.d.ts → api/user.d.ts} +59 -33
  15. package/dist/api/user.js +103 -0
  16. package/dist/api/webhook.d.ts +77 -55
  17. package/dist/api/webhook.js +74 -61
  18. package/dist/core/error.d.ts +2 -0
  19. package/dist/core/error.js +8 -1
  20. package/dist/core/index.d.ts +2 -2
  21. package/dist/core/index.js +2 -2
  22. package/dist/core/response.d.ts +32 -0
  23. package/dist/core/response.js +26 -0
  24. package/dist/{webflow.d.ts → core/webflow.d.ts} +57 -52
  25. package/dist/{webflow.js → core/webflow.js} +102 -61
  26. package/dist/index.d.ts +1 -1
  27. package/dist/index.js +2 -2
  28. package/package.json +2 -4
  29. package/src/api/collection.ts +102 -35
  30. package/src/api/index.ts +7 -7
  31. package/src/api/item.ts +207 -176
  32. package/src/api/meta.ts +19 -18
  33. package/src/api/oauth.ts +62 -74
  34. package/src/api/site.ts +158 -55
  35. package/src/api/user.ts +152 -0
  36. package/src/api/webhook.ts +97 -80
  37. package/src/core/error.ts +8 -0
  38. package/src/core/index.ts +2 -2
  39. package/src/core/response.ts +50 -0
  40. package/src/{webflow.ts → core/webflow.ts} +132 -137
  41. package/src/index.ts +1 -1
  42. package/yarn.lock +0 -5
  43. package/dist/api/membership.d.ts +0 -91
  44. package/dist/api/membership.js +0 -80
  45. package/dist/core/client.d.ts +0 -40
  46. package/dist/core/client.js +0 -49
  47. package/dist/core/options.d.ts +0 -8
  48. package/dist/core/options.js +0 -5
  49. package/dist/wrapper/collection.d.ts +0 -85
  50. package/dist/wrapper/collection.js +0 -94
  51. package/dist/wrapper/index.d.ts +0 -6
  52. package/dist/wrapper/index.js +0 -22
  53. package/dist/wrapper/item.d.ts +0 -140
  54. package/dist/wrapper/item.js +0 -153
  55. package/dist/wrapper/membership.js +0 -106
  56. package/dist/wrapper/response.d.ts +0 -16
  57. package/dist/wrapper/response.js +0 -17
  58. package/dist/wrapper/site.d.ts +0 -119
  59. package/dist/wrapper/site.js +0 -136
  60. package/dist/wrapper/webhook.d.ts +0 -78
  61. package/dist/wrapper/webhook.js +0 -82
  62. package/src/api/membership.ts +0 -125
  63. package/src/core/client.ts +0 -76
  64. package/src/core/options.ts +0 -9
  65. package/src/wrapper/collection.ts +0 -115
  66. package/src/wrapper/index.ts +0 -6
  67. package/src/wrapper/item.ts +0 -218
  68. package/src/wrapper/membership.ts +0 -138
  69. package/src/wrapper/response.ts +0 -25
  70. package/src/wrapper/site.ts +0 -164
  71. package/src/wrapper/webhook.ts +0 -116
@@ -1,164 +0,0 @@
1
- import {
2
- CreateWebhookParams,
3
- CollectionWrapper,
4
- ResponseWrapper,
5
- WebhookWrapper,
6
- } from ".";
7
- import { Client, QueryString } from "../core";
8
- import { Site } from "../api";
9
-
10
- export class SiteWrapper implements Site.ISite {
11
- lastPublished: string;
12
- previewUrl: string;
13
- createdOn: string;
14
- shortName: string;
15
- timezone: string;
16
- database: string;
17
- name: string;
18
- _id: string;
19
-
20
- constructor(private client: Client, site: Site.ISite) {
21
- Object.assign(this, site);
22
- }
23
-
24
- /**************************************************************
25
- * Static Methods
26
- **************************************************************/
27
-
28
- /**
29
- * Get a single Site
30
- * @param client The Webflow client
31
- * @param params The Site information
32
- * @param params.siteId The Site ID
33
- * @returns The Site
34
- */
35
- static async getOne(client: Client, { siteId }: { siteId: string }) {
36
- const res = await Site.getOne(client, { siteId });
37
- const site = new SiteWrapper(client, res.data);
38
- return ResponseWrapper<typeof site>(res, site);
39
- }
40
-
41
- /**
42
- * Get a list of Sites available
43
- * @param client The Webflow client
44
- * @param params The query parameters (optional)
45
- * @returns A list of Sites
46
- */
47
- static async list(client: Client, params?: QueryString) {
48
- const res = await Site.list(client, params);
49
- const sites = res.data.map((s) => new SiteWrapper(client, s));
50
- return ResponseWrapper<typeof sites>(res, sites);
51
- }
52
-
53
- /**
54
- * Get a list of Domains for a Site
55
- * @param client The Webflow client
56
- * @param params The Site information
57
- * @param params.siteId The Site ID
58
- * @returns A list of Domains
59
- */
60
- static async domains(client: Client, { siteId }: { siteId: string }) {
61
- const res = await Site.domains(client, { siteId });
62
- return ResponseWrapper<typeof res.data>(res, res.data);
63
- }
64
-
65
- /**
66
- * Publish a Site
67
- * @param client The Webflow client
68
- * @param params The Site information
69
- * @param params.siteId The Site ID
70
- * @param params.domain The domains to publish
71
- * @returns The result of the publish
72
- */
73
- static async publish(
74
- client: Client,
75
- { siteId, domains }: { siteId: string; domains: string[] }
76
- ) {
77
- const res = await Site.publish(client, { siteId, domains });
78
- return ResponseWrapper<typeof res.data>(res);
79
- }
80
-
81
- /**************************************************************
82
- * Instance Methods
83
- **************************************************************/
84
-
85
- /**
86
- * Get a list of domains for a site
87
- * @returns A list of domains
88
- */
89
- async domains() {
90
- const res = await Site.domains(this.client, { siteId: this._id });
91
- return ResponseWrapper<typeof res.data>(res);
92
- }
93
-
94
- /**
95
- * Publish a site
96
- * @param domains The domains to publish to
97
- * @returns The publish result
98
- */
99
- async publishSite(domains: string[]) {
100
- const res = await Site.publish(this.client, { siteId: this._id, domains });
101
- return ResponseWrapper<typeof res.data>(res);
102
- }
103
-
104
- /**
105
- * Get a single Collection
106
- * @param params The params for the request
107
- * @param params.collectionId The collection ID
108
- * @returns A single Collection
109
- */
110
- async collection({ collectionId }: { collectionId: string }) {
111
- return CollectionWrapper.getOne(this.client, { collectionId });
112
- }
113
-
114
- /**
115
- * Get a list of Collections
116
- * @returns A list of Collections
117
- */
118
- async collections() {
119
- return CollectionWrapper.list(this.client, { siteId: this._id });
120
- }
121
-
122
- /**
123
- * Get a single Webhook
124
- * @param params The params for the request
125
- * @param params.webhookId The webhook ID
126
- * @returns A single Webhook
127
- */
128
- async webhook({ webhookId }: { webhookId: string }) {
129
- return WebhookWrapper.getOne(this.client, { siteId: this._id, webhookId });
130
- }
131
-
132
- /**
133
- * Get a list of Webhooks
134
- * @param params The query string parameters (optional)
135
- * @returns A list of Webhooks
136
- */
137
- async webhooks(params?: QueryString) {
138
- return WebhookWrapper.list(this.client, { siteId: this._id }, params);
139
- }
140
-
141
- /**
142
- * Remove a Webhook
143
- * @param params The query string parameters (optional)
144
- * @param params.webhookId The Webhook ID
145
- * @returns The result of the removal
146
- */
147
- async removeWebhook({ webhookId }: { webhookId: string }) {
148
- return WebhookWrapper.remove(this.client, { siteId: this._id, webhookId });
149
- }
150
-
151
- /**
152
- * Create a new Webhook
153
- * @param params1 The params for the request
154
- * @param params1.url The URL to send the webhook to
155
- * @param params1.triggerType The event to trigger the webhook
156
- * @param params1.filter The filter to apply to the webhook (optional: form_submission only)
157
- * @param params The query string parameters (optional)
158
- * @returns The created webhook
159
- */
160
- async createWebhook({ triggerType, filter, url }: CreateWebhookParams) {
161
- const _params = { url, siteId: this._id, triggerType, filter };
162
- return WebhookWrapper.create(this.client, _params);
163
- }
164
- }
@@ -1,116 +0,0 @@
1
- import { ResponseWrapper } from ".";
2
- import { Client, QueryString } from "../core";
3
- import { Webhook } from "../api";
4
-
5
- export type CreateWebhookParams = {
6
- url: string;
7
- siteId: string;
8
- triggerType: string;
9
- filter?: Webhook.Filter;
10
- };
11
-
12
- export class WebhookWrapper implements Webhook.IWebhook {
13
- triggerType: Webhook.TriggerType;
14
- triggerId: string;
15
- createdOn: string;
16
- lastUsed?: string;
17
- site: string;
18
- _id: string;
19
- filter?: {
20
- name: string;
21
- };
22
-
23
- constructor(private client: Client, webhook: Webhook.IWebhook) {
24
- Object.assign(this, webhook);
25
- }
26
-
27
- /**************************************************************
28
- * Static Methods
29
- **************************************************************/
30
-
31
- /**
32
- * Get a Webhook
33
- * @param client The Webflow client
34
- * @param params The Webhook params
35
- * @param params.siteId The Site ID
36
- * @param params.webhookId The Webhook ID
37
- * @returns The Webhook
38
- */
39
- static async getOne(
40
- client: Client,
41
- { siteId, webhookId }: { siteId: string; webhookId: string }
42
- ) {
43
- const res = await Webhook.getOne(client, { siteId, webhookId });
44
- const webhook = new WebhookWrapper(client, res.data);
45
- return ResponseWrapper<typeof webhook>(res, webhook);
46
- }
47
-
48
- /**
49
- * List Webhooks
50
- * @param client The Webflow client
51
- * @param param1 The Webhook params
52
- * @param param1.siteId The Site ID
53
- * @param params Query string params (optional)
54
- * @returns A list of Webhooks
55
- */
56
- static async list(
57
- client: Client,
58
- { siteId }: { siteId: string },
59
- params?: QueryString
60
- ) {
61
- const res = await Webhook.list(client, { siteId }, params);
62
- const webhooks = res.data.map((w) => new WebhookWrapper(client, w));
63
- return ResponseWrapper<typeof webhooks>(res, webhooks);
64
- }
65
-
66
- /**
67
- * Remove a Webhook
68
- * @param client The Webflow client
69
- * @param params The Webhook params
70
- * @param params.siteId The Site ID
71
- * @param params.webhookId The Webhook ID
72
- * @returns The result of the removal
73
- */
74
- static async remove(
75
- client: Client,
76
- { siteId, webhookId }: { siteId: string; webhookId: string }
77
- ) {
78
- const res = await Webhook.remove(client, { siteId, webhookId });
79
- return ResponseWrapper<typeof res.data>(res);
80
- }
81
-
82
- /**
83
- * Create a Webhook
84
- * @param client The Webflow client
85
- * @param param1 The Webhook params
86
- * @param param1.siteId The Site ID
87
- * @param param1.url The URL to send the Webhook to
88
- * @param param1.triggerType The event to trigger the Webhook
89
- * @param param1.filter The filter to use (optional: form_submission only)
90
- * @returns The created Webhook
91
- */
92
- static async create(
93
- client: Client,
94
- { triggerType, siteId, filter, url }: CreateWebhookParams
95
- ) {
96
- const args = { triggerType, siteId, filter, url };
97
- const res = await Webhook.create(client, args);
98
- const _webhook = new WebhookWrapper(client, res.data);
99
- return ResponseWrapper<typeof _webhook>(res, _webhook);
100
- }
101
-
102
- /**************************************************************
103
- * Instance Methods
104
- **************************************************************/
105
-
106
- /**
107
- * Remove a Webhook
108
- * @returns The result of the removal
109
- */
110
- async remove() {
111
- return WebhookWrapper.remove(this.client, {
112
- webhookId: this._id,
113
- siteId: this.site,
114
- });
115
- }
116
- }