UNPKG

@clickup/ent-framework

Version:

A PostgreSQL graph-database-alike library with microsharding and row-level security

29 lines 1.44 kB
import type { Row, RowWithID, Table } from "../../types"; import type { EntClass } from "../types"; import type { VC } from "../VC"; import type { Predicate } from "./Predicate"; /** * An ent may represent not necessarily a node in the graph, but also an edge * between two nodes. Consider EntMember in the below example: * * vc.principal <--- EntMember[user_id, company_id] ---> EntCompany * * This predicate verifies that for a e.g. given EntCompany row and a given VC, * an EntMember row exists (and optionally matches some criterion) in the * database. * * - entEdgeVCField = user_id in the above example * - entEdgeFKField = company_id in the above example * - if an EntMember object exists, it must also match entEdgeFilter() */ export declare class IncomingEdgeFromVCExists<TEdgeTable extends Table> implements Predicate<RowWithID> { readonly EntEdge: EntClass<TEdgeTable>; readonly entEdgeVCField: keyof Row<TEdgeTable>; readonly entEdgeFKField: keyof Row<TEdgeTable>; readonly entEdgeFilter?: ((ent: Row<TEdgeTable>) => boolean) | undefined; private readonly instanceID; readonly name: string; constructor(EntEdge: EntClass<TEdgeTable>, entEdgeVCField: keyof Row<TEdgeTable>, entEdgeFKField: keyof Row<TEdgeTable>, entEdgeFilter?: ((ent: Row<TEdgeTable>) => boolean) | undefined); check(vc: VC, row: RowWithID): Promise<boolean>; } //# sourceMappingURL=IncomingEdgeFromVCExists.d.ts.map