@@ -68,7 +68,8 @@ export default class Webflow {
6868 } ;
6969
7070 this . authenticatedFetch = ( method , path , data , query ) => {
71- const queryString = query && ! isObjectEmpty ( query ) ? `?${ qs . stringify ( query ) } ` : "" ;
71+ const queryString =
72+ query && ! isObjectEmpty ( query ) ? `?${ qs . stringify ( query ) } ` : "" ;
7273
7374 const uri = `${ this . endpoint } ${ path } ${ queryString } ` ;
7475 const opts = {
@@ -116,13 +117,17 @@ export default class Webflow {
116117 // Sites
117118
118119 sites ( query = { } ) {
119- return this . get ( "/sites" , query ) . then ( ( sites ) => sites . map ( ( site ) => this . responseWrapper . site ( site ) ) ) ;
120+ return this . get ( "/sites" , query ) . then ( ( sites ) =>
121+ sites . map ( ( site ) => this . responseWrapper . site ( site ) )
122+ ) ;
120123 }
121124
122125 site ( { siteId } , query = { } ) {
123126 if ( ! siteId ) return Promise . reject ( buildRequiredArgError ( "siteId" ) ) ;
124127
125- return this . get ( `/sites/${ siteId } ` , query ) . then ( ( site ) => this . responseWrapper . site ( site ) ) ;
128+ return this . get ( `/sites/${ siteId } ` , query ) . then ( ( site ) =>
129+ this . responseWrapper . site ( site )
130+ ) ;
126131 }
127132
128133 publishSite ( { siteId, domains } ) {
@@ -148,12 +153,15 @@ export default class Webflow {
148153 if ( ! siteId ) return Promise . reject ( buildRequiredArgError ( "siteId" ) ) ;
149154
150155 return this . get ( `/sites/${ siteId } /collections` , query ) . then ( ( collections ) =>
151- collections . map ( ( collection ) => this . responseWrapper . collection ( collection ) )
156+ collections . map ( ( collection ) =>
157+ this . responseWrapper . collection ( collection )
158+ )
152159 ) ;
153160 }
154161
155162 collection ( { collectionId } , query = { } ) {
156- if ( ! collectionId ) return Promise . reject ( buildRequiredArgError ( "collectionId" ) ) ;
163+ if ( ! collectionId )
164+ return Promise . reject ( buildRequiredArgError ( "collectionId" ) ) ;
157165
158166 return this . get ( `/collections/${ collectionId } ` , query ) . then ( ( collection ) =>
159167 this . responseWrapper . collection ( collection )
@@ -163,56 +171,112 @@ export default class Webflow {
163171 // Items
164172
165173 items ( { collectionId } , query = { } ) {
166- if ( ! collectionId ) return Promise . reject ( buildRequiredArgError ( "collectionId" ) ) ;
174+ if ( ! collectionId )
175+ return Promise . reject ( buildRequiredArgError ( "collectionId" ) ) ;
167176
168- return this . get ( `/collections/${ collectionId } /items` , query ) . then ( ( res ) => ( {
169- ...res ,
177+ return this . get ( `/collections/${ collectionId } /items` , query ) . then (
178+ ( res ) => ( {
179+ ...res ,
170180
171- items : res . items . map ( ( item ) => this . responseWrapper . item ( item , collectionId ) ) ,
172- } ) ) ;
181+ items : res . items . map ( ( item ) =>
182+ this . responseWrapper . item ( item , collectionId )
183+ ) ,
184+ } )
185+ ) ;
173186 }
174187
175188 item ( { collectionId, itemId } , query = { } ) {
176- if ( ! collectionId ) return Promise . reject ( buildRequiredArgError ( "collectionId" ) ) ;
189+ if ( ! collectionId )
190+ return Promise . reject ( buildRequiredArgError ( "collectionId" ) ) ;
177191 if ( ! itemId ) return Promise . reject ( buildRequiredArgError ( "itemId" ) ) ;
178192
179- return this . get ( `/collections/${ collectionId } /items/${ itemId } ` , query ) . then ( ( res ) =>
180- this . responseWrapper . item ( res . items [ 0 ] , collectionId )
193+ return this . get ( `/collections/${ collectionId } /items/${ itemId } ` , query ) . then (
194+ ( res ) => this . responseWrapper . item ( res . items [ 0 ] , collectionId )
181195 ) ;
182196 }
183197
184198 createItem ( { collectionId, ...data } , query = { } ) {
185- if ( ! collectionId ) return Promise . reject ( buildRequiredArgError ( "collectionId" ) ) ;
199+ if ( ! collectionId )
200+ return Promise . reject ( buildRequiredArgError ( "collectionId" ) ) ;
186201
187- return this . post ( `/collections/${ collectionId } /items` , data , query ) . then ( ( item ) =>
188- this . responseWrapper . item ( item , collectionId )
202+ return this . post ( `/collections/${ collectionId } /items` , data , query ) . then (
203+ ( item ) => this . responseWrapper . item ( item , collectionId )
189204 ) ;
190205 }
191206
192207 updateItem ( { collectionId, itemId, ...data } , query = { } ) {
193- if ( ! collectionId ) return Promise . reject ( buildRequiredArgError ( "collectionId" ) ) ;
208+ if ( ! collectionId )
209+ return Promise . reject ( buildRequiredArgError ( "collectionId" ) ) ;
194210 if ( ! itemId ) return Promise . reject ( buildRequiredArgError ( "itemId" ) ) ;
195211
196- return this . put ( `/collections/${ collectionId } /items/${ itemId } ` , data , query ) ;
212+ return this . put (
213+ `/collections/${ collectionId } /items/${ itemId } ` ,
214+ data ,
215+ query
216+ ) ;
197217 }
198218
199219 removeItem ( { collectionId, itemId } , query = { } ) {
200- if ( ! collectionId ) return Promise . reject ( buildRequiredArgError ( "collectionId" ) ) ;
220+ if ( ! collectionId )
221+ return Promise . reject ( buildRequiredArgError ( "collectionId" ) ) ;
201222 if ( ! itemId ) return Promise . reject ( buildRequiredArgError ( "itemId" ) ) ;
202223
203224 return this . delete ( `/collections/${ collectionId } /items/${ itemId } ` , query ) ;
204225 }
205226
206227 patchItem ( { collectionId, itemId, ...data } , query = { } ) {
207- if ( ! collectionId ) return Promise . reject ( buildRequiredArgError ( "collectionId" ) ) ;
228+ if ( ! collectionId )
229+ return Promise . reject ( buildRequiredArgError ( "collectionId" ) ) ;
208230 if ( ! itemId ) return Promise . reject ( buildRequiredArgError ( "itemId" ) ) ;
209231
210- return this . patch ( `/collections/${ collectionId } /items/${ itemId } ` , data , query ) ;
232+ return this . patch (
233+ `/collections/${ collectionId } /items/${ itemId } ` ,
234+ data ,
235+ query
236+ ) ;
237+ }
238+
239+ // Users
240+
241+ users ( { siteId } , query = { } ) {
242+ if ( ! siteId ) return Promise . reject ( buildRequiredArgError ( "siteId" ) ) ;
243+
244+ return this . get ( `/sites/${ siteId } /users` , query ) . then ( ( res ) =>
245+ res . users . map ( ( user ) => this . responseWrapper . user ( user ) )
246+ ) ;
247+ }
248+
249+ user ( { siteId, userId } , query = { } ) {
250+ if ( ! siteId ) return Promise . reject ( buildRequiredArgError ( "siteId" ) ) ;
251+ if ( ! userId ) return Promise . reject ( buildRequiredArgError ( "userId" ) ) ;
252+
253+ return this . get ( `/sites/${ siteId } /users/${ userId } ` , query ) . then ( ( user ) =>
254+ this . responseWrapper . user ( user , siteId )
255+ ) ;
256+ }
257+
258+ updateUser ( { siteId, userId, ...data } , query = { } ) {
259+ if ( ! siteId ) return Promise . reject ( buildRequiredArgError ( "siteId" ) ) ;
260+ if ( ! userId ) return Promise . reject ( buildRequiredArgError ( "userId" ) ) ;
261+
262+ return this . patch ( `/sites/${ siteId } /users/${ userId } ` , data , query ) ;
263+ }
264+
265+ inviteUser ( { siteId, email } , query = { } ) {
266+ if ( ! siteId ) return Promise . reject ( buildRequiredArgError ( "siteId" ) ) ;
267+ if ( ! email ) return Promise . reject ( buildRequiredArgError ( "email" ) ) ;
268+
269+ return this . post ( `/sites/${ siteId } /users/invite` , { email } , query ) . then (
270+ ( user ) => this . responseWrapper . user ( user , siteId )
271+ ) ;
211272 }
212273
213- // Images
274+ removeUser ( { siteId, userId } , query = { } ) {
275+ if ( ! siteId ) return Promise . reject ( buildRequiredArgError ( "siteId" ) ) ;
276+ if ( ! userId ) return Promise . reject ( buildRequiredArgError ( "userId" ) ) ;
214277
215- // TODO
278+ return this . delete ( `/sites/${ siteId } /users/${ userId } ` , query ) ;
279+ }
216280
217281 // Webhooks
218282
@@ -228,8 +292,8 @@ export default class Webflow {
228292 if ( ! siteId ) return Promise . reject ( buildRequiredArgError ( "siteId" ) ) ;
229293 if ( ! webhookId ) return Promise . reject ( buildRequiredArgError ( "webhookId" ) ) ;
230294
231- return this . get ( `/sites/${ siteId } /webhooks/${ webhookId } ` , query ) . then ( ( webhook ) =>
232- this . responseWrapper . webhook ( webhook , siteId )
295+ return this . get ( `/sites/${ siteId } /webhooks/${ webhookId } ` , query ) . then (
296+ ( webhook ) => this . responseWrapper . webhook ( webhook , siteId )
233297 ) ;
234298 }
235299
0 commit comments