UNPKG

@aradox/multi-orm

Version:

Type-safe ORM with multi-datasource support, row-level security, and Prisma-like API for PostgreSQL, SQL Server, and HTTP APIs

51 lines 2.13 kB
import { Adapter, AdapterCapabilities, FindManyAdapterArgs, FindUniqueAdapterArgs, CreateAdapterArgs, UpdateAdapterArgs, DeleteAdapterArgs, CountAdapterArgs } from '../types/adapter'; import { Model } from '../types/ir'; export interface PostgresPoolConfig { connectionString: string; max?: number; min?: number; idleTimeoutMillis?: number; connectionTimeoutMillis?: number; } export declare class PostgresAdapter implements Adapter { private pool; private modelMeta; capabilities: AdapterCapabilities; /** * Set model metadata for @map attribute support * Called by the runtime after IR is loaded */ setModelMetadata(models: Record<string, Model>): void; constructor(connectionString: string | PostgresPoolConfig); findMany(model: string, args: FindManyAdapterArgs): Promise<any[]>; findUnique(model: string, args: FindUniqueAdapterArgs): Promise<any | null>; create(model: string, args: CreateAdapterArgs): Promise<any>; update(model: string, args: UpdateAdapterArgs): Promise<any>; delete(model: string, args: DeleteAdapterArgs): Promise<any>; count(model: string, args: CountAdapterArgs): Promise<number>; private buildSelectQuery; private buildWhereClause; private buildOperatorCondition; private buildInsertQuery; private buildUpdateQuery; private buildDeleteQuery; private buildCountQuery; /** * Convert field name to column name, using @map if available * @param field - The field name from the schema * @param modelName - The model name (optional, for @map lookup) * @returns The database column name */ private toColumnName; private toSnakeCase; beginTransaction(options?: import('../types/adapter').TransactionOptions): Promise<import('../types/adapter').Transaction>; close(): Promise<void>; /** * Execute a raw SQL query * @param sql - The SQL query string * @param params - Optional query parameters * @returns Query result rows */ query(sql: string, params?: any[]): Promise<any>; } //# sourceMappingURL=postgres.d.ts.map