webflow-api 1.1.2 → 1.2.1
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.
- package/README.md +41 -17
- package/dist/api/collection.d.ts +86 -25
- package/dist/api/collection.js +88 -29
- package/dist/api/index.d.ts +7 -7
- package/dist/api/index.js +9 -19
- package/dist/api/item.d.ts +141 -107
- package/dist/api/item.js +145 -125
- package/dist/api/meta.d.ts +16 -14
- package/dist/api/meta.js +20 -19
- package/dist/api/oauth.d.ts +38 -36
- package/dist/api/oauth.js +59 -59
- package/dist/api/site.d.ts +118 -43
- package/dist/api/site.js +131 -53
- package/dist/api/user.d.ts +143 -0
- package/dist/api/user.js +119 -0
- package/dist/api/webhook.d.ts +77 -55
- package/dist/api/webhook.js +74 -61
- package/dist/core/error.d.ts +2 -0
- package/dist/core/error.js +8 -1
- package/dist/core/index.d.ts +2 -2
- package/dist/core/index.js +2 -2
- package/dist/core/response.d.ts +32 -0
- package/dist/core/response.js +26 -0
- package/dist/{webflow.d.ts → core/webflow.d.ts} +66 -54
- package/dist/{webflow.js → core/webflow.js} +114 -65
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/package.json +12 -8
- package/src/api/collection.ts +103 -36
- package/src/api/index.ts +7 -7
- package/src/api/item.ts +217 -176
- package/src/api/meta.ts +19 -18
- package/src/api/oauth.ts +71 -74
- package/src/api/site.ts +161 -55
- package/src/api/user.ts +192 -0
- package/src/api/webhook.ts +103 -80
- package/src/core/error.ts +8 -0
- package/src/core/index.ts +2 -2
- package/src/core/response.ts +50 -0
- package/src/{webflow.ts → core/webflow.ts} +153 -125
- package/src/index.ts +1 -1
- package/yarn.lock +4 -9
- package/dist/api/membership.d.ts +0 -114
- package/dist/api/membership.js +0 -96
- package/dist/core/client.d.ts +0 -27
- package/dist/core/client.js +0 -60
- package/dist/core/options.d.ts +0 -8
- package/dist/core/options.js +0 -5
- package/dist/wrapper/collection.d.ts +0 -85
- package/dist/wrapper/collection.js +0 -94
- package/dist/wrapper/index.d.ts +0 -6
- package/dist/wrapper/index.js +0 -22
- package/dist/wrapper/item.d.ts +0 -140
- package/dist/wrapper/item.js +0 -153
- package/dist/wrapper/membership.d.ts +0 -105
- package/dist/wrapper/membership.js +0 -123
- package/dist/wrapper/response.d.ts +0 -16
- package/dist/wrapper/response.js +0 -17
- package/dist/wrapper/site.d.ts +0 -168
- package/dist/wrapper/site.js +0 -191
- package/dist/wrapper/webhook.d.ts +0 -78
- package/dist/wrapper/webhook.js +0 -82
- package/src/api/membership.ts +0 -155
- package/src/core/client.ts +0 -82
- package/src/core/options.ts +0 -9
- package/src/wrapper/collection.ts +0 -115
- package/src/wrapper/index.ts +0 -6
- package/src/wrapper/item.ts +0 -218
- package/src/wrapper/membership.ts +0 -163
- package/src/wrapper/response.ts +0 -25
- package/src/wrapper/site.ts +0 -228
- package/src/wrapper/webhook.ts +0 -116
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
import { ResponseWrapper, ItemWrapper } from ".";
|
|
2
|
-
import { Client, QueryString } from "../core";
|
|
3
|
-
import { Collection } from "../api";
|
|
4
|
-
|
|
5
|
-
export class CollectionWrapper implements Collection.ICollection {
|
|
6
|
-
fields: Collection.CollectionField[];
|
|
7
|
-
singularName: string;
|
|
8
|
-
lastUpdated: string;
|
|
9
|
-
createdOn: string;
|
|
10
|
-
_id: string;
|
|
11
|
-
name: string;
|
|
12
|
-
slug: string;
|
|
13
|
-
|
|
14
|
-
constructor(private client: Client, collection: Collection.ICollection) {
|
|
15
|
-
Object.assign(this, collection);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
/**************************************************************
|
|
19
|
-
* Static Methods
|
|
20
|
-
**************************************************************/
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Get a single Collection
|
|
24
|
-
* @param client The Webflow client
|
|
25
|
-
* @param params The Collection information
|
|
26
|
-
* @param params.collectionId The Collection ID
|
|
27
|
-
* @returns A single Collection
|
|
28
|
-
*/
|
|
29
|
-
static async getOne(
|
|
30
|
-
client: Client,
|
|
31
|
-
{ collectionId }: { collectionId: string }
|
|
32
|
-
) {
|
|
33
|
-
const res = await Collection.getOne(client, { collectionId });
|
|
34
|
-
const collection = new CollectionWrapper(client, res.data);
|
|
35
|
-
return ResponseWrapper<typeof collection>(res, collection);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* Get a list of Collections
|
|
40
|
-
* @param client The Webflow client
|
|
41
|
-
* @param params1 The Site information
|
|
42
|
-
* @param params1.siteId The Site ID
|
|
43
|
-
* @param params The query parameters (optional)
|
|
44
|
-
* @returns A list of Collections
|
|
45
|
-
*/
|
|
46
|
-
static async list(
|
|
47
|
-
client: Client,
|
|
48
|
-
{ siteId }: { siteId: string },
|
|
49
|
-
params?: QueryString
|
|
50
|
-
) {
|
|
51
|
-
const res = await Collection.list(client, { siteId }, params);
|
|
52
|
-
const collections = res.data.map((c) => new CollectionWrapper(client, c));
|
|
53
|
-
return ResponseWrapper<typeof collections>(res, collections);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/**************************************************************
|
|
57
|
-
* Instance Methods
|
|
58
|
-
**************************************************************/
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* Get a single Item
|
|
62
|
-
* @param params The params for the request
|
|
63
|
-
* @param params.itemId The Item ID
|
|
64
|
-
* @returns A single Item
|
|
65
|
-
*/
|
|
66
|
-
async item({ itemId }: { itemId: string }) {
|
|
67
|
-
return ItemWrapper.getOne(this.client, { itemId, collectionId: this._id });
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* Get a list of Items
|
|
72
|
-
* @param params The params for the request
|
|
73
|
-
* @param params.limit The number of items to return (optional)
|
|
74
|
-
* @param params.offset The number of items to skip (optional)
|
|
75
|
-
* @returns A list of Items
|
|
76
|
-
*/
|
|
77
|
-
async items(params?: QueryString) {
|
|
78
|
-
return ItemWrapper.list(this.client, { collectionId: this._id, ...params });
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* Remove a single Item
|
|
83
|
-
* @param params The params for the request
|
|
84
|
-
* @param params.itemId The Item ID
|
|
85
|
-
* @returns The result from the removal
|
|
86
|
-
*/
|
|
87
|
-
async removeItem({ itemId }: { itemId: string }) {
|
|
88
|
-
return ItemWrapper.remove(this.client, { itemId, collectionId: this._id });
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
/**
|
|
92
|
-
* Create a new Item
|
|
93
|
-
* @param params The params for the request
|
|
94
|
-
* @param params.fields The Item fields to create
|
|
95
|
-
* @returns The created Item
|
|
96
|
-
*/
|
|
97
|
-
async createItem(fields: any) {
|
|
98
|
-
return ItemWrapper.create(this.client, { collectionId: this._id, fields });
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
/**
|
|
102
|
-
* Update a single Item
|
|
103
|
-
* @param params The params for the request
|
|
104
|
-
* @param params.itemId The Item ID
|
|
105
|
-
* @param params.fields The fields to update
|
|
106
|
-
* @returns The updated Item
|
|
107
|
-
*/
|
|
108
|
-
async updateItem({ itemId, fields }: { itemId: string; fields: any }) {
|
|
109
|
-
return ItemWrapper.update(this.client, {
|
|
110
|
-
collectionId: this._id,
|
|
111
|
-
itemId,
|
|
112
|
-
fields,
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
}
|
package/src/wrapper/index.ts
DELETED
package/src/wrapper/item.ts
DELETED
|
@@ -1,218 +0,0 @@
|
|
|
1
|
-
import { Client, QueryString, PaginationFilter } from "../core";
|
|
2
|
-
import { ResponseWrapper } from ".";
|
|
3
|
-
import { Item } from "../api";
|
|
4
|
-
|
|
5
|
-
export class ItemWrapper implements Item.IItem {
|
|
6
|
-
"published-on"?: string | null;
|
|
7
|
-
"published-by"?: string | null;
|
|
8
|
-
"updated-on": string;
|
|
9
|
-
"created-on": string;
|
|
10
|
-
"updated-by": string;
|
|
11
|
-
"created-by": string;
|
|
12
|
-
_archived: boolean;
|
|
13
|
-
_draft: boolean;
|
|
14
|
-
_cid: string;
|
|
15
|
-
name: string;
|
|
16
|
-
slug: string;
|
|
17
|
-
_id: string;
|
|
18
|
-
|
|
19
|
-
constructor(private client: Client, item: Item.IItem) {
|
|
20
|
-
Object.assign(this, item);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
/**************************************************************
|
|
24
|
-
* Static Methods
|
|
25
|
-
**************************************************************/
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Create a new Item
|
|
29
|
-
* @param client The Webflow client
|
|
30
|
-
* @param params The params for the request
|
|
31
|
-
* @param params.collectionId The Collection ID
|
|
32
|
-
* @param params.fields The Item fields to create
|
|
33
|
-
* @returns The created Item
|
|
34
|
-
*/
|
|
35
|
-
static async create(
|
|
36
|
-
client: Client,
|
|
37
|
-
{ collectionId, fields }: { collectionId: string; fields: any }
|
|
38
|
-
) {
|
|
39
|
-
const res = await Item.create(client, { collectionId, fields });
|
|
40
|
-
const item = new ItemWrapper(client, res.data);
|
|
41
|
-
return ResponseWrapper<typeof item>(res, item);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Get a single Item
|
|
46
|
-
* @param client The Webflow client
|
|
47
|
-
* @param params The params for the request
|
|
48
|
-
* @param params.collectionId The Collection ID
|
|
49
|
-
* @param params.itemId The Item ID
|
|
50
|
-
* @returns A single Item
|
|
51
|
-
*/
|
|
52
|
-
static async getOne(
|
|
53
|
-
client: Client,
|
|
54
|
-
itemParams: { collectionId: string; itemId: string }
|
|
55
|
-
) {
|
|
56
|
-
const res = await Item.getOne(client, itemParams);
|
|
57
|
-
const item = new ItemWrapper(client, res.data.items[0]);
|
|
58
|
-
return ResponseWrapper<typeof item>(res, item);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Get a list of Items
|
|
63
|
-
* @param client The Webflow client
|
|
64
|
-
* @param params The params for the request
|
|
65
|
-
* @param params.collectionId The Collection ID
|
|
66
|
-
* @param params.limit The number of items to return (optional)
|
|
67
|
-
* @param params.offset The number of items to skip (optional)
|
|
68
|
-
* @returns A list of Items
|
|
69
|
-
*/
|
|
70
|
-
static async list(
|
|
71
|
-
client: Client,
|
|
72
|
-
{ collectionId, limit, offset }: { collectionId: string } & PaginationFilter
|
|
73
|
-
) {
|
|
74
|
-
const res = await Item.list(client, { collectionId, limit, offset });
|
|
75
|
-
const items = res.data.items.map((i) => new ItemWrapper(client, i));
|
|
76
|
-
return ResponseWrapper<typeof items>(res, items);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* Remove a single Item
|
|
81
|
-
* @param client The Webflow client
|
|
82
|
-
* @param params The params for the request
|
|
83
|
-
* @param params.collectionId The Collection ID
|
|
84
|
-
* @param params.itemId The Item ID
|
|
85
|
-
* @returns The result from the removal
|
|
86
|
-
*/
|
|
87
|
-
static async remove(
|
|
88
|
-
client: Client,
|
|
89
|
-
{ collectionId, itemId }: { collectionId: string; itemId: string }
|
|
90
|
-
) {
|
|
91
|
-
const res = await Item.remove(client, { collectionId, itemId });
|
|
92
|
-
return ResponseWrapper<typeof res.data>(res);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* Publishes a list of Items
|
|
97
|
-
* @param client The Webflow client
|
|
98
|
-
* @param params The request parameters
|
|
99
|
-
* @param params.collectionId The Collection ID
|
|
100
|
-
* @param params.itemIds The list of Item IDs to publish
|
|
101
|
-
* @param params.live Publish to live site
|
|
102
|
-
* @returns The result of the publish
|
|
103
|
-
*/
|
|
104
|
-
static async publish(
|
|
105
|
-
client: Client,
|
|
106
|
-
{
|
|
107
|
-
collectionId,
|
|
108
|
-
itemIds,
|
|
109
|
-
live,
|
|
110
|
-
}: { collectionId: string; itemIds: string[]; live: boolean }
|
|
111
|
-
) {
|
|
112
|
-
const res = await Item.publish(client, { collectionId, itemIds, live });
|
|
113
|
-
return ResponseWrapper<typeof res.data>(res);
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
/**
|
|
117
|
-
* Unpublishes a list of Items
|
|
118
|
-
* @param client The Webflow client
|
|
119
|
-
* @param params The params for the request
|
|
120
|
-
* @param params.collectionId The Collection ID
|
|
121
|
-
* @param params.live Unpublish from the live site
|
|
122
|
-
* @returns The result of the unpublish
|
|
123
|
-
*/
|
|
124
|
-
static async unpublish(
|
|
125
|
-
client: Client,
|
|
126
|
-
{
|
|
127
|
-
collectionId,
|
|
128
|
-
itemIds,
|
|
129
|
-
live,
|
|
130
|
-
}: { collectionId: string; itemIds: string[]; live: boolean }
|
|
131
|
-
) {
|
|
132
|
-
const res = await Item.unpublish(client, { collectionId, itemIds, live });
|
|
133
|
-
return ResponseWrapper<typeof res.data>(res);
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
/**
|
|
137
|
-
* Update a single Item
|
|
138
|
-
* @param client The Webflow client
|
|
139
|
-
* @param params The params for the request
|
|
140
|
-
* @param params.collectionId The Collection ID
|
|
141
|
-
* @param params.itemId The Item ID
|
|
142
|
-
* @param params.fields The fields to update
|
|
143
|
-
* @returns The updated Item
|
|
144
|
-
*/
|
|
145
|
-
static async update(
|
|
146
|
-
client: Client,
|
|
147
|
-
{
|
|
148
|
-
collectionId,
|
|
149
|
-
itemId,
|
|
150
|
-
fields,
|
|
151
|
-
}: { collectionId: string; itemId: string; fields: any }
|
|
152
|
-
) {
|
|
153
|
-
const res = await Item.update(client, {
|
|
154
|
-
collectionId,
|
|
155
|
-
fields,
|
|
156
|
-
itemId,
|
|
157
|
-
});
|
|
158
|
-
|
|
159
|
-
const item = new ItemWrapper(client, res.data);
|
|
160
|
-
return ResponseWrapper<typeof item>(res, item);
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
/**
|
|
164
|
-
* Patch a single Item
|
|
165
|
-
* @param client The Webflow client
|
|
166
|
-
* @param params The params for the request
|
|
167
|
-
* @param params.collectionId The Collection ID
|
|
168
|
-
* @param params.itemId The Item ID
|
|
169
|
-
* @param params.fields The fields to patch
|
|
170
|
-
* @returns The patched Item
|
|
171
|
-
*/
|
|
172
|
-
static async patch(
|
|
173
|
-
client: Client,
|
|
174
|
-
{
|
|
175
|
-
collectionId,
|
|
176
|
-
itemId,
|
|
177
|
-
fields,
|
|
178
|
-
}: { collectionId: string; itemId: string; fields: any },
|
|
179
|
-
params?: QueryString
|
|
180
|
-
) {
|
|
181
|
-
const res = await Item.patch(client, {
|
|
182
|
-
collectionId,
|
|
183
|
-
fields,
|
|
184
|
-
itemId,
|
|
185
|
-
});
|
|
186
|
-
|
|
187
|
-
const item = new ItemWrapper(client, res.data);
|
|
188
|
-
return ResponseWrapper<typeof item>(res, item);
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
/**************************************************************
|
|
192
|
-
* Instance Methods
|
|
193
|
-
**************************************************************/
|
|
194
|
-
|
|
195
|
-
/**
|
|
196
|
-
* Update a single Item
|
|
197
|
-
* @param fields The fields to update
|
|
198
|
-
* @returns The updated Item
|
|
199
|
-
*/
|
|
200
|
-
update({ ...fields }) {
|
|
201
|
-
return ItemWrapper.update(this.client, {
|
|
202
|
-
collectionId: this._cid,
|
|
203
|
-
itemId: this._id,
|
|
204
|
-
fields,
|
|
205
|
-
});
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
/**
|
|
209
|
-
* Remove a single Item
|
|
210
|
-
* @returns The result from the removal
|
|
211
|
-
*/
|
|
212
|
-
remove() {
|
|
213
|
-
return ItemWrapper.remove(this.client, {
|
|
214
|
-
collectionId: this._cid,
|
|
215
|
-
itemId: this._id,
|
|
216
|
-
});
|
|
217
|
-
}
|
|
218
|
-
}
|
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
import { Client, PaginationFilter } from "../core";
|
|
2
|
-
import { ResponseWrapper } from ".";
|
|
3
|
-
import { Membership } from "../api";
|
|
4
|
-
|
|
5
|
-
export class MembershipWrapper implements Membership.IUser {
|
|
6
|
-
emailVerified: boolean;
|
|
7
|
-
lastUpdated?: string;
|
|
8
|
-
createdOn: string;
|
|
9
|
-
_id: string;
|
|
10
|
-
data: any;
|
|
11
|
-
|
|
12
|
-
constructor(
|
|
13
|
-
private client: Client,
|
|
14
|
-
private siteId: string,
|
|
15
|
-
membership: Membership.IUser
|
|
16
|
-
) {
|
|
17
|
-
Object.assign(this, membership);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
/**************************************************************
|
|
21
|
-
* Static Methods
|
|
22
|
-
**************************************************************/
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Get a single User
|
|
26
|
-
* @param client The Webflow client
|
|
27
|
-
* @param params The params for the request
|
|
28
|
-
* @param params.siteId The site ID
|
|
29
|
-
* @param params.userId The user ID
|
|
30
|
-
* @returns A single User
|
|
31
|
-
*/
|
|
32
|
-
static async getOne(
|
|
33
|
-
client: Client,
|
|
34
|
-
{ userId, siteId }: { siteId: string; userId: string }
|
|
35
|
-
) {
|
|
36
|
-
const res = await Membership.getOne(client, { userId, siteId });
|
|
37
|
-
const user = ResponseWrapper<typeof res.data>(res);
|
|
38
|
-
return new MembershipWrapper(client, siteId, user);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Get a list of Users
|
|
43
|
-
* @param client The Webflow client
|
|
44
|
-
* @param params The params for the request
|
|
45
|
-
* @param params.siteId The site ID
|
|
46
|
-
* @param params.limit The number of items to return (optional)
|
|
47
|
-
* @param params.offset The number of items to skip (optional)
|
|
48
|
-
* @returns A list of Users
|
|
49
|
-
*/
|
|
50
|
-
static async list(
|
|
51
|
-
client: Client,
|
|
52
|
-
{ siteId, limit, offset }: { siteId: string } & PaginationFilter
|
|
53
|
-
) {
|
|
54
|
-
const res = await Membership.list(client, { siteId, limit, offset });
|
|
55
|
-
const users = res.data.users.map(
|
|
56
|
-
(u) => new MembershipWrapper(client, siteId, u)
|
|
57
|
-
);
|
|
58
|
-
return ResponseWrapper<typeof users>(res, users);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Update a User
|
|
63
|
-
* @param client The Webflow client
|
|
64
|
-
* @param params The params for the request
|
|
65
|
-
* @param params.siteId The site ID
|
|
66
|
-
* @param params.userId The user ID
|
|
67
|
-
* @param params.data The data to update
|
|
68
|
-
* @returns The updated User
|
|
69
|
-
*/
|
|
70
|
-
static async update(
|
|
71
|
-
client: Client,
|
|
72
|
-
{ userId, siteId, data }: { userId: string; siteId: string; data: any }
|
|
73
|
-
) {
|
|
74
|
-
const res = await Membership.update(client, { userId, siteId, ...data });
|
|
75
|
-
const user = ResponseWrapper<typeof res.data>(res);
|
|
76
|
-
return new MembershipWrapper(client, siteId, user);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* Invite a User to a site
|
|
81
|
-
* @param client The Webflow client
|
|
82
|
-
* @param params The params for the request
|
|
83
|
-
* @param params.siteId The site ID
|
|
84
|
-
* @param params.email The email address of the user to invite
|
|
85
|
-
* @returns The newly created User
|
|
86
|
-
*/
|
|
87
|
-
static async invite(
|
|
88
|
-
client: Client,
|
|
89
|
-
{ siteId, email }: { siteId: string; email: string }
|
|
90
|
-
) {
|
|
91
|
-
const res = await Membership.invite(client, { siteId, email });
|
|
92
|
-
return ResponseWrapper<typeof res.data>(res);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* Get a list of Access Groups
|
|
97
|
-
* @param client The Webflow client
|
|
98
|
-
* @param params The params for the request
|
|
99
|
-
* @param params.siteId The Site ID
|
|
100
|
-
* @param params.limit The number of items to return (optional)
|
|
101
|
-
* @param params.offset The number of items to skip (optional)
|
|
102
|
-
* @returns A list of Access Groups
|
|
103
|
-
*/
|
|
104
|
-
static async accessGroups(
|
|
105
|
-
client: Client,
|
|
106
|
-
{
|
|
107
|
-
siteId,
|
|
108
|
-
limit,
|
|
109
|
-
offset,
|
|
110
|
-
}: { siteId: string; limit?: number; offset?: number }
|
|
111
|
-
) {
|
|
112
|
-
const res = await Membership.accessGroups(client, {
|
|
113
|
-
siteId,
|
|
114
|
-
limit,
|
|
115
|
-
offset,
|
|
116
|
-
});
|
|
117
|
-
return ResponseWrapper<typeof res.data>(res);
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
/**
|
|
121
|
-
* Remove a User
|
|
122
|
-
* @param client The Webflow client
|
|
123
|
-
* @param params The params for the request
|
|
124
|
-
* @param params.siteId The site ID
|
|
125
|
-
* @param params.userId The user ID
|
|
126
|
-
* @returns The result of the remove
|
|
127
|
-
*/
|
|
128
|
-
static async remove(
|
|
129
|
-
client: Client,
|
|
130
|
-
{ siteId, userId }: { siteId: string; userId: string }
|
|
131
|
-
) {
|
|
132
|
-
const res = await Membership.remove(client, { userId, siteId });
|
|
133
|
-
return ResponseWrapper<typeof res.data>(res);
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
/**************************************************************
|
|
137
|
-
* Instance Methods
|
|
138
|
-
**************************************************************/
|
|
139
|
-
|
|
140
|
-
/**
|
|
141
|
-
* Update a User
|
|
142
|
-
* @param data The data to update
|
|
143
|
-
* @returns The updated User
|
|
144
|
-
*/
|
|
145
|
-
async update(data: any) {
|
|
146
|
-
return MembershipWrapper.update(this.client, {
|
|
147
|
-
siteId: this.siteId,
|
|
148
|
-
userId: this._id,
|
|
149
|
-
data,
|
|
150
|
-
});
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
/**
|
|
154
|
-
* Remove a User
|
|
155
|
-
* @returns The result of the remove
|
|
156
|
-
*/
|
|
157
|
-
async remove() {
|
|
158
|
-
return MembershipWrapper.remove(this.client, {
|
|
159
|
-
siteId: this.siteId,
|
|
160
|
-
userId: this._id,
|
|
161
|
-
});
|
|
162
|
-
}
|
|
163
|
-
}
|
package/src/wrapper/response.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { AxiosResponse } from "axios";
|
|
2
|
-
|
|
3
|
-
export type MetaResponse<T> = T & {
|
|
4
|
-
_meta: {
|
|
5
|
-
rateLimit: {
|
|
6
|
-
limit: number;
|
|
7
|
-
remaining: number;
|
|
8
|
-
};
|
|
9
|
-
};
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Wraps an HTTP response with Webflow Rate Limiting information
|
|
14
|
-
* @param response The HTTP response
|
|
15
|
-
* @param data The data to use (defaults to response.data)
|
|
16
|
-
* @returns The response with Webflow Rate Limiting information
|
|
17
|
-
*/
|
|
18
|
-
export function ResponseWrapper<T>(response: AxiosResponse, data?: T) {
|
|
19
|
-
const limit = parseInt(response.headers["x-ratelimit-limit"], 10);
|
|
20
|
-
const remaining = parseInt(response.headers["x-ratelimit-remaining"], 10);
|
|
21
|
-
|
|
22
|
-
const result: MetaResponse<T> = data || response.data;
|
|
23
|
-
result._meta = { rateLimit: { limit, remaining } };
|
|
24
|
-
return result;
|
|
25
|
-
}
|