UNPKG

@kwikpik/server-libs

Version:

Kwikpik-Server-Libs ===================================================================================================================================================================================================

133 lines (132 loc) 3.75 kB
import { DataSource, type MixedList, type EntityTarget, type FindOptionsWhere, type FindOptionsOrder, type FindOptionsRelations, type EntitySchema, } from "typeorm"; import { ExcludeFuctionsMapper, OptionalKeysMapper } from "../utils/mappers"; export interface LocalDataSourceOpts { /** * Port number. Defaults to 5432. */ port?: number; /** * Host name for the DB. */ host?: string; /** * Username to connect with. */ username?: string; /** * Password to connect with. */ password?: string; /** * Full database connection url. */ databaseUrl?: string; /** * Migrations to run. */ migrations?: MixedList<string | Function>; /** * Whether to log SQL queries. */ log?: boolean; /** * Database name. */ databaseName?: string; /** * Typeorm subscribers */ subscribers?: MixedList<string | Function>; /** * Typeorm entities */ entities?: MixedList<string | Function | EntitySchema<any>>; /** * Whether to use localhost instead of Docker environment */ shouldUseLocalhost?: boolean; /** * Docker service name if localhost is disabled */ serviceName?: string; /** * Use ssl */ ssl?: any; /** * SSL mode */ sslmode?: string; } declare class LocalDataSource { DS: DataSource; constructor(opts?: LocalDataSourceOpts); static constructDataSource(): LocalDataSource; /** * * @param silenceInfoLogs Don't log connection info. */ connect(silenceInfoLogs?: boolean): void; /** * * @param silenceInfoLogs Don't log connection info. */ disconnect(silenceInfoLogs?: boolean): void; isConnected(): boolean; insertEntity<T>(target: EntityTarget<T>, values: T): Promise<T>; insertManyEntities<T>(target: EntityTarget<T>, values: T[]): Promise<T[]>; querySingleEntity<T>( target: EntityTarget<T>, where: FindOptionsWhere<T> | FindOptionsWhere<T>[], relations?: FindOptionsRelations<T> ): Promise<T>; queryManyEntities<T>( target: EntityTarget<T>, where?: FindOptionsWhere<T> | FindOptionsWhere<T>[], order?: FindOptionsOrder<T>, relations?: FindOptionsRelations<T>, skip?: number, take?: number ): Promise<T[]>; updateEntity<T>( target: EntityTarget<T>, values: ExcludeFuctionsMapper<OptionalKeysMapper<T>> ): Promise<ExcludeFuctionsMapper<OptionalKeysMapper<T>> & T>; deleteEntity<T>(target: EntityTarget<T>, where: FindOptionsWhere<T>): Promise<import("typeorm").DeleteResult>; entityExists<T>(target: EntityTarget<T>, where: FindOptionsWhere<T>): Promise<boolean>; countEntities<T>(target: EntityTarget<T>, where?: FindOptionsWhere<T>): Promise<number>; } /** * Construct datasource object with default options. * */ export declare const initializeDSWithDefaultOptions: () => LocalDataSource; /** * Construct datasource object. * @param opts Initialization options. {@link LocalDataSourceOpts | See implementation} */ export declare const initializeDS: (opts?: LocalDataSourceOpts) => LocalDataSource; /** * Construct datasource object with default options, and connect immediately. * @param silenceInfoLogs Don't log connection info. * @returns */ export declare const initializeConnectedDSWithDefaultOptions: (silenceInfoLogs?: boolean) => LocalDataSource; /** * Construct datasource object, and connect immediately. * @param opts Initialization options. {@link LocalDataSourceOpts | See implementation}. * @param silenceInfoLogs Don't log connection info. * @returns */ export declare const initializeConnectedDS: (opts?: LocalDataSourceOpts, silenceInfoLogs?: boolean) => LocalDataSource; export type LocalDataSourceType = LocalDataSource; export {}; //# sourceMappingURL=database.d.ts.map