Files
backend/src/integrations/tbank/tbank-source.policy.ts
T
ksv741 0057925888
Backend verify / commits (pull_request) Successful in 33s
Backend verify / security (pull_request) Failing after 12s
Backend verify / verify (pull_request) Skipped
feat: add hourly portfolio sync history
2026-10-09 09:04:41 +03:00

23 lines
684 B
TypeScript

// Freshness never establishes completeness. Immutable ranges are planned by
// their coverage owners; these TTLs apply only to mutable source snapshots.
export const tbankSourceTtlMs = {
membership: 3_600_000,
portfolio: 3_600_000,
quote: 3_600_000,
candleTail: 3_600_000,
} as const;
export function tbankSourceNeedsRefresh(
source: keyof typeof tbankSourceTtlMs,
fetchedAt: Date | null,
now: Date,
force = false,
): boolean {
return (
force ||
!fetchedAt ||
// eslint-disable-next-line security/detect-object-injection -- The key is a member of the closed TbankSource union.
now.valueOf() - fetchedAt.valueOf() >= tbankSourceTtlMs[source]
);
}