@paroicms/server
Version:
The ParoiCMS server
47 lines (46 loc) • 1.86 kB
TypeScript
import type { ReadFieldValues } from "@paroicms/public-anywhere-lib";
import type { SiteContext } from "../../site-context/site-context.types.js";
import { type ChangeSummary, type TimeTier } from "./history.types.js";
export interface HistoryEntryRow {
id: string;
nodeId: string;
language: string;
fieldValues: ReadFieldValues;
documentValues?: string;
changeSummary?: ChangeSummary;
updatedAt: Date;
expireAt?: Date;
timeTier: TimeTier;
}
export declare function getLatestHistoryEntryInTiers(siteContext: Pick<SiteContext, "cn">, options: {
nodeId: string;
language: string;
minTier: TimeTier;
thresholdMinutes?: number;
}): Promise<HistoryEntryRow | undefined>;
export type ExpireAtModifier = "+24 hours" | "+60 days" | null;
export declare function createHistoryEntry(siteContext: Pick<SiteContext, "cn">, entry: {
nodeId: string;
language: string;
fieldValues: string;
documentValues: string | null;
changeSummary: string | null;
updatedAt?: Date;
expireAt: ExpireAtModifier;
timeTier: TimeTier;
}): Promise<string>;
export declare function getHistoryEntries(siteContext: Pick<SiteContext, "cn">, options: {
nodeId: string;
language: string;
}): Promise<HistoryEntryRow[]>;
export declare function getHistoryEntry(siteContext: Pick<SiteContext, "cn">, entryId: string): Promise<HistoryEntryRow | undefined>;
export declare function cleanupExpiredHistoryEntries(siteContext: Pick<SiteContext, "cn">): Promise<number>;
export declare function enforceEntryLimit(siteContext: Pick<SiteContext, "cn">, options: {
nodeId: string;
language: string;
maxEntries: number;
}): Promise<number>;
export declare function getLNodeUpdatedAt(siteContext: Pick<SiteContext, "cn">, options: {
nodeId: string;
language: string;
}): Promise<Date | undefined>;