From 0e1b30eced7c86a39bc94c519b1df9ec1ea5786d Mon Sep 17 00:00:00 2001 From: Trevor Buckner Date: Tue, 9 May 2023 10:44:18 -0400 Subject: [PATCH] Get next page if end of files not reached --- server/googleActions.js | 34 +++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/server/googleActions.js b/server/googleActions.js index 095004cfa..49de3c077 100644 --- a/server/googleActions.js +++ b/server/googleActions.js @@ -99,23 +99,31 @@ const GoogleActions = { listGoogleBrews : async (auth)=>{ const drive = googleDrive.drive({ version: 'v3', auth }); - const obj = await drive.files.list({ - pageSize : 1000, - fields : 'nextPageToken, files(id, name, description, createdTime, modifiedTime, properties)', - q : 'mimeType != \'application/vnd.google-apps.folder\' and trashed = false' - }) - .catch((err)=>{ - console.log(`Error Listing Google Brews`); - console.error(err); - throw (err); - //TODO: Should break out here, but continues on for some reason. - }); + const fileList = []; + let NextPageToken = ""; - if(!obj.data.files.length) { + do { + const obj = await drive.files.list({ + pageSize : 1000, + pageToken : NextPageToken || "", + fields : 'nextPageToken, files(id, name, description, createdTime, modifiedTime, properties)', + q : 'mimeType != \'application/vnd.google-apps.folder\' and trashed = false' + }) + .catch((err)=>{ + console.log(`Error Listing Google Brews`); + console.error(err); + throw (err); + //TODO: Should break out here, but continues on for some reason. + }); + fileList.push(...obj.data.files); + NextPageToken = obj.data.nextPageToken; + } while (NextPageToken); + + if(!fileList.length) { console.log('No files found.'); } - const brews = obj.data.files.map((file)=>{ + const brews = fileList.map((file)=>{ return { text : '', shareId : file.properties.shareId,