refactor: share prisma json codec and check progress shape (WealthLedger/backend#170) (#191)
This commit was merged in pull request #191.
This commit is contained in:
@@ -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(),
|
||||
|
||||
@@ -8,6 +8,7 @@ import { TbankErrorCode } from '../../../../integrations/tbank/tbank-error-code'
|
||||
import { lockConnectionGeneration } from '../../../../integrations/tbank/tbank-sync-claim';
|
||||
import { isJoinableRunningAttempt, tbankSourceNeedsRefresh, tbankSourceTtlMs } from '../../../../integrations/tbank/tbank.api';
|
||||
import { PrismaService } from '../../../../prisma/prisma.service';
|
||||
import { toJson } from '../../../../prisma/to-json';
|
||||
|
||||
const EXPECTED_UPDATED_ACCOUNTS = 1;
|
||||
|
||||
@@ -128,7 +129,7 @@ export class PortfolioRepository {
|
||||
accountId,
|
||||
};
|
||||
const data = {
|
||||
payload: JSON.parse(JSON.stringify(snapshot)) as Prisma.InputJsonObject,
|
||||
payload: toJson(snapshot),
|
||||
fetchedAt: new Date(snapshot.lastSuccessfulAt),
|
||||
};
|
||||
await tx.tbankPortfolio.upsert({
|
||||
|
||||
Reference in New Issue
Block a user