MCPcopy
hub / github.com/chartbrew/chartbrew / getTopChartVariants

Method getTopChartVariants

server/modules/runtimeCache.js:561–579  ·  view source on GitHub ↗
(chartId, limit = 5)

Source from the content-addressed store, hash-verified

559 }
560
561 async getTopChartVariants(chartId, limit = 5) {
562 if (!chartId) return [];
563
564 const variantHashes = await this.store.zrevrange(this.usageKey(chartId), 0, Math.max(0, limit - 1));
565 if (!variantHashes || variantHashes.length === 0) {
566 return [];
567 }
568
569 return Promise.all(variantHashes.map(async (variantHash) => {
570 const rawMetadata = await this.store.hget(this.usageMetaKey(chartId), variantHash);
571 if (!rawMetadata) return null;
572
573 try {
574 return JSON.parse(rawMetadata);
575 } catch (_error) {
576 return null;
577 }
578 })).then((variants) => variants.filter(Boolean));
579 }
580
581 async buildChartVersion(chartId, timezone = "") {
582 const chartFingerprint = await db.Chart.findOne({

Callers 1

updateChartFunction · 0.80

Calls 5

usageKeyMethod · 0.95
usageMetaKeyMethod · 0.95
zrevrangeMethod · 0.80
hgetMethod · 0.80
filterMethod · 0.80

Tested by

no test coverage detected