···
209
209
console.log(`Final total count: ${totalCount}`);
210
210
211
211
212
212
-
// 2. Get daily flush counts for the chart and emoji data
213
213
-
const { data: dailyData, error: dailyError } = await supabase
214
214
-
.from('flushing_records')
215
215
-
.select('created_at, did, handle, emoji')
216
216
-
.order('created_at', { ascending: true });
212
212
+
// 2. Get daily flush counts for the chart and emoji data - PAGINATE to get all records
213
213
+
console.log('Fetching ALL flushing records for chart data...');
214
214
+
let allDailyData: any[] = [];
215
215
+
let from = 0;
216
216
+
const pageSize = 1000;
217
217
+
let hasMore = true;
217
218
218
218
-
if (dailyError) {
219
219
-
throw new Error(`Failed to get daily data: ${dailyError.message}`);
219
219
+
while (hasMore) {
220
220
+
console.log(`Fetching daily data page: ${from} to ${from + pageSize - 1}`);
221
221
+
222
222
+
const { data: pageData, error: pageError } = await supabase
223
223
+
.from('flushing_records')
224
224
+
.select('created_at, did, handle, emoji')
225
225
+
.order('created_at', { ascending: true })
226
226
+
.range(from, from + pageSize - 1);
227
227
+
228
228
+
if (pageError) {
229
229
+
throw new Error(`Failed to get daily data: ${pageError.message}`);
230
230
+
}
231
231
+
232
232
+
if (!pageData || pageData.length === 0) {
233
233
+
hasMore = false;
234
234
+
} else {
235
235
+
allDailyData = [...allDailyData, ...pageData];
236
236
+
hasMore = pageData.length === pageSize;
237
237
+
from += pageSize;
238
238
+
}
220
239
}
240
240
+
241
241
+
const dailyData = allDailyData;
221
242
222
243
console.log(`Total records fetched: ${dailyData?.length || 0}`);
223
244
if (dailyData && dailyData.length > 0) {