refactor: share prisma json codec and check progress shape (WealthLedger/backend#170) (#191)
Backend verify / commits (push) Skipped
Backend verify / security (push) Successful in 1m5s
Backend verify / verify (push) Failing after 7m21s

This commit was merged in pull request #191.
This commit is contained in:
2026-11-04 22:28:11 +03:00
parent cd78b43783
commit 85a71967fa
10 changed files with 196 additions and 59 deletions
@@ -4,6 +4,7 @@ import { isDeepStrictEqual } from 'node:util';
import type { Prisma } from '../../../../../generated/prisma/client';
import { PrismaService } from '../../../../prisma/prisma.service';
import { toJson } from '../../../../prisma/to-json';
const FIRST_BATCH_OFFSET = 0;
@@ -142,13 +143,11 @@ export class ForecastRepository {
) {
return fallback;
}
const revisions = JSON.parse(
JSON.stringify({
portfolioProjection: input.portfolioProjection,
portfolios: input.portfolios,
sources: input.sources,
}),
) as Prisma.InputJsonObject;
const revisions = toJson({
portfolioProjection: input.portfolioProjection,
portfolios: input.portfolios,
sources: input.sources,
});
const timestamps = input.timestamps as Prisma.InputJsonArray;
if (
fallback?.scopeKey === input.scopeKey &&
@@ -159,9 +158,7 @@ export class ForecastRepository {
}
const data = {
membershipRevision: input.membershipRevision,
payload: JSON.parse(
JSON.stringify(input.candidate),
) as Prisma.InputJsonObject,
payload: toJson(input.candidate),
dependencyRevisions: revisions,
sourceTimestamps: timestamps,
calculatedAt: new Date(),