Skip to content

Commit 2f95428

Browse files
committed
new type for chart data
1 parent c3fd9df commit 2f95428

3 files changed

Lines changed: 44 additions & 19 deletions

File tree

src/models/eventsFactory.js

Lines changed: 37 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -466,29 +466,54 @@ class EventsFactory extends Factory {
466466
const hasRateLimited = Array.isArray(rateLimitedSeries) && rateLimitedSeries.length > 0;
467467

468468
if (hasAccepted || hasRateLimited) {
469-
return {
470-
accepted: acceptedSeries,
471-
rateLimited: hasRateLimited
472-
? rateLimitedSeries
473-
: this._composeZeroSeries(acceptedSeries),
474-
};
469+
let normalizedAccepted = acceptedSeries;
470+
471+
if (!hasAccepted && hasRateLimited) {
472+
normalizedAccepted = this._composeZeroSeries(rateLimitedSeries);
473+
}
474+
475+
const normalizedRateLimited = hasRateLimited
476+
? rateLimitedSeries
477+
: this._composeZeroSeries(normalizedAccepted);
478+
479+
const series = [
480+
{
481+
label: 'accepted',
482+
data: normalizedAccepted,
483+
},
484+
];
485+
486+
if (normalizedRateLimited.length > 0) {
487+
series.push({
488+
label: 'rate-limited',
489+
data: normalizedRateLimited,
490+
});
491+
}
492+
493+
return series;
475494
}
476495

477496
// Fallback to Mongo (empty groupHash for project-level data)
478497
const fallbackAccepted = await this.findChartData(days, timezoneOffset, '');
479498

480-
return {
481-
accepted: fallbackAccepted,
482-
};
499+
return [
500+
{
501+
label: 'accepted',
502+
data: fallbackAccepted,
503+
},
504+
];
483505
} catch (err) {
484506
console.error('[EventsFactory] getProjectChartData error:', err);
485507

486508
// Fallback to Mongo on error (empty groupHash for project-level data)
487509
const fallbackAccepted = await this.findChartData(days, timezoneOffset, '');
488510

489-
return {
490-
accepted: fallbackAccepted,
491-
};
511+
return [
512+
{
513+
label: 'accepted',
514+
data: fallbackAccepted,
515+
},
516+
];
492517
}
493518
}
494519

src/typeDefs/chart.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,17 @@ export default gql`
1414
}
1515
1616
"""
17-
Project chart data split by metric type
17+
Chart line definition
1818
"""
19-
type ProjectChartSeries {
19+
type ChartLine {
2020
"""
21-
Accepted events (successfully processed)
21+
Series label (e.g., events-accepted)
2222
"""
23-
accepted: [ChartDataItem!]!
23+
label: String!
2424
2525
"""
26-
Events rejected due to rate limiting
26+
Data points for the series
2727
"""
28-
rateLimited: [ChartDataItem!]
28+
data: [ChartDataItem!]!
2929
}
3030
`;

src/typeDefs/project.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -372,7 +372,7 @@ type Project {
372372
User's local timezone offset in minutes
373373
"""
374374
timezoneOffset: Int! = 0
375-
): ProjectChartSeries
375+
): [ChartLine!]!
376376
"""
377377
Returns number of unread events
378378
"""

0 commit comments

Comments
 (0)