@paroicms/server
Version:
The ParoiCMS server
59 lines (58 loc) • 2.01 kB
TypeScript
import type { Tracker } from "@paroicms/internal-server-lib";
import { type ParsedLNodeId } from "@paroicms/public-anywhere-lib";
import type { Knex } from "knex";
import type { SiteContext } from "../../site-context/site-context.types.js";
export interface LNodeWrapSeed {
lNodeId: string;
nodeId: string;
language: string;
ready: boolean;
}
export interface PagedLNodeWrapsSeed {
items: LNodeWrapSeed[];
start: number;
total: number;
}
export interface OrderByItem {
fieldName: string;
direction: "asc" | "desc";
}
export declare function findOneLNode({ cn }: SiteContext, lNodeId: ParsedLNodeId): Promise<LNodeWrapSeed>;
export declare function getLNodeWraps(siteContext: Pick<SiteContext, "cn" | "siteSchema">, { parentId, pagination, orderBy, }: {
parentId: ParsedLNodeId;
pagination?: {
start: number;
limit: number;
};
orderBy?: OrderByItem[];
}): Promise<{
total?: number;
lNodeWraps: LNodeWrapSeed[];
}>;
export interface PaginationOptions {
start: number;
limit: number;
}
export declare function setLNodeReady(siteContext: SiteContext, { lNodeId, ready }: {
lNodeId: ParsedLNodeId;
ready: boolean;
}): Promise<void>;
export interface BreadcrumbItem {
documentId: ParsedLNodeId;
typeName: string;
title?: string;
}
export declare function getBreadcrumb(siteContext: Pick<SiteContext, "cn" | "siteSchema" | "logger">, tracker: Tracker, documentId: ParsedLNodeId, options?: {
ensurePublished?: boolean;
skipHome?: boolean;
skipCurrent?: boolean;
}): Promise<BreadcrumbItem[]>;
export declare function isOrphanNode(cn: Knex, nodeId: string): Promise<boolean>;
export declare function searchDocuments(siteContext: SiteContext, options: {
language: string;
queryString: string;
start: number;
limit: number;
orderBy?: OrderByItem[];
}): Promise<PagedLNodeWrapsSeed>;
export declare function getParentLanguages(siteContext: SiteContext, nodeId: string): Promise<string[]>;