feat: add user job listing and summary helpers for dashboard flows

This commit is contained in:
Codex
2026-02-18 12:45:07 +00:00
parent d95e9215e8
commit 9c3c626c46
2 changed files with 59 additions and 0 deletions

View File

@@ -120,6 +120,29 @@ class XArtAudioEngine {
return this.jobs.get(jobId) || null;
}
listJobsForUser(userId) {
if (!userId) {
return [];
}
return Array.from(this.jobs.values())
.filter((job) => job.callerUserId === userId)
.sort((a, b) => Number(b.id) - Number(a.id));
}
getUserSummary(userId) {
const jobs = this.listJobsForUser(userId);
const completed = jobs.filter((job) => job.status === "completed").length;
const totalCreditsSpent = jobs.reduce((sum, job) => sum + job.creditsCharged, 0);
return {
balance: this.getWalletBalance(userId),
totalJobs: jobs.length,
completedJobs: completed,
totalCreditsSpent,
};
}
getAsset(assetId) {
return this.assets.get(String(assetId)) || null;
}