@paroicms/server
Version:
The ParoiCMS server
83 lines (82 loc) • 2.77 kB
TypeScript
import { type ParsedLNodeId } from "@paroicms/public-anywhere-lib";
import type { AppLogger } from "@paroicms/public-server-lib";
import type { SiteContext } from "../site-context/site-context.types.js";
export declare function makeCacheDependencyKey(options: {
documentId: ParsedLNodeId;
perimeter?: "slug";
} | {
documentId: ParsedLNodeId;
relation: "children";
} | {
relation: "labeled";
termNodeId: string;
fieldName: string;
} | {
relation: "updated";
nodeId: string;
} | {
nodeId: string;
} | {
global: "all";
}): string;
export declare function dependencyKeyOfMedia(mediaId: string): string;
export declare function makeCacheKey(logger: AppLogger, options: {
kind: "redirect";
urlKey: string;
}): string;
export declare function makeCacheKey(logger: AppLogger, options: {
kind: "url";
documentId: ParsedLNodeId;
}): string;
export declare function makeCacheKey(logger: AppLogger, options: {
kind: "html";
url: string;
}): string;
export declare function makeCacheKey(logger: AppLogger, options: {
kind: "feed";
url: string;
}): string;
export declare function makeCacheKey(logger: AppLogger, options: {
kind: "api";
url: string;
}): string;
export declare function makePluginCacheKey(logger: AppLogger, options: {
pluginSlug: string;
urlLike: string;
}): string;
export declare function invalidateDocumentInCache(siteContext: Pick<SiteContext, "cn" | "textCache" | "siteSchema">, options: {
parentOf: ParsedLNodeId;
} | {
documentId: ParsedLNodeId;
perimeter?: "slug";
} | {
documentId: ParsedLNodeId;
fully: true;
parentId: ParsedLNodeId | undefined;
}): Promise<void>;
export declare function invalidateNodeInCache(siteContext: Pick<SiteContext, "textCache" | "cn" | "siteSchema">, { nodeId }: {
nodeId: string;
}): Promise<void>;
export declare function invalidateDocumentRelationCache(siteContext: Pick<SiteContext, "textCache">, options: {
documentId: ParsedLNodeId;
relation: "children";
} | {
relation: "labeled";
termNodeId: string;
fieldName: string;
}): Promise<void>;
export declare function depKeysOfNodeRelationCache(siteContext: Pick<SiteContext, "cn" | "siteSchema">, options: {
parentOfNodeId: string;
relation: "children";
}): Promise<string[]>;
export declare function invalidateMultipleDocumentsInCache(siteContext: Pick<SiteContext, "cn" | "textCache" | "siteSchema">, options: {
nodeId: string;
parentIds?: ParsedLNodeId[];
fully?: boolean;
} | {
parentOfNodeId: string;
fully?: boolean;
}): Promise<void>;
export declare function makeDependencyKeysForDocuments(siteContext: Pick<SiteContext, "siteSchema">, nodeId: string, options?: {
fully?: boolean;
}): string[];