@kwikpik/server-libs
Version:
Kwikpik-Server-Libs ===================================================================================================================================================================================================
60 lines (59 loc) • 2.22 kB
TypeScript
import {
type FindOptionsWhere,
type ObjectLiteral,
type FindOptionsRelations,
type FindOptionsOrder,
type DeleteResult,
EntityTarget,
} from "typeorm";
import { LocalDataSourceType } from "./database";
import { OptionalKeysMapper } from "../utils/mappers";
export interface OperationResponse<T> {
responseType: "success" | "failure";
data?: T;
error?: any;
}
declare class LocalDataSourceAccessor<T extends ObjectLiteral> {
target?: EntityTarget<T>;
DS?: LocalDataSourceType;
constructor(DS: LocalDataSourceType, trgt: EntityTarget<T>);
static constructMainDefault<S extends ObjectLiteral>(trgt: EntityTarget<S>): LocalDataSourceAccessor<S>;
private checkTargetAndDataSource;
insertEntity(value: T): Promise<OperationResponse<T & ObjectLiteral>>;
insertManyEntities(value: T[]): Promise<OperationResponse<(T & ObjectLiteral)[]>>;
readEntity(
where: FindOptionsWhere<T> | FindOptionsWhere<T>[],
relations?: FindOptionsRelations<T>
): Promise<OperationResponse<T | null>>;
readManyEntities(
where?: FindOptionsWhere<T> | FindOptionsWhere<T>[],
order?: FindOptionsOrder<T>,
relations?: FindOptionsRelations<T>,
skip?: number,
take?: number
): Promise<OperationResponse<T[]>>;
updateEntity(values: OptionalKeysMapper<T>): Promise<OperationResponse<OptionalKeysMapper<T> & ObjectLiteral>>;
deleteEntity(where: FindOptionsWhere<T>): Promise<OperationResponse<DeleteResult>>;
entityExists(where: FindOptionsWhere<T>): Promise<OperationResponse<boolean>>;
countEntities(where?: FindOptionsWhere<T>): Promise<OperationResponse<number>>;
}
/**
* Initialize datasource accessor
* @param DS The datasource.
* @param target Target entity.
* @returns
*/
export declare const initializeDataSourceAccessor: <T extends ObjectLiteral>(
DS: LocalDataSourceType,
target: EntityTarget<T>
) => LocalDataSourceAccessor<T>;
/**
* Initialize main datasource accessor using datasource with default options.
* @param target Target entity.
* @returns
*/
export declare const initializeDataSourceAccessorDefault: <T extends ObjectLiteral>(
target: EntityTarget<T>
) => LocalDataSourceAccessor<T>;
export {};
//# sourceMappingURL=datasource-accessors.d.ts.map