@iaminfinity/express-cassandra
Version:
Nest - modern, fast, powerful node.js web framework (@express-cassandra)
33 lines (32 loc) • 2.12 kB
TypeScript
import { BaseModel, FindQuery, FindQueryOptionsStatic, SaveOptionsStatic, UpdateOptionsStatic, DeleteOptionsStatic } from '../interfaces/externals/express-cassandra.interface';
import { Observable } from 'rxjs';
import { types } from 'cassandra-driver';
import { Type } from '@nestjs/common';
import { ReturnQueryBuilder } from './builder/return-query.builder';
export declare class Repository<Entity = any> {
readonly model: BaseModel<Entity>;
readonly target: Type<Entity>;
readonly returnQueryBuilder: ReturnQueryBuilder<Entity>;
create(entity?: Partial<Entity>): Entity;
create(entityLikeArray: Partial<Entity>[]): Entity[];
findOne(query: FindQuery<Entity>, options?: FindQueryOptionsStatic<Entity>): Observable<Entity>;
findOneOrFail(query: FindQuery<Entity>, options?: FindQueryOptionsStatic<Entity>): Observable<Entity>;
find(query: FindQuery<Entity>, options?: FindQueryOptionsStatic<Entity>): Observable<Entity[]>;
findAndCount(query: FindQuery<Entity>, options?: FindQueryOptionsStatic<Entity>): Observable<[Entity[], number]>;
save(entity: Partial<Entity>, options?: SaveOptionsStatic): Observable<Entity>;
save(entities: Partial<Entity>[], options?: SaveOptionsStatic): Observable<Entity[]>;
update(query: FindQuery<Entity>, updateValue: Partial<Entity>, options?: UpdateOptionsStatic<Entity>): Observable<any>;
remove(entity: Entity, options?: DeleteOptionsStatic): Observable<Entity>;
remove(entity: Entity[], options?: DeleteOptionsStatic): Observable<Entity[]>;
delete(query: FindQuery<Entity>, options?: DeleteOptionsStatic): Observable<any>;
truncate(): Observable<any>;
stream(query: FindQuery<Entity>, options?: FindQueryOptionsStatic<Entity>): Observable<Entity>;
eachRow(query: FindQuery<Entity>, options?: FindQueryOptionsStatic<Entity>): EachRowArgument;
readonly getModelRef: BaseModel<Entity>;
getReturnQueryBuilder(): ReturnQueryBuilder<Entity>;
doBatch(queries: any): Promise<any>;
}
export interface EachRowArgument {
getReader<T = any>(): Observable<T>;
getDone(): Observable<types.ResultSet>;
}