File tree Expand file tree Collapse file tree 1 file changed +19
-6
lines changed
plugins/source/airtable/src Expand file tree Collapse file tree 1 file changed +19
-6
lines changed Original file line number Diff line number Diff line change @@ -242,12 +242,25 @@ const airtableToSchemaTable = (
242242
243243 const resolver : TableResolver = async ( clientMeta , parent , stream ) => {
244244 const airtableClient = new Airtable ( { apiKey, endpointUrl } ) . base ( baseId ) ;
245- const records = await airtableClient ( table . name ) . select ( ) . all ( ) ;
246- for ( const record of records ) {
247- const recordAsObject = Object . fromEntries ( table . fields . map ( ( field ) => [ field . name , record . get ( field . name ) ] ) ) ;
248- stream . write ( recordAsObject ) ;
249- }
250- return ;
245+
246+ return new Promise ( ( resolve , reject ) => {
247+ airtableClient ( table . name ) . select ( ) . eachPage (
248+ ( records , fetchNextPage ) => {
249+ for ( const record of records ) {
250+ const recordAsObject = Object . fromEntries ( table . fields . map ( ( field ) => [ field . name , record . get ( field . name ) ] ) ) ;
251+ stream . write ( recordAsObject ) ;
252+ }
253+ fetchNextPage ( ) ;
254+ } ,
255+ ( error ) => {
256+ if ( error ) {
257+ reject ( error ) ;
258+ } else {
259+ resolve ( ) ;
260+ }
261+ }
262+ ) ;
263+ } ) ;
251264 } ;
252265
253266 return createTable ( { name, columns, description : table . description , resolver } ) ;
You can’t perform that action at this time.
0 commit comments